ios - Firebase Auth 链接提供商 Google 登录问题?

标签 ios swift firebase firebase-authentication

第一次,在使用 Gmail 和密码注册时,firebase 正确保存了凭据。但是下一次,我使用注册时提供的相同 Gmail 使用 Firebase Google 身份验证登录,凭据将覆盖 firebase 帐户。覆盖凭据后,我们无法使用该注册凭据登录。任何人都可以解释如何实现这一目标吗?

Signup with Gmail and password

Google authentication

最佳答案

发生了什么

在第一个屏幕截图中,您使用 Firebase 的电子邮件+密码提供商登录。虽然这是一种有效的登录方法,但这意味着任何人都可以输入该电子邮件地址,即使他们实际上没有访问该 gmail 地址的 Google 帐户也是如此。

这里没有安全风险,但是我们对电子邮件地址值的信任度很低。出于这个原因,帐户的 emailVerified 属性被标记为 false 并且您通常希望要求用户在允许他们继续之前验证他们的电子邮件地址。


在第二个屏幕截图中,用户使用相同的电子邮件地址登录,但现在使用的是 Firebase 的 google.com 提供商。这意味着 Google 现在已经验证用户可以访问该帐户的基础 gmail 地址。由于 google.com 提供商是 @gmail.com 帐户的可信提供商,因此系统会替换以前的帐户。


另见:

你能做什么

您通常希望防止多个用户使用相同的电子邮件地址注册。为此,您需要将 Firebase 配置为仅允许控制台中每个电子邮件地址有一个帐户,然后 use account linking以便合并您方案中的两个(电子邮件+密码和 google.com)帐户。

关于ios - Firebase Auth 链接提供商 Google 登录问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66452341/

相关文章:

javascript - html 下拉选择选项在 iPhone 上看起来很丑

iphone - 如何调试来自 iPhone 的网络请求?

.net - 让 .NET 链接按钮在 iOS Web 应用程序中工作

firebase - Firebase 服务器端 verifyIdToken() 在幕后做了什么?

angularjs - 使用Firebase simplelogin强制执行唯一的用户名

ios - audioEngine.start() 调用时抛出异常

ios - 在 UIScrollView 中添加和定位 UIButtons 数组

swift - ELCImagePickerController 使用 Swift 仅显示黑屏 + 导航栏

ios - 未缓存模块时,iOS 框架中的 C 静态库“无法构建 Objective-C 模块”

firebase - 从数据库中检索时,firestore 映射键值对会随机更改顺序