与多个提供商进行 Firebase 身份验证

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

在 nextjs 应用程序中使用 Firebase 启用多个身份验证提供程序的正确方法是什么? 2023 年 9 月 15 日后,Firebase 对所有项目启用了电子邮件枚举保护。如果用户已使用电子邮件/密码注册,现在尝试使用 Google 登录,则该提供商将在 firebase 中被覆盖。我没有尝试过其他注册提供商。但是,我如何确保之前使用电子邮件/密码注册的用户可以使用 Google 和 Apple 注册进行注册,同时仍保留密码。 使用两个 SAML 提供程序时会出现什么行为?使用 Google 注册并使用 Apple 登录。

javascript firebase next.js firebase-authentication
1个回答
0
投票

2023 年 9 月 15 日后,Firebase 对所有项目启用了电子邮件枚举保护。

是的,没错。从 2023 年 9 月 15 日开始,所有新 Firebase 项目默认启用电子邮件枚举保护。

如果用户已使用电子邮件/密码注册,现在尝试使用 Google 登录,则该提供商将在 Firebase 中被覆盖。

此行为与电子邮件枚举保护没有任何关系。正如 @FrankvanPuffelen 在他的评论中已经提到的,这是自 2016 年以来一直有效的默认机制。请查看下面的更多信息:

虽然

fetchSignInMethodsForEmail
存在,但如果启用了电子邮件枚举保护,则不起作用。

是的,这也是正确的。电子邮件枚举保护功能提高了 Firebase 项目用户身份验证帐户的安全性,但它禁用了

fetchSignInMethodsForEmail()
方法,该方法之前建议在标识符优先机制中使用。

虽然您可以为 Firebase 项目禁用电子邮件枚举保护,但我建议您不要这样做,因为迟早您将无法再这样做。

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