Firebase多种登录方法,但只有一个用户配置文件

Oo目前,我正在尝试检查并查看是否有可能在我的android项目下使用firebase身份验证来创建单个用户个人资料帐户,但这是一个技巧,它应该允许我让我的用户使用任一电子邮件登录,从Facebook,google,GitHub等中选择,但经过身份验证后,用户仍处于1个帐户资料下,并且没有单独或不同的资料作为示例。

sample email from the user :
1. user_gorilla@gmail.com
2. user_apple@yahoo.com
3. hotstuff@hotmail.com
4. this_is_not_a_joke@gmail.com

所有登录名和电子邮件仅来自1个用户,我希望他们只有1个个人资料,但允许他们使用多封电子邮件登录。

firebase中当前是否有一个应用内功能可以执行此操作?还是我必须自己做才能做到?因为我目前正在考虑按照以下方式做些事情。

User_profile <- collection name
UID:UID <- this should be the unique document ID 
Fullname:
Emails: <-- separate set of collections where the emails for the specific user is stored.

因此,当用户创建并注册后,情况就是这样,管理员仍然需要验证“是否”已经在user_profile集合内创建了该用户,否则,管理员将需要创建user_profile,然后为用户提供其唯一的ID /密钥。

每次用户创建新的登录凭据/身份验证登录名时,他们需要将其注册到admin中,以便配置文件的UI会针对用户新创建的身份验证显示,但仍会反映旧的配置文件用户,只是配置文件每次都会更新,因此需要管理员添加。

这会解决吗?还是firebase已经具有这种功能?

cbq676869 回答:Firebase多种登录方法,但只有一个用户配置文件

  

所以目前我正在尝试检查并查看是否有可能在我的android项目下使用firebase身份验证来做一个用户个人资料帐户

根据有关Link Multiple Auth Providers to an Account on Android的官方文档:

  

通过将身份验证提供程序凭据链接到现有用户帐户,可以允许用户使用多个身份验证提供程序登录您的应用程序。可以使用相同的Firebase用户ID来识别用户,而无需考虑他们用来登录的身份验证提供程序。

因此使用此功能的关键是具有相同的Firebase用户ID。

  

这是它的关键,它应该允许我让用户使用email,facebook,google,github等登录。

当前,允许的登录方法为:

  • 电子邮件/密码
  • 电话
  • Google
  • 玩游戏
  • 游戏中心(测试版)
  • Facebook
  • Twitter
  • GitHub
  • 雅虎
  • 微软

甚至是Anonymous身份验证。

  

根据他们的选择,但经过身份验证后,用户仍处于1个帐户资料下,并且没有单独的帐户或不同的资料

例如,使用密码登录的用户可以链接Google帐户,以后再使用这两种方法登录。

不能做的是让用户喜欢:

  1. user_gorilla@gmail.com
  2. user_apple@yahoo.com
  3. hotstuff@hotmail.com
  4. this_is_not_a_joke@gmail.com

使用不同的Firebase用户ID并将其链接在一起。即使他们是相同的用户,而没有相同的Firebase用户ID,也无济于事。

  

firebase中目前有一个应用程序内功能可以做到这一点吗?

不,没有。如果要将所有这些用户都放在一个帐户下,则应创建自己的机制。

  

还是我必须自己做?

是的,您需要为此编写代码。您应该匹配这些帐户,并以某种方式将其转换为一个帐户。

  

或者firebase已经具有这种功能了?

不,不是。您唯一可行的选择是使用身份验证提供程序凭据将其多个帐户链接到单个用户帐户。

本文链接:https://www.f2er.com/3130054.html

大家都在问