带有HTML 5和javascript的Google Open Id

时间:2015-06-29 13:26:36

标签: javascript authentication google-openid

我想在我的网络应用程序中使用Google Open Id。我只是将谷歌开发者网站上的代码嵌入到我的应用程序中。我想至少检索已登录的人的姓名,但代码没有回复。请帮我解决一下这个。 即使是该功能的警报也会对我有用...... You can find the same code at the following link.

function onSignIn(googleUser) {
        alert('Test');
        var profile = googleUser.getBasicProfile();
        console.log("ID: " + profile.getId()); // Don't send this directly to your server!
        console.log("Name: " + profile.getName());
        console.log("Image URL: " + profile.getImageUrl());
        console.log("Email: " + profile.getEmail());

        // The ID token you need to pass to your backend:
        var id_token = googleUser.getAuthResponse().id_token;
        console.log("ID Token: " + id_token);
      };
<html lang="en">
  <head>
    <meta name="google-signin-scope" content="profile email">
    <meta name="google-signin-client_id" content="838209778730-9ci5dv2ouvj275fo80bmpc7vof6ufqn8.apps.googleusercontent.com">
    <script src="https://apis.google.com/js/platform.js" async defer></script>
  </head>
  <body>
    <div class="g-signin2" data-onsuccess="onSignIn();" data-theme="dark"></div>
    <script> javascript function here
        </script>

  </body>
</html>

2 个答案:

答案 0 :(得分:0)

data-onsuccess 参数应该只包含函数名称,而不是调用。

以下是g-signin2的正确声明:

 <div class="g-signin2" data-onsuccess="onSignIn" data-theme="dark"></div>

答案 1 :(得分:0)

我遇到了一些错误,但这与未将网站添加到OAuth凭据页面有关,但是您至少应该仍然会弹出Google登录授权对话框。检查并确保您没有禁用弹出窗口或类似功能。在那里,您应该获得有关其为什么不起作用的其他反馈。