我正在实施此处所述的Google登录服务器端流程: https://developers.google.com/identity/sign-in/web/server-side-flow
我的问题是,某些计算机上的,在某些浏览器中,它不起作用。
这是一个带有我正在测试的代码的plunker。其中大部分都是从the docs复制的。
代码的预期行为:登录后,按钮下方应显示“结果在控制台中”,并且javascript控制台中应该有一个带有一次性代码的对象。 当它不起作用时,回调不会被调用,并且网站上没有变化。我无法让它产生任何错误信息。
http://plnkr.co/s7EJbkEHL6ubnSR7DUmw
<!-- The top of file index.html -->
<html itemscope itemtype="http://schema.org/Article">
<head>
<!-- BEGIN Pre-requisites -->
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js">
</script>
<script src="https://apis.google.com/js/client:platform.js?onload=start" async defer>
</script>
<!-- END Pre-requisites -->
<!-- Continuing the <head> section -->
<script>
function start() {
gapi.load('auth2', function() {
auth2 = gapi.auth2.init({
client_id: '655082111777-8dlr2thnsn9a1v74f55ku2gs1gjjcpaj.apps.googleusercontent.com',
// Scopes to request in addition to 'profile' and 'email'
//scope: 'additional_scope'
});
});
}
</script>
</head>
<body>
<!-- Add where you want your sign-in button to render -->
<!-- Use an image that follows the branding guidelines in a real app -->
<button id="signinButton">Sign in with Google</button>
<script>
$('#signinButton').click(function() {
// signInCallback defined in step 6.
auth2.grantOfflineAccess({'redirect_uri': 'postmessage'}).then(signInCallback);
});
</script>
<div id="result"></div>
<!-- Last part of BODY element in file index.html -->
<script>
function signInCallback(authResult) {
$('#result').append("result in console");
console.log(authResult);
}
</script>
</body>
</html>
请提供有关如何让它始终在任何地方工作的任何建议。