【发布时间】:2019-06-07 22:59:00
【问题描述】:
所以我正在使用 Firestore 和 Nuxt 开发一个 Web 应用程序,在我进行身份验证的同时,我想确保我遵循最佳实践。
使用 Firebase 身份验证只会给我一个标识符(在这种情况下是电子邮件)和一个 UID。然后我创建了一个用户集合来存储其他数据,例如:
{
"UID": "6TIupYLKlcOE97b5Fe63uinf6Ik1",
"app_metadata": {
"role": "admin",
"status": "approved"
},
"firstName": "Jon",
"lastName": "Doe"
}
目前我在用户通过身份验证后正在执行以下操作以获取用户的角色:
// Getting user details
db.collection('users')
.where('UID', '==', user.uid)
.limit(1)
.get()
.then((snapshot) => {
snapshot.forEach(doc => {
console.log(doc.id, '=>', doc.data().app_metadata.role)
dispatch('setROLE', doc.data().app_metadata.role)
})
})
.catch((err) => {
console.log('Error getting documents', err);
})
有没有更好的方法来处理存储额外的用户数据并将其与 Firebase 身份验证绑定在一起?
【问题讨论】:
-
你可以看看savvyapps.com/blog/…
标签: firebase vue.js firebase-authentication nuxt.js