如何在verifyPhoneNumber中使用linkWithCredential?

时间:2019-03-03 02:59:49

标签: android firebase flutter firebase-authentication

  1. 我使用电子邮件和密码创建Firebase Auth用户
  2. 用户登录
  3. 用户决定将电话号码添加到他们的个人资料
  4. 我打电话给verifyPhoneNumber是为了接收代码,打电话给PhoneAuthProvider.getCredential(...),并将生成的AuthCredential链接到电子邮件和密码。
  5. 相反,Android自动检索代码,用户自动使用电话号码登录,其UID更改(这是新用户),并且无法将电话凭证链接回原始电子邮件/密码用户。要执行成功的链接,我需要查看SMS代码,如果成功登录,则无法找到该代码。
  6. ????
  7. 没有利润。

有什么想法吗?我试图将verifyPhoneNumber的超时设置为0,但自动登录仍然有效。接受失败并仅将EmailAndPassword凭据链接到电话号码而不是相反的做法是不可行的,因为这将需要将大量数据从旧用户记录复制到新用户记录,并在所有地方更改对该UID的所有引用,等等。< / p>

1 个答案:

答案 0 :(得分:1)

verifyPhoneNumberPhoneAuthCredential解析。

代码是自动检索还是进行即时验证都没有关系。 PhoneAuthCredential完成时输出verifyPhoneNumber

该凭据可以用于signInWithCredential进行登录,也可以通过linkWithCredential链接到现有用户。