shi*_*.ja 5 google-authentication google-plus google-oauth
我正在使用客户端登录谷歌+.访问令牌在1小时后到期.gapi.auth.signOut()令牌过期后,呼叫不会将用户注销.我试图通过调用gapi.auth.authorizeclient_id,scope和immediate = trueparameters 来重新授权用户,如果他的令牌已经过期.调用此方法后,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);
}
}
Run Code Online (Sandbox Code Playgroud)
在令牌未过期时调用google.signOut正常工作.但是一旦令牌过期或者我用回调调用google.silentAuthorize(),调用gapi.auth.signOut()就会开始抛出错误:
TypeError:无法读取null的属性'clear'
一直试图解决这个问题4小时,任何帮助都非常感谢!
| 归档时间: |
|
| 查看次数: |
931 次 |
| 最近记录: |