2015-11-18 27 views
6

Quando si utilizza l'autenticazione utente Firebase Google, l'utente viene immediatamente connesso se ha già autorizzato l'applicazione e ha effettuato l'accesso solo a un account Google.Cambia utente con Firebase Autenticazione utente Google

C'è un modo per forzare la visualizzazione della finestra di dialogo "Scegli un account" in modo che l'utente abbia l'opportunità di accedere a un altro account Google o crearne uno nuovo?

Valuta per quanto so che l'utente deve disconnettersi manualmente dall'account Google corrente (o accedere a> 1) da Google.com per visualizzare la finestra di dialogo.

risposta

1

Sto cercando di capire la stessa cosa. Secondo alcuni documenti Google, sembra che è possibile forzare il selettore account con un comando "prompt" (di "nessuno", "select_account" o "consenso"):

Force google account chooser

... comunque ci sembra che non sia possibile impostare il valore "prompt" in nessuno dei metodi di autenticazione di Firebase (in particolare authWithOAuthRedirect e authWithOAuthPopup).

Sei mai riuscito a capirlo?

+0

ho finito per costruire il mio autenticazione utilizzando [Google Sign-In] (https://developers.google.com/identity/sign-in/web/accesso), [Autenticazione personalizzata Firebase] (https://www.firebase.com/docs/web/guide/login/custom.html) e [questo proxy oauth proxy.js] (https: // www. npmjs.com/package/google-firebase-auth-proxy). Non ideale, ma non ho trovato nessun altro modo per farlo con il metodo Google Auth di Firebase ... – bostondv

+0

Ho contattato l'assistenza di Firebase a questo proposito e hanno confermato che al momento non è possibile forzare la pagina "Scelta dell'account" di Google, ma sembrava pensare che fosse una buona idea, quindi forse lo introdurranno in un aggiornamento futuro. – hairbo

1

Si dovrebbe uscire da Google in modo esplicito:

Auth.GoogleSignInApi.signOut(mGoogleApiClient).setResultCallback(status -> { 
    mFirebaseAuth.signOut(); 
}); 

trovato la soluzione here

0

Utilizzare questo modo per SignOut.

Auth.GoogleSignInApi.signOut(mGoogleApiClient).setResultCallback(new 
ResultCallback<Status>() 
       { 
        @Override 
        public void onResult(@NonNull Status status) 
        { 
         mAuth.signOut(); 

        } 

       }); 
5

È possibile forzare a scegliere un account con il parametro provider 'pronta'.

var googleAuthProvider = new firebase.auth.GoogleAuthProvider(); 
googleAuthProvider.setCustomParameters({ 
    prompt: 'select_account' 
}); 
firebase.auth().signInWithRedirect(googleAuthProvider) 

Testato con Firebase JavaScript SDK V4.1.2