Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/clojure/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google plus 谷歌+;登录:如何注销-使用(gapi.auth.signOut)_Google Plus_Logout - Fatal编程技术网

Google plus 谷歌+;登录:如何注销-使用(gapi.auth.signOut)

Google plus 谷歌+;登录:如何注销-使用(gapi.auth.signOut),google-plus,logout,Google Plus,Logout,我需要一个小的帮助,如何创建一个注销功能,从一个网站,你已经登录使用你的谷歌+帐户 文档说明您应该使用gapi.auth.signOut函数 但是作为javascript的新手,我似乎没有任何运气 这是我的代码-注销功能是底部的部分。我做错了什么 <script> function signinCallback(authResult) { if (authResult['status']['signed_in']) { // Update the app to re

我需要一个小的帮助,如何创建一个注销功能,从一个网站,你已经登录使用你的谷歌+帐户

文档说明您应该使用gapi.auth.signOut函数

但是作为javascript的新手,我似乎没有任何运气

这是我的代码-注销功能是底部的部分。我做错了什么

<script>


function signinCallback(authResult) {
  if (authResult['status']['signed_in']) {
    // Update the app to reflect a signed in user
    // Hide the sign-in button now that the user is authorized, for example:
          document.getElementById('signinButton').setAttribute('style','display: none ');
          document.getElementById('callback').setAttribute('style','height: 100px;background-color: red ');

        var mydiv = document.getElementById("callback");
        var aTag = document.createElement('a');
        aTag.innerHTML = "Sign out";
        aTag.id= "signout";
        mydiv.appendChild(aTag);


/*function checkid(){
    document.getElementById('signout')
    }*/

} else {
    // Update the app to reflect a signed out user
    // Possible error values:
    //   "user_signed_out" - User is signed-out
    //   "access_denied" - User denied access to your app
    //   "immediate_failed" - Could not automatically log in the user
    console.log('Sign-in state: ' + authResult['error']);
  }
}

        document.addEventListener('DOMContentLoaded', function () {
      document.getElementById("signout").addEventListener('click', function(){
                gapi.auth.signOut();
                    });

</script>

函数signinCallback(authResult){
如果(authResult['status']['signed_in']){
//更新应用程序以反映已登录的用户
//现在用户已获得授权,请隐藏“登录”按钮,例如:
document.getElementById('signinButton').setAttribute('style','display:none');
document.getElementById('callback').setAttribute('style','height:100px;background color:red');
var mydiv=document.getElementById(“回调”);
var aTag=document.createElement('a');
aTag.innerHTML=“注销”;
aTag.id=“注销”;
mydiv.appendChild(aTag);
/*函数checkid(){
document.getElementById('signout')
}*/
}否则{
//更新应用程序以反映已注销的用户
//可能的错误值:
//“用户已注销”-用户已注销
//“拒绝访问”-用户拒绝访问您的应用
//“立即\u失败”-无法自动登录用户
log('登录状态:'+authResult['error']);
}
}
document.addEventListener('DOMContentLoaded',函数(){
document.getElementById(“signout”).addEventListener('click',function(){
gapi.auth.signOut();
});

使用jquery,我的好友制作了这个,而且效果很好

$('#signout').on('click', function(event) {
    gapi.auth.signOut();
});

如果希望用户被要求重新输入凭据,则需要撤消用户对应用程序的身份验证。在我的应用程序中,我按照下面的代码段执行了此操作。您可能会发现此操作很有用

var-token=gapi.auth.getToken();
如果(令牌){
var accessToken=gapi.auth.getToken().access\u token;
if(accessToken){
//向发出http get请求:'https://accounts.google.com/o/oauth2/revoke?token='+accessToken
//在angular中,您可以这样做:
//$http({
//方法:“GET”,
//网址:'https://accounts.google.com/o/oauth2/revoke?token='+accessToken
// });
}
}
gapi.auth.setToken(null);

gapi.auth.signOut();
下面的命令非常适合我

gapi.auth2.getAuthInstance().disconnect();

要强制选择帐户,您可以使用
“提示”:“选择帐户”

对我来说,它工作得很好

    gapi.auth.authorize(
      {
        'client_id': YOURCLIENTID,
        'scope': SOMESCOPE,
        'authuser': -1,
        'prompt': 'select_account'
      },
      function (authResult) {
          .......
      }
    )

这对您有效吗?当用户试图通过gplus再次登录您的站点时。gplus要求提供新凭据?gapi.authsignOut为您返回了什么?您确实不需要在此处使用jquery。@Jakob您找到了解决方案吗?从技术上讲,这不是注销。它会取消您的权限,以便下次有人想要再次登录时,他们必须重新执行此操作许可审批流程。