2013-01-17 22 views
39

Esiste un modo per forzare la visualizzazione del selettore per account google anche se l'utente ha effettuato l'accesso solo con un account.Force selettore account google

ho cercato reindirizzando a questo URL:

https://accounts.google.com/AccountChooser?service=lso&continue=[authorizeurl] 

e sembra funzionare, ma non so se ci sono altre condizioni in cui potrebbe fallire.

enter image description here

risposta

62

Il parametro seguente è supportato in OAuth2 URL di autorizzazione:

pronta

Attualmente può avere valori 'none', 'select_account', e 'il consenso'.

nessuno: Will causare Google di non mostrare alcuna interfaccia utente, e quindi non riuscire se l'utente ha bisogno di effettuare il login, oppure selezionare un conto in caso di multi-accesso, o il consenso se prima approvazione. Può essere eseguito in un i-frame invisibile per ottenere un token da utenti precedentemente autorizzati prima di decidere, ad esempio, di eseguire il rendering di un pulsante di autorizzazione.

consenso: forzerà la pagina di approvazione da visualizzare anche se l'utente ha già autorizzato l'applicazione. Può essere utile in alcuni casi d'angolo, ad esempio se hai perso il refresh_token per l'utente, dato che Google emette solo refresh_tokens sull'azione di consenso esplicito.

select_account: farà sì che il selettore di account per visualizzare, anche se c'è un singolo utente connesso, proprio come hai chiesto.

select_account possono essere combinati con il consenso, come in:

prompt = select_account + consenso

+2

è 'approval_prompt = forza' lo stesso di 'prompt = consenso'? Grazie –

+3

Sì, ma a differenza di prompt = consenso non può essere combinato con l'opzione per 'select_account'. Usa 'prompt' invece se scrivi un nuovo codice ora. – breno

+0

grazie mille –

3

Inoltre, è possibile aggiungere il parametro "prompt" in tag HTML come dati-prompt = "select_account":

<div class="g-signin2" data-onsuccess="onSignIn" data-prompt="select_account"> 

e costringerà selettore account ogni volta, anche se si è effettuato l'accesso con un solo account

+0

Non funziona per me, ''

ma onSignIn ancora chiamato ogni volta –

Problemi correlati