Google plus 在gapi.auth.authorize之后调用注销时出错
我正在使用google+的客户端登录。访问令牌将在1小时后过期。调用Google plus 在gapi.auth.authorize之后调用注销时出错,google-plus,google-oauth,google-authentication,Google Plus,Google Oauth,Google Authentication,我正在使用google+的客户端登录。访问令牌将在1小时后过期。调用gapi.auth.signOut()不会在令牌过期后注销用户。如果用户的令牌已过期,我将尝试使用客户端id、作用域和immediate=true参数调用gapi.auth.authorize,以重新授权该用户。调用此方法后,gapi.auth.signOut()不起作用。我不明白为什么会这样 代码如下: var google = { signOut: function() { var token = g
gapi.auth.signOut()
不会在令牌过期后注销用户。如果用户的令牌已过期,我将尝试使用客户端id、作用域和immediate=true
参数调用gapi.auth.authorize
,以重新授权该用户。调用此方法后,gapi.auth.signOut()
不起作用。我不明白为什么会这样
代码如下:
var google = {
signOut: function() {
var token = gapi.auth.getToken();
if(!token) {
var params = {
'client_id': global.clientid,
'session_state': global.sessionState,
'response_type':'token'
}
gapi.auth.checkSessionState(params, function(state){
if(state == true) {
google.doSignOut();
} else {
google.silentAuthorize(function(data){
google.doSignOut();
});
}
});
} else {
google.doSignOut();
}
},
doSignOut: function() {
gapi.auth.signOut();
google.loggedin = false;
},
silentAuthorize: function(callback) {
var params = {};
params.client_id = global.clientid;
params.immediate = true;
params.scope = "https://www.googleapis.com/auth/userinfo.email https://www.googleapis.com/auth/plus.me https://www.googleapis.com/auth/plus.login"
gapi.auth.authorize(params, callback);
}
}
在令牌未过期时,调用google.signOut可以正常工作。但一旦令牌过期或我通过回调调用google.silenauthorize(),调用gapi.auth.signOut()就会开始抛出错误:
TypeError:无法读取null的属性“clear”
4个小时来一直在努力解决这个问题,非常感谢您的帮助 我无法从前端找到更新令牌的方法,所以我切换到使用GoogleAuth的混合方法。现在,每当会话在php中即将到期时,我都会恢复会话