将多个身份验证提供商链接到Android帐户 - Firebase

时间:2016-12-01 02:33:40

标签: android firebase firebase-authentication

我正在查看以下文档:https://firebase.google.com/docs/auth/android/account-linking

第2步说不要经过FirebaseAuth.signInWith,因为我在第4步的mAuth.getCurrentUser()中得到了NullPointerException,因为没有登录的用户。

当我从应用程序注销时,我使用FirebaseAuth.getInstance()。signOut();

我的问题是:在用户从首先使用的auth方法注销后,是否可以链接2个身份验证提供程序(在我的应用程序中使用Google和电子邮件/密码)。如果我没有执行FirebaseAuth.getInstance()。signOut(),则在注销应用程序时将检测用户并在下次启动时直接进入。这意味着它永远不会选择其他提供商。

我正在寻找的逻辑:

  1. 注册并使用电子邮件/通行证组合登录。
  2. 注销。
  3. 使用Google登录(与步骤1中相同的电子邮件关联的帐户)
  4. 不是在Firebase控制台中使用不同的UID创建新帐户,而是将其链接到现有帐户。
  5. 反过来说:

    1. 使用Google帐户登录(创建新的Firebase控制台帐户)
    2. 注销。
    3. 注册电子邮件/密码并登录。
    4. 不是在Firebase控制台中使用不同的UID创建新帐户,而是将其链接到现有帐户。
    5. 到目前为止,我一直在使用电子邮件而不是UID,并在创建新的Firebase帐户之前检查数据库是否存在电子邮件。现在,我想切换到使用UID更有效地实施安全规则。

0 个答案:

没有答案