Firebase Uid的人类可读等价物

Firebase Uid的人类可读等价物,firebase,google-cloud-firestore,firebase-authentication,Firebase,Google Cloud Firestore,Firebase Authentication,在我的应用程序中,用户应该能够相互连接。因此,为了相互识别,它们应该具有一些人类可读的属性,可以很容易地共享。我想知道是否有任何方法,我可以有一个人类可读的“用户名”类似于Uid 我最初计划在数据库中保存用户的电子邮件id,但由于它可能会更改,因此不建议使用这种方法。此外,如果用户使用其电话号码登录,此方法将失败 那么,有没有内置的Firebase机制来解决这个问题?这里的最佳实践/设计模式是什么?在Firebase world中,当涉及到“相互识别”或“共享”时,最常用的方法是什么?这与我的答

在我的应用程序中,用户应该能够相互连接。因此,为了相互识别,它们应该具有一些人类可读的属性,可以很容易地共享。我想知道是否有任何方法,我可以有一个人类可读的“用户名”类似于
Uid

我最初计划在数据库中保存用户的电子邮件id,但由于它可能会更改,因此不建议使用这种方法。此外,如果用户使用其电话号码登录,此方法将失败

那么,有没有内置的Firebase机制来解决这个问题?这里的最佳实践/设计模式是什么?在Firebase world中,当涉及到“相互识别”或“共享”时,最常用的方法是什么?

这与我的答案类似。
关于这一点,您需要在firebase实时数据库中保留一个单独的节点。 因此,如果您的用户试图连接任何其他用户名
user123
,则需要在数据库中找到节点
user123
,并读取其中存储的UID,然后继续执行进一步的操作

或者,为了使其不那么冗长,您可以使用
用户名
而不是UID,因此应用程序中没有UID的问题,但您需要注意没有相同的用户名,并且可能会增加复杂性


我更喜欢第一种方法。如果您需要更多帮助,请务必告诉我。

“在firebase实时数据库中保留一个单独的节点”->这也可以保存在Cloud Firestore中(因为OP已经在使用该节点)。@Frankvanpoffelen但如果使用范围更广,firebase实时数据库将可以负担得起,而不是Firestore的读/写计数。顺便问一下,谁是OP?OP=>原创海报@FrankvanPuffelen OK XD,尽管我一直在使用实时数据库。许多应用程序需要这样的唯一用户名。这并没有内置到Firebase身份验证中,但您可以轻松地在此基础上构建它。请参阅或查看这些结果中的许多类似问题:。当这些答案涉及实时数据库时,您可以将相同的逻辑应用于Firestore。