我在我的Angular 7项目中实现了谷歌认证,但当你使用谷歌登录按钮时,弹出窗口会出现问题。
在普通的chrome标签页上,用户登录google的弹出窗口会以空白的白色弹出窗口显示几秒钟,然后就消失了。
这似乎只发生在chrome上,当我没有在浏览器上禁用安全性时。在Safari中也不会发生这种情况,所以我真的不明白出了什么问题。我在chrome上启用了所有网站的弹出窗口和cookies,但这并没有什么不同。
最后,我不确定这是否相关,但当我在正常的chrome选项卡上查看源代码html时(启用了安全性和所有内容),我会得到这样的结果:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Error</title>
</head>
<body>
<pre>Cannot GET /login</pre>
</body>
</html>发布于 2019-04-25 05:37:38
我自己以前也遇到过这个问题。它通常会按预期工作,但偶尔会显示一个空白弹出窗口。您可以尝试通过重定向登录,而不是使用弹出方法。(据说这也是通过手机的更好的方式):
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));
}https://stackoverflow.com/questions/54618913
复制相似问题