Ich benutze Client-Seite Login für Google +. Das Zugriffstoken läuft in 1 Stunde ab. Der Aufruf von gapi.auth.signOut()
protokolliert den Benutzer nicht, nachdem das Token abgelaufen ist. Ich versuche, den Benutzer erneut zu autorisieren, wenn sein Token abgelaufen ist, indem ich gapi.auth.authorize
mit client_id, Bereich und immediate = true
Parameter aufrufen. Nach dem Aufruf dieser Methode funktioniert gapi.auth.signOut()
nicht. Ich kann nicht verstehen, warum es so ist. HierFehler beim Abmelden nach gapi.auth.authorize
ist der Code:
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);
}
}
Aufruf google.signOut funktioniert gut, während das Token nicht abgelaufen ist. Aber sobald das Token abgelaufen ist oder ich einfach Anruf google.silentAuthorize() mit einem Rückruf, ruft gapi.auth.signOut() beginnt zu werfen einen Fehler:
Typeerror: kann nicht lesen Eigenschaft ‚clear‘ von null
Sie haben versucht, dies für 4 Stunden jetzt herauszufinden, jede Hilfe wird sehr geschätzt!