每个提供商的 firebase 用户 ID 是唯一的(facebook、twitter、密码)
Posted
技术标签:
【中文标题】每个提供商的 firebase 用户 ID 是唯一的(facebook、twitter、密码)【英文标题】:is firebase user id unique per provider (facebook, twitter, password) 【发布时间】:2013-07-16 21:56:03 【问题描述】:如果在 firebase 中允许多个身份验证提供程序(twitter、facebook、密码),最好以这种方式存储用户:
/users/[auth.id]_[auth.provider]/...
根据提供者的不同,auth.id 中似乎可能存在重叠。
大多数示例的安全文件只检查 auth.id。我试图避免创建自己的用户 ID 的复杂性。
想法?
【问题讨论】:
【参考方案1】:是的,如果您通过简单登录使用多个身份验证提供程序,建议您使用提供程序作为前缀或后缀。 auth.id
只保证在同一个提供者中是唯一的。
Firebase 现在在 auth 对象上提供了一个 uid
参数,该参数保证在提供者之间是唯一的。例如,请参阅任何简单登录提供程序的“验证后”,例如 email/password
【讨论】:
如果 Firebase 可以为用户对象提供firebaseID
那就太好了。找出用户选择了哪个提供者,将其附加到新的 id 属性等方面的工作要少得多。
auth.id 是否被完全删除?我认为,如果没有提供者,id 仍然有用。 firebase.com/docs/security/api/rule/auth.html以上是关于每个提供商的 firebase 用户 ID 是唯一的(facebook、twitter、密码)的主要内容,如果未能解决你的问题,请参考以下文章
如何将用户名列表中的唯一用户名提供给firebase中的用户