繁体   English   中英

Firebase 与多个提供者的身份验证

[英]Firebase authentication with multple providers

我正在尝试创建一个用户身份验证屏幕,所以我决定使用 Firebase。

但是,我面临一个问题。 现在我启用了 2 个提供程序,它们是:

1- E-mail/Password
2- Google

启用的提供者

我可以完美地创建用户。

当我使用E-mail/password选项创建用户并使用 Gmail 地址guilherme.nunes@fover.com.br时, Firebase 会正常创建用户。

使用 email 后,我尝试使用Google提供商的第二个选项,使用相同的 email。 现在老用户被替换为 Firebase 中的新提供者。

已创建帐户

在此之后,如果我再次尝试使用第一个选项(电子邮件/密码)登录,则表示该用户不存在。

我尝试禁用每个帐户拥有 1 个用户的选项,但随后 Firebase 创建了 2 个不同的用户。

我想要的是与多个提供商链接 1 个帐户。

有人能帮助我吗?

当您启用选项以仅允许每个 email 地址的单个帐户时,Firebase 具有某些提供程序,这些提供程序是某些 email 域的首选。 最值得注意的是:Google 提供商是@gmail.com地址的首选提供商。

因此,在您的初始过程中,您:

  1. 使用电子邮件+密码帐户注册用户something@gmail.com
  2. 使用 Google 帐户注册用户something@gmail.com

在这种情况下,第二次注册会替换/覆盖初始帐户。


您要做的是链接两个帐户/提供者,如帐户链接文档中所述。 使用这种方法,您无需在步骤 2 中完全注册帐户,而是将第二个帐户的凭据链接到已为用户创建的电子邮件+密码帐户。

该文档对如何执行此操作进行了分步说明。 如果您在完成这项工作时遇到问题,请使用最小的、完整/独立的代码发布一个新问题,该代码可以重现您遇到的问题。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM