2015-11-18 7 views
6

Lors de l'utilisation de l'authentification utilisateur Firebase Google, l'utilisateur est immédiatement connecté s'il a déjà autorisé l'application et s'est connecté à un seul compte Google.Changement d'utilisateur avec Firebase Authentification d'utilisateur Google

Existe-t-il un moyen de forcer l'affichage de la boîte de dialogue "Choisir un compte" afin que l'utilisateur puisse se connecter à un autre compte Google ou en créer un nouveau?

Monnaie pour autant que je sache que l'utilisateur doit se déconnecter manuellement du compte Google actuel (ou se connecter à> 1) à partir de Google.com pour faire apparaître la boîte de dialogue.

Répondre

1

J'essaie de comprendre la même chose. Selon certains documents Google, il semble que vous pouvez forcer le sélecteur de compte avec une commande « rapide » (« none », « select_account » ou « consentement »):

Force google account chooser

... mais il semble être aucun moyen de définir la valeur "prompt" dans l'une des méthodes d'authentification de Firebase (en particulier authWithOAuthRedirect et authWithOAuthPopup).

Avez-vous déjà été capable de comprendre?

+0

Je fini par construire mon propre authentification à l'aide [Google Sign-In] (https://developers.google.com/identity/sign-in/web/connexion), [Authentification personnalisée Firebase] (https://www.firebase.com/docs/web/guide/login/custom.html) et [ce proxy oauth node.js] (https: // www. npmjs.com/package/google-firebase-auth-proxy). Je n'ai pas trouvé d'autre moyen de le faire avec la méthode Google Auth de Firebase ... – bostondv

+0

J'ai contacté le support de Firebase à ce sujet, et ils m'ont confirmé qu'il n'y a pas moyen de forcer la page "Account Chooser" de Google, mais ils semblait penser que c'était une bonne idée, alors peut-être qu'ils vont se faufiler dans une future mise à jour. – hairbo

1

Vous devez vous déconnecter de Google explicitement:

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

trouvé la solution here

0

Utilisez cette technique pour signOut.

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

        } 

       }); 
5

Vous pouvez forcer à choisir un compte avec le paramètre de fournisseur « prompt ».

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

Testé avec JavaScript Firebase SDK v4.1.2