我一直在使用this documentation集成Google登录 . 但是,通过几种排列,它实际上从不执行回调函数 . 我试过在一个单独的页面上隔离它,没有别的办法来排除来自其他库的干扰:
<html>
<head>
<meta name="google-signin-client_id" content="***.apps.googleusercontent.com">
<script src="//apis.google.com/js/platform.js" async defer></script>
</head>
<body>
<div class="g-signin2" data-onsuccess="onSignIn"></div>
<script>
function onSignIn(googleUser)
{
console.log(googleUser.getBasicProfile().getName());
}
</script>
</body>
</html>
一些观察:
-
我试图在本地测试它并部署到 生产环境 服务器 .
-
库正在正确加载并正在读取API密钥,因为从控制台中的授权源列表中删除 生产环境 域会导致
redirect_uri_mismatch
错误 . -
我尝试过使用Web客户端和OAuth客户端密钥;都不会产生不同的结果 .
-
登录按钮按预期呈现,并在单击时生成弹出窗口 . 如果已注销或未经过授权,则会通过通常的登录流程 . 在随后的点击中,它会短暂显示并关闭 . 该项目确实出现在'Signing in with Google'下'Apps with access to your account.'
-
这些都不会导致任何输出到控制台 .
-
上述页面中的注销方法将运行并执行其承诺,但没有效果(即再次单击'Sign in'会导致弹出窗口闪烁并且不会发生任何事情) .
-
我也尝试过使用
gapi.auth2.init
onload,它按预期运行,但是回调中的签名仍然没有执行 .
由于使用逐字的示例代码不起作用,我已经没有想法尝试而有点困惑 .