Angular 7社交登录 - Google Signin弹出窗口在点击后消失

问题描述 投票:0回答:1

我正在Angular 7项目中实施Google身份验证,但是当您使用google登录按钮时弹出窗口出现问题。

在常规的Chrome选项卡上,用户登录谷歌的弹出窗口会显示为空白的白色弹出窗口几秒钟,然后就会消失。

当我没有在浏览器上禁用安全性时,这似乎只发生在chrome上。它也不会发生在Safari中,所以我真的不明白出了什么问题。我为所有网站启用了chrome上的弹出窗口和cookie,但这并没有什么区别。

最后,我不确定这是否相关但是当我在普通的chrome选项卡上查看源html(启用安全性和所有内容)时,我得到了:

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Error</title>
</head>
<body>
<pre>Cannot GET /login</pre>
</body>
</html>
angular google-authentication
1个回答
0
投票

我以前遇到过这个问题,我自己。它通常会按预期工作,但偶尔会显示一个空白的弹出窗口。您可以尝试使用重定向登录而不是弹出方法。 (据说它也是移动设备的首选方法):

auth.service.ts

import { auth as fbAuth } from 'firebase/app';

async googleLogin() {
  const provider = new fbAuth.GoogleAuthProvider();
  return await this.oAuthLogin(provider);
}

async oAuthLogin(provider) {
  await fbAuth().signInWithRedirect(provider);
  return await fbAuth().getRedirectResult(result => {
  if (result.user != null) {
    var user = result.user;
    console.log(`Welcome back, ${user.displayName}!`);
    }
  })
  .catch(error => console.error(error));

}
© www.soinside.com 2019 - 2024. All rights reserved.