实时引用身份验证db数据db firebase

时间:2017-08-20 19:16:04

标签: firebase firebase-realtime-database firebase-authentication

我正在使用firebase创建一个具有登录和注册功能的网站。我使用过firebase"身份验证"用于存储注册用户的数据库。但是,"身份验证"数据库不存储除emailid,密码和自动生成的UUID之外的任何内容。

我需要为用户存储更多数据,如用户名,个人资料照片等。我会使用firebase""实时"同样的数据库。

我的问题是做同样的事情的最佳做法是什么。我应该使用UID作为"身份验证"的主键。数据库并将其作为外键保存在我的实时数据库中,如下所示:

身份验证db:

Record 1 - Email:abc@test.com; password:somepassword; UID:UID1
Record 2 - Email:abcd@test.com; password:somepassword; UID:UID2

RealTime数据库结构:

users
|
|--UID1
   |
   |---Name:Amanda
   |---Surname:Waller
   |---age:30
|--UID2
   |
   |---Name:MyName
   |---Surname:Mysurname
   |---age:39

或者最好将电子邮件ID用作主键,而不是使用firebase自动生成的UID。因为在sql中我们通常不使用自动生成的id作为主键。

1 个答案:

答案 0 :(得分:1)

最好使用UID。首先,您不能在密钥中使用句点,因此如果您使用电子邮件作为密钥,则必须通过将其替换为其他字符来处理它。此外,某些形式的身份验证不需要电子邮件,如Twitter。由于您可以在用户通过身份验证后轻松获取UID,这就是我的建议。