用户关闭"弹出窗口"即使用户没有登录Gmail

时间:2018-03-27 06:16:14

标签: gmail angular5 gmail-api

我正在尝试使用angular 5社交登录package使用gmail登录并且它在Facebook上工作正常但是在gmail的情况下它正在打开gmail窗口,当用户输入他的详细信息时,他已经过身份验证但我得到了错误消息" popup_closed_by_user"即使它自动关闭。 以下是我的代码:

  public socialSignIn(socialPlatform : string) {
    let socialPlatformProvider;
    if(socialPlatform == "facebook"){
      socialPlatformProvider = FacebookLoginProvider.PROVIDER_ID;
    }else if(socialPlatform == "google"){
      console.log(GoogleLoginProvider.PROVIDER_ID);
      socialPlatformProvider = GoogleLoginProvider.PROVIDER_ID;
    }

    this.socialAuthService.signIn(socialPlatformProvider).then(
      (userData) => {
        console.log("data from fb is");
        console.log(userData);
      }
    );
  }

提前致谢。

2 个答案:

答案 0 :(得分:1)

this github forum中尝试建议的解决方案:

  

我认为你面临的问题是弹出窗口被阻止了   浏览器。你不应该在一个内部调用grant方法   异步函数(即onSuccess回调)。拨打电话   必须在用户交互后同步完成(点击一下)   实例)。

在使用隐身模式时,我注意到了这个错误,但在使用常规浏览模式时却没有。

答案 1 :(得分:0)

将其添加到index.html

<script src="https://apis.google.com/js/platform.js?onload=onLoadCallback" async></script>

我希望它能解决