使用具有相同提供商的Firebase的社交登录会给出“一个帐户已经存在,并且具有相同的电子邮件地址”

问题描述 投票:1回答:1

我使用firebase SDK实现了社交登录,并尝试使用我的facebook帐户登录,但出现此错误

已经存在一个具有相同电子邮件地址但登录凭据不同的帐户。使用与此电子邮件地址关联的提供商登录]

注意我的应用程序中只有Facebook和Twitter登录,而我的Facebook电子邮件没有Twitter当我在Firebase控制台上查看用户时,我已经有使用Facebook(同一提供商)注册的电子邮件的用户

同一提供者如何生成不同的凭据?

firebase firebase-authentication facebook-login
1个回答
0
投票

当用户已经使用其他提供商使用相同电子邮件登录时,会出现此错误。例如。用户使用[email protected]使用Twitter进行注册,然后使用[email protected]使用Facebook进行登录。

由于在项目设置中启用了每个电子邮件一个帐户,因此在这种情况下,恢复的唯一方法是先与第一个提供程序(在上面的示例中为Twitter)登录,然后向现有Twitter帐户登录linkWithCredential Facebook凭据。 。这样,用户将来可以在任一提供商处登录同一帐户。

Firebase Auth出于安全原因执行此操作。他们想验证这是同一用户登录,并且不希望在不验证用户对两个帐户的所有权的情况下自动链接。

© www.soinside.com 2019 - 2024. All rights reserved.