【问题标题】:Firebase how to handle linkWithCredential "ERROR_CREDENTIAL_ALREADY_IN_USE" in androidFirebase如何在android中处理linkWithCredential“ERROR_CREDENTIAL_ALREADY_IN_USE”
【发布时间】:2016-10-01 19:24:57
【问题描述】:

好的,这是我得到的错误:

1- 当应用以 phone1 启动时,用户匿名登录。 Uid:ABC (link1)

2- phone1 用户决定使用 Google Sign-In 登录。用户已经有一个 Uid:ABC,因此用户从匿名帐户转换为具有 google 登录的永久帐户。 (link2)

3- 使用 phone2,应用程序首次启动并匿名登录。 uid:ZYX (link1)

4- 使用phone2,用户想用相同的谷歌帐户登录。所以此时使用 linkWithCredential 会导致“ERROR_CREDENTIAL_ALREADY_IN_USE”。 (link2)

那么这个问题的正确解决方案是什么?

【问题讨论】:

    标签: android firebase firebase-authentication


    【解决方案1】:

    您正在尝试链接 具有相同身份验证凭据的两个 UID 即具有相同的 google 帐户。这本身就是主要的安全漏洞,并且在生产应用程序中永远不应该这样做。

    根据 firebase 官方文档

    ERROR_CREDENTIAL_ALREADY_IN_USE 在尝试将用户链接时 AuthCredential 对应于另一个帐户已在使用中

    您应该尝试简单地登录 - 登录,它会起作用。您的当前操作相当于注册。

    请参阅these 文档以了解正确的 google 登录实施。为了使您的上述程序起作用。 您首先必须删除以前的用户,以便链接到 gmail 帐户的旧 UID 被删除

    如果此信息对您有帮助,请告诉我。

    【讨论】:

    • 感谢您的回复。我刚刚尝试像您上面写的信息一样简单地登录。有用! :)
    • @MiloRambaldi 很高兴它做到了。祝你好运:)
    猜你喜欢
    • 1970-01-01
    • 2019-11-16
    • 1970-01-01
    • 2019-12-20
    • 1970-01-01
    • 1970-01-01
    • 2014-02-07
    • 2011-10-01
    • 1970-01-01
    相关资源
    最近更新 更多