Firebase如何处理linkWithCredential" ERROR_CREDENTIAL_ALREADY_IN_USE"在android

时间:2016-10-01 19:24:58

标签: android firebase firebase-authentication

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

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

2- phone1用户决定使用Google登录登录。用户已经拥有Uid:ABC,因此用户可以从匿名帐户转换为具有Google登录功能的永久帐户。 (link2

3-使用phone2,该应用程序首次启动并以匿名方式登录。 Uid:ZYX(link1

4-使用phone2,用户想要使用相同的Google帐户登录。所以此时使用linkWithCredential cause" ERROR_CREDENTIAL_ALREADY_IN_USE"。 (link2

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

1 个答案:

答案 0 :(得分:6)

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

根据firebase官方文档

  尝试链接用户时,

ERROR_CREDENTIAL_ALREADY_IN_USE   AuthCredential对应于另一个帐户已在使用中

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

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

如果此信息可以帮助您,请告诉我。