AngularFire $signInWithPopup与 IE 11 的兼容性



我正在尝试在IE 11上进行身份验证,但是单击登录按钮后立即收到以下错误:

"身份验证失败:错误:用户在完成操作之前已关闭弹出窗口。"

登录窗口打开后,甚至还没来得及进行身份验证,就会出现此错误。我在Chrome,Safari或Edge上没有此错误。仅在 IE 11 上。有没有某种解决方法?

 function logIn() {
  return auth.$signInWithPopup("google")
  .then(function(firebaseUser) {
    if(firebaseUser) {
      is_user = true;
      return getToken(firebaseUser.user)

链接到完整存储库:https://github.com/jasunde/christian-cupboard/tree/4c3d4484e10a470ad3d454fd04a58c371d154356

以下是执行身份验证的特定文件:

https://github.com/jasunde/christian-cupboard/blob/4c3d4484e10a470ad3d454fd04a58c371d154356/public/app/services/auth.factory.js

这里有一个具有类似症状的 GitHub 问题。

看起来它要么是由在本地主机上运行网站引起的,要么是通过HTTP运行的网站(HTTP和HTTPS网站之间的大多数通信都被阻止了,例如Firebase身份验证使用的跨窗口通信)。

引用该问题,建议的解决方案是:

您需要将 Firebase 身份验证域网址添加到 IE 的受信任网站:

互联网选项> 安全> 选择受信任的站点区域> 点击"网站"> 添加您的 Firebase 网址 https://your-fb-name.firebaseapp.com

最新更新