【发布时间】:2019-11-21 19:01:03
【问题描述】:
在我的应用程序中,我使用 Firebase 进行身份验证。
首先用户通过手机认证,我需要验证一下,然后在你想要的时候,你可以用google登录,在app上有更好的体验...
两者的登录都使它完美,我对此没有任何问题,更重要的是,您卸载应用程序,重新安装它,就好像什么都没发生一样。
但是我遇到的问题是当用户更改他的电话号码并重新进入应用程序(例如:卸载并重新安装)时注册了他的号码,然后如果您想使用您的谷歌帐户,我会收到此错误:
SIGN_IN
com.google.firebase.auth.FirebaseAuthUserCollisionException: This credential is already associated with a different user account.
重新认证
com.google.firebase.auth.FirebaseAuthInvalidCredentialsException: The supplied credentials do not correspond to the previously signed in user.
我可以这样做,以便用户可以在另一部手机上重复使用他的谷歌帐户,直到现在我来删除旧用户,但这并不好。
或者我还有什么其他选择?
PS:如果他们说通过邮件激活多个帐户,它不起作用......
【问题讨论】:
-
请记住我自己必须了解的一件事:“重新验证”,尽管有这个名字,但绝不是这种情况的答案。仅针对这种情况:您有一个经过正确身份验证的用户,需要执行一些需要最近身份验证的操作(更改邮件、密码或删除帐户)但用户创建或身份验证太旧.因此,您获得当前经过身份验证的用户并“重新验证”以允许这些操作。 reauthenticate 没什么用。
标签: android firebase authentication firebase-authentication