我正在尝试创建用户身份验证屏幕,所以我决定使用Firebase。
但是,我遇到了一个问题。如今,我启用了2个提供程序,它们是:
1- E-mail/Password
2- Google
我可以完美地创建用户。
当我使用E-mail/password
选项创建用户并使用Gmail地址guilherme.nunes@fover.com.br
时,Firebase会正常创建用户。
使用电子邮件后,我尝试使用Google
提供程序的第二个选项,并使用同一电子邮件。现在,旧用户已在Firebase中替换为新提供程序。
此后,如果我再次尝试使用第一个选项(电子邮件/密码)登录,则表明该用户不存在。
我尝试禁用该选项,即每个帐户只能有1个用户,但是Firebase会创建2个不同的用户。
我想要的是将1个帐户与多个提供商关联。
有人可以帮我吗?
答案 0 :(得分:0)
启用此选项后,每个电子邮件地址仅允许一个帐户,Firebase的某些提供程序是某些电子邮件域的首选。最值得注意的是:Google提供者是@gmail.com
地址的首选提供者。
因此,在您的初始过程中,您:
something@gmail.com
。something@gmail.com
。在这种情况下,第二次注册将替换/覆盖初始帐户。
您想要做的是链接两个帐户/提供者,如account linking文档中所述。使用这种方法,您无需在步骤2中完全注册帐户,而是将第二个帐户的凭据链接到已为该用户创建的email + password帐户。
文档中包含有关如何执行此操作的分步说明。如果您在进行这项工作时遇到麻烦,请使用minimal, complete/standalone code that reproduces where you got stuck发表一个新问题。