Flutter firebase auth 出现错误“提供商已链接到用户”

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

我已经使用

google and twitter
实现了 firebase 身份验证。现在,当我第一次使用我的电子邮件 ID 登录 Twitter 时 - [电子邮件受保护] 然后登录成功,我可以在 Firebase 身份验证中看到我的电子邮件和 Twitter 图标。

现在,当我使用相同的电子邮件 ID 登录 Google 时 - [电子邮件受保护] 然后它会在 Firebase 身份验证中替换为 google 图标。

现在,当我尝试使用相同的电子邮件 ID 使用 Twitter 再次登录时 - [电子邮件受保护] 然后它会抛出错误 提供商已链接到用户。

我已在设置中启用了

"Link accounts that use the same email"
选项。

我正在关注他们的官方doc

如何允许用户使用相同的电子邮件 ID 登录不同的提供商?

flutter firebase firebase-authentication
1个回答
0
投票

我的猜测是,您所说的

[email protected]
,实际上是在使用
<something>@gmail.com
或由 Google/gmail 托管的类似域。

Firebase 身份验证具有某些电子邮件域的首选提供商的概念,而 Google 身份验证是

@gmail.com
地址的首选提供商。这就解释了为什么使用 Google 登录会取代您之前使用的 Twitter 登录:Google 身份验证提供商实际上可以在内部证明它拥有/托管该电子邮件地址,而 Twitter 则不能。

如果您想使用多个提供商登录同一帐户,您应该将这些帐户链接在一起,这是一个单独的流程。只需选中“链接使用同一电子邮件的帐户”选项,Firebase 控制台不会自动为您执行此操作。

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