Firebase Authentication中「为每个身份提供商创建多个账号」选项未按预期工作
问题分析与解决方案
首先明确:你对「为每个身份提供商创建多个账号」选项的预期是正确的——该选项确实允许同一邮箱地址通过不同身份提供商创建独立的Firebase Authentication账号。你遇到的注册失败问题,并非对选项的理解偏差,而是操作流程或Firebase Auth默认行为导致的。
失败原因
当你已通过Google提供商登录该邮箱的账号时,若在未退出登录的状态下尝试用邮箱提供商注册同个邮箱,Firebase Auth会默认尝试将新的邮箱凭证关联到当前已登录的账号,而非创建新账号。此时由于该邮箱已绑定到Google账号,关联操作会触发「邮箱已存在」类的错误,导致注册失败。
正确操作流程
要创建同一邮箱的独立账号(对应不同提供商),需遵循以下步骤:
- 退出当前已登录的Google账号。
- 切换到邮箱提供商的注册流程,输入目标邮箱完成注册,此时会创建一个独立于Google账号的新账号。
- 后续可分别通过Google提供商和邮箱提供商登录这两个独立账号,两者共享同一邮箱但属于不同的Auth账号。
补充说明
若你需要将同一邮箱的不同提供商凭证关联到同一个账号(而非创建独立账号),则无需开启「为每个身份提供商创建多个账号」选项,直接在已登录账号的状态下执行「链接账号」操作即可(比如登录Google账号后,链接邮箱密码凭证)。
内容的提问来源于stack exchange,提问作者Taha Sami
相关产品推荐
相关产品推荐

