Im documentation von Firebase heißt esRetrieve Google authentifizierte Benutzerdaten in Firebase
Sie einen neuen Benutzer durch den Aufruf der createUserWithEmailAndPassword Methode oder indem Sie sich in einem Benutzer für die in Ihrem Firebase-Projekt erstellen Verwenden Sie zum ersten Mal einen Anbieter für Partnerschaftsidentität, z. B. Google Sign-In oder Facebook Login.
Ich benutze react-native-google-signin
library, um sich anzumelden und nach einem Tag des Denkens damit es endlich funktioniert. Ich kann die eingeloggten Benutzerdaten nach einer erfolgreichen Anmeldung sehen.
Aber in der Firebase-Konsole, unter Authentifizierung, sehe ich keinen neuen Benutzer hinzugefügt.
Natürlich denke ich einen Weg, es zu handhaben wäre etwas, die
GoogleSignin.signIn().then(user => {
// if the user doesn't already exist
firebase.auth()
.createUserWithEmailAndPassword(user.email, randomPassowrd);
})
Aber das fühlt sich an wie dieses Problem zu umgehen und die Doc sagt wie
sieht, dass Sie mit Google, indem Sie sich in einen neuen Benutzer in Feuerbasis schaffen ... warum passiert das nicht automatisch?Dies ist meine aktuelle Implementierung, ich glaube, dies ist die einfachste Art und Weise ist, wie ich sayd Login erfolgreich ist und Daten in fließen.
GoogleSignin
.configure({
iosClientId: IOS_CLIENT_ID
})
.then(() => {
GoogleSignin
.signIn()
.then((user) => {
console.log('user ->', user);
dispatch(LoginSuccessAction(user))
})
.catch((err) => {
dispatch(LoginFailAction())
})
.done();
})
.done();
Wenn Sie einen Benutzer in Firebase-Authentifizierung mit Google (oder einem anderen Anbieter) unterzeichnen, werden sie in der [Firebase Authentication Konsole] (https zeigen: // Konsole .firebase.google.com/project/_/Authentifizierung/Benutzer). Wenn dies für Ihre App nicht geschieht, teilen Sie den [Mindestcode, der das Problem reproduziert] (http://stackoverflow.com/help/mcve). –
Ich habe den Codebeispiel – Bolza
hinzugefügt Der Code, den Sie freigegeben haben, signiert den Benutzer nicht in Firebase, daher werden sie tatsächlich nicht in der Firebase-Konsole angezeigt (noch haben sie authentifizierten Zugriff auf Firebase-Dienste). Sie verpassen einen Aufruf von 'firebase.auth(). SignInWithCredential (credential)' wie hier gezeigt: https://firebase.google.com/docs/auth/web/google-signin#advanced-handle-the-sign -in-flow-manuell –