有关Firebase身份验证标识符(Android)的问题

时间:2019-12-13 02:13:07

标签: android firebase-authentication

我是新手Android开发人员。我正在对我的APP进行身份验证。在Firebase身份验证下,我有三个问题。

  1. 给出具有Firebase UID的注册用户,是否可以在不更改Firebase框架下的UID的情况下从一个标识符更改为另一个标识符?例如,从电话#+852 23334444到+852 56648999,或者从电话#+852 23334444到电子邮件abc@gmail.com。

  2. 给出具有Firebase UID且电话号码为+852 23334444作为标识符的注册用户,我可以在Firebase框架下将另一个电话号码+852 56648999分配给同一UID吗?

  3. 对于以两个手机号作为标识符的两个Firebase UID,我可以在Firebase框架下对这两个UID进行分组,以便两个UID在实时数据库中看到相同的数据集吗?

如果您可以指导我一些文档/ github示例以供我进一步研究,那就太好了。非常感谢。

1 个答案:

答案 0 :(得分:1)

您可以链接多个提供商。在这里firebase.google.com/docs/auth/android/account-linking

  
      
  1. 考虑到具有Firebase UID的注册用户,是否可以在不更改Firebase框架下的UID的情况下从一个标识符更改为另一个标识符?例如,从电话#+852 23334444到+852 56648999,或者从电话#+852 23334444到电子邮件abc@gmail.com。
  2.   

登录用户后,您可以根据需要链接其他身份验证提供程序。

流量:

  • 使用+852 23334444登录

  • 更改电话号码并完成流程,然后首先取消链接旧提供者(a),然后链接新提供者(b)

  
      
  1. 给具有Firebase UID并以电话号码+852 23334444作为标识符的注册用户,我可以在Firebase框架下将另一个电话号码+852 56648999分配给同一UID吗?
  2.   

您可以按照上面的第1步进行操作,但无需取消旧提供商的链接(步骤a)

  
      
  1. 对于以两个手机号作为标识符的两个Firebase UID,我可以在Firebase框架下对这两个UID进行分组,以便两个UID在实时数据库中看到相同的数据集吗?
  2.   

您无法对2个UID进行分组。但是您可以设计您的实时数据库来查找以更正所需的数据

假设用户A具有UID: 123 ,用户B具有 456 。您需要将这些UID映射到存储数据的唯一ID

userMapping: {
    123: {
        userId: abc
    },
    456: {
        userId: abc
    }
}

users: {
    abc: {
        name: 'User A',
        ...
    }
}