- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我一直在研究 firebase 多提供商登录。我同时启用了电子邮件和谷歌。
我在某处读到,如果电子邮件尚未验证并且用户尝试使用 google 登录,那么即使使用相同的用户 ID,用户帐户也会被覆盖。
这是因为 gmail 是一个值得信赖的提供商,Firebase 取消了之前未经验证的电子邮件的链接,并用谷歌用户数据覆盖了数据。
根据我从这个 comment 中读到的内容,这是 Firebase 的安全功能和预期行为。
我的问题是,如果用户一直使用他的帐户和电子邮件和密码,突然间如果用户使用 gmail 登录,那么他将不再能够使用电子邮件和密码登录,我该如何处理这种情况.
是的,用户可以简单地使用 google login 登录,并且仍然是同一个用户帐户,只是被 google 覆盖了,但一些用户可能认为这是一个错误,而不是良好的用户体验。
最佳答案
我遇到了同样的问题,我有一个可能适合您的解决方案。
我正在为我用 Kotlin 编写的 Android 应用程序使用 Firebase 身份验证。我不确定您使用的是什么平台和语言,但如果您能够传输逻辑,该解决方案也应该适用于您。
对于 android,您使用 GoogleSignIn.getSignedInAccountFromIntent(data)
来验证 Google 帐户。这里的 data
是一个 Intent
类型的对象,它具有身份验证所需的所有必需数据。
我能够从 data
中获取用户电子邮件,如果之前使用同一电子邮件登录应用程序,我会拒绝登录并显示相应的消息。
以下是我用来获取用户电子邮件的代码行。
val googleUser: GoogleSignInAccount = data!!.getParcelableExtra("googleSignInAccount")!!
我希望这能为您指明正确的方向,如果解决方案不是您正在寻找的语言,我们深表歉意。
关于firebase - firebase google 提供商登录覆盖其他登录提供商的理想解决方案,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71717099/
我在前几天的测验中遇到了以下问题。 Consider the code fragment (assumed to be in a program in which all variables are
关闭。这个问题需要更多focused .它目前不接受答案。 想改进这个问题吗? 更新问题,使其只关注一个问题 editing this post . 关闭 9 年前。 Improve this qu
我刚开始接触 Objective-C,一般来说是 C,所以我想这也是一个 C 问题。它更像是一个为什么的问题,而不是一个如何做的问题问题。 我注意到,在除以两个整数时,小数部分向下舍入为 0,即使结果
我是一名优秀的程序员,十分优秀!