Attualmente sto cercando di creare un sito in cui l'utente possa accedere con il proprio account Google +. La maggior parte funziona. Li ottengo per concedere l'accesso al mio sito web. Possono accedere e ottengo il loro nome e ID utente e mostro i contenuti specifici del loro account Google sul mio sito.Logout Google Auth2.0
Quando qualcun altro vuole connettersi e io provo a "disconnettersi" dal sito, il log di google ricorda ancora che ha appena effettuato l'accesso e dopo averlo disconnesso esegue immediatamente il codice per accedere nuovamente. Se cancello il cookie SSID da google, non lo fa, quindi presumo che sia dove Google archivia il fatto che ho appena effettuato l'accesso con x.
C'è un modo per quando eseguo il logout, fare in modo che Google non acceda immediatamente con lo stesso account, ma piuttosto chiedi l'e-mail e la password di un utente google?
Mi sento come se mi mancasse qualcosa di ovvio qui, ma non riesco a capire come affrontare questo.
codice che uso per Auth e ottenere i dati:
<button class ="btn btn-primary" id="authorize-button" style="visibility: hidden">Log in</button>
<script>
var clientId = '';
var apiKey = '';
var scopes = '';
function handleClientLoad() {
gapi.client.setApiKey(apiKey);
window.setTimeout(checkAuth,1);
}
function checkAuth() {
//alert("authorize");
gapi.auth.authorize({client_id: clientId, scope: scopes, immediate: true}, handleAuthResult);
}
function handleAuthResult(authResult) {
//alert("authorized");
//alert(authResult.access_token);
var authorizeButton = document.getElementById('authorize-button');
if (authResult && !authResult.error) {
authorizeButton.style.visibility = 'hidden';
makeApiCall();
} else {
authorizeButton.style.visibility = '';
authorizeButton.onclick = handleAuthClick;
}
var token = document.createElement('h4');
token.appendChild(document.createTextNode(authResult.access_token));
document.getElementById('content').appendChild(token);
}
function handleAuthClick(event) {
gapi.auth.authorize({client_id: clientId, scope: scopes, immediate: false}, handleAuthResult);
return false;
}
var x;
function makeApiCall() {
//return;
gapi.client.load('plus', 'v1', function() {
var request = gapi.client.plus.people.get({
'userId': 'me'
});
request.execute(function(resp) {
x = resp.id;
var heading2 = document.createElement('h4');
var heading3 = document.createElement('h4');
heading3.appendChild(document.createTextNode(resp.displayName));
heading2.appendChild(document.createTextNode(resp.id));
document.getElementById('content2').appendChild(heading2);
document.getElementById('content3').appendChild(heading3);
$.post("token.php", {id: x});
});
});
}
Questa è una domanda critica e trovo assolutamente bizzarro che Google non supporti questo. –
is gapi.auth.signOut(); no? L'ho visto sulla pagina di Google mentre cercavo l'equivalente dell'obiettivo c. –