Google登录/第三方身份验证提供程序

时间:2017-08-18 11:39:01

标签: javascript angularjs google-login

我正在开发一个angularjs应用程序,其中Google登录是其中一项功能。 我正在使用此链接来实现功能
 https://blog.codecentric.de/en/2014/06/angularjs-google-sign-integration/。 这里也是加载页面时调用的脚本 `

<script type="text/javascript">
    (function () {
        var p = document.createElement('script');
        p.type = 'text/javascript';
        p.async = true;
        p.src = 'https://apis.google.com/js/platform.js?onload=onLoadCallback';
        var  s = document.getElementsByTagName('script')[0];
        s.parentNode.insertBefore(p, s);
    })();
</script>

`

这是正确的方式吗?我如何从谷歌获取数据并向用户显示数据,以及他是否乐意按下注册然后进行签名。我已经将我的应用程序创建到google api服务中并尝试了很多选项,但到目前为止还没有成功。

感谢您的建议。

1 个答案:

答案 0 :(得分:1)

这有一个问题,你将直接登录而不被点击,这可能是将来的问题 试试这样的事情

<script type="text/javascript">
      (function() {
       var po = document.createElement('script'); po.type = 'text/javascript'; po.async = true;
       po.src = 'https://apis.google.com/js/client.js?onload=onLoadCallback';
       var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(po, s);
     })();
</script>

在视图中

function login() 
{
  var myParams = {
    'clientid' : 'YOUR_CLIENT_ID.apps.googleusercontent.com', //You need to set client id
    'cookiepolicy' : 'single_host_origin',
    'callback' : 'loginCallback', //callback function
    'approvalprompt':'force',
    'scope' : 'https://www.googleapis.com/auth/plus.login https://www.googleapis.com/auth/plus.profile.emails.read'
  };
  gapi.auth.signIn(myParams);
}

将此代码转换为Angular。

有关详细信息,请参阅此question