首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Angular 4中,Firebase Authentication,Login with Google会导致电子邮件登录停止工作,直到我刷新

在Angular 4中,Firebase Authentication,Login with Google会导致电子邮件登录停止工作,直到我刷新
EN

Stack Overflow用户
提问于 2017-07-08 07:00:45
回答 2查看 334关注 0票数 0

我正在使用AngularFire2身份验证。我们可以使用电子邮件/pass(电子邮件已通过验证)登录,也可以使用Google登录。如果我用电子邮件登录,一切都很好。我登出,登入,来回都没有问题。然后我登录到Google,然后注销,也没有问题。但是,如果我用Google登录,然后注销,我不能用电子邮件登录,除非我刷新页面!尽管我已经完全注销了,但每次我登录Google并注销后,我都会收到"auth/invalid-email“的提示。如果我刷新页面,我可以再次使用电子邮件登录,没有任何问题。有人知道这是什么行为吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-07-10 03:15:31

我不知道为什么,但由于刷新页面起作用,我只是在注销后用以下命令刷新:

代码语言:javascript
复制
location.reload();

不确定这是否是正确的方法,但它是有效的!如果auth.signOut()能做得更好,我会更高兴。

票数 0
EN

Stack Overflow用户

发布于 2017-07-08 10:54:33

它与这个问题相关:Firebase Overwrites Signin with Google Account

在这种情况下,发生这种情况是出于安全原因。下面是一个常见的场景。我用你的gmail地址注册了一个电子邮件/密码帐户。帐户未经验证(emailVerified为false)。然后,您尝试使用相同的电子邮件登录到您的谷歌帐户,这是一个经过验证的谷歌电子邮件。如果我设置的密码仍然存在,那么我基本上可以登录到您的帐户。为了防止这种情况,Firebase Auth将取消所有未经验证的提供程序的链接。

如果您在Google登录之前通过发送电子邮件验证并完成验证流程来验证帐户,则只能保留旧密码提供商。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44980809

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档