首页 文章

如何为用户指定Firebase UID?

提问于
浏览
0

我想知道是否有人设法指定通常在您创建帐户时自动为您生成的Firebase用户UID . 我想这样做的原因是,在我的应用程序中,我们正在与医生和患者打交道 . 医生可以为患者创建一个帐户,他们可以“声称”将其转变为标准的firebase用户,或者他们可以将其保留为无人认领 . 无论哪种方式,这个患者帐户可以与其他医生共享,以便医生可以阅读咨询说明等 .

医生必须是auth'd firebase用户,因此有一个firebase生成UID作为他们在 users 节点中的密钥 . 未申请帐户的患者居住在 unclaimedUsers 节点 . 用户和无人认领用户之间的唯一区别是患者主键将是他们的电子邮件地址,而用户主键将是他们创建帐户时生成的火力库UID .

我希望通过他们的电子邮件地址将它们存储在'unclaimed users'节点中,我希望使用UID存储无人认领的用户,然后我可以告诉firebase在我为它们创建帐户时使用它们并将其用户对象从 unclaimedUsers 移动到 users 节点 .

这样,当一个帐户被声明时,不需要在整个数据结构中进行任何更新,因为在声明帐户之前,它仍然可以被共享,并且具有混合的UID和电子邮件地址'不是清洁 .

我已经查看了用于firebase的REST和iOS SDK,并且似乎没有办法设置帐户将被分配的UID - 使用标准的电子邮件/密码验证功能和社交功能 . 我还没有尝试过的唯一方法是滚动我自己的自定义身份验证,因为如果我这样做的话,我会失去firebase的许多好处 .

我正在使用的结构是附加的 - 其中顶部对象名为 user ,这将是一个UID,所以像 DdxfJdkR0JX1fpXcV07eotxn3M33 - 其中第二个对象说 unclaimed ,这将是某人的电子邮件地址 .

"user": { "address": "1 infinity loop", "country": "AU", "displayPicture": "https://static.pexels.com/photos/7720/night-animal-dog-pet.jpg", "dob": "13/09/1991", "email": "some@guy2.com", "firstName": "henry", "lastName": "hardy", "mobileNumber": "0400000000", "postcode": "Z4351", "pushNotifications": true }, "unclaimed": { "address": "1 infinity loop", "country": "AU", "displayPicture": "https://static.pexels.com/photos/7720/night-animal-dog-pet.jpg", "dob": "13/09/1991", "email": "some@guy.com.au", "firstName": "henry", "lastName": "hardy", "mobileNumber": "0400000000", "postcode": "Z4351", "pushNotifications": true }

1 回答

  • 0

    尝试将Firebase endpoints 保存到您的数据库中,并确保在从firebase API检索 endpoints 时为更改 endpoints 创建一些api . 因为 endpoints ID有时会过期

    如果您想要注意特定用户,可以通过他们的电子邮件查询或获取其终端订阅ID .

相关问题