2016-08-04 80 views
4

我的问题是Firebase如何生成Uid?它是通过手机上的应用程序安装生成的,还是基于登录提供程序通过电子邮件,Facebook,Google或Firebase提供的其他应用程序生成的?Firebase如何生成Uid?

+1

“uid”是Firebase服务器端系统生成的随机ID。一旦账户被创建,那个'uid'不会改变。当你删除一个账户时,'uid'也被删除。 uid是你如何识别你的各种用户。通常情况下,开发人员在存储'uid'的根目录下有'users'节点。 –

+0

我认为@RonRoyston上面的评论是最完整的答案和我想知道的!谢谢! –

回答

2

Firebase用户ID(通常称为uid)是用户帐户的不透明标识符。它与帐户的底层身份提供商没有关系,应该被视为不透明的值。

+0

当用户注销应用程序并输入另一个帐户时,Firebase是否检测到注销并更改了uid,或者是否最好不将uid映射到电子邮件进行身份验证? – Andrea

+0

如果用户注销,则Firebase客户端会擦除该令牌。所以它有效地忘记了用户的一切。您似乎有一个非常具体的行为,所以我强烈建议您尝试一下,并将您的方法基于您的发现。 –

1

UUID是基于时间戳和一些熵自动生成的。 UUID可以根据创建时间进行排序,这有助于维护Firebase中的索引。

UUID不是一些散列,例如电子邮件地址或Facebook标识或其他。通过去除uid本身的所有含义,它不依赖于任何基础属性,这些属性可以自由更改。

如果您想使用自定义UID,您需要保持一致。建议不要将某些用户标识创建和登录属性紧密结合在一起,因为属性可能会更改,并且用户标识不一致。

+0

我认为OP在询问Firebase UID,这是Firebase身份验证用于识别用户的关键。 –

+0

firebase中的UID也是UUID。 –

+0

UID现在确实是UUID。但是你所描述的不是UUID。基于时间戳+随机数据的东西被称为[推式ID](https://firebase.googleblog.com/2015/02/the-2120-ways-to-ensure-unique_68.html)(因为它们是通过调用'推()')。 –