Heim  >  Fragen und Antworten  >  Hauptteil

Wie extrahiere ich Google OAuth-Benutzerdaten und speichere sie mithilfe der getRedirectResult-Methode in Firebase Firestore?

Ich verwende die Firebase-Authentifizierung, um Benutzer auf meiner Website mit zwei Methoden zu authentifizieren: E-Mail/Passwort und Google OAuth-Anmeldung.

Immer wenn sich ein Benutzer über die E-Mail-/Passwort-Methode anmeldet, verwende ich den folgenden Code, um die im Cloud Firestore-Dokument eingegebenen Informationen zu speichern:

createUserWithEmailAndPassword(auth, email, password)
        .then((userCredential) => {
            const user = userCredential.user;
            setDoc(doc(db,"accounts",user.uid), {
                user_id: user.uid,
                first_name: first_name,
                last_name: last_name,
                date_of_birth: dob,
                email: email,
                password: password,
                date_created: date
            })
        })
        .catch((error) => {
            //pass
        };

Allerdings weiß ich nicht, wie ich dasselbe tun soll, wenn sie sich mit Google anmelden (ich verwende die Weiterleitungsmethode): Ich möchte Benutzerdaten aus ihrem Google-Konto extrahieren (im Allgemeinen nur ihren Namen, ihr Geburtsdatum usw.). ihre Gmail-Adresse). Ich habe die Dokumentation für die Methode getRedirectResult() durchgesehen, bin mir aber nicht sicher, wie ich vorgehen soll.

Ich benötige Hilfe bei einem grundlegenden Code, um diese Daten nach der Registrierung abzurufen.

Vielen Dank für jede Hilfe, da ich in den letzten zwei Tagen damit verrückt geworden bin.

P粉215292716P粉215292716180 Tage vor376

Antworte allen(1)Ich werde antworten

  • P粉828463673

    P粉8284636732024-04-03 12:38:45

    无法从 onAuthStateChanged 中的 OAuth 提供程序获取其他信息。

    您必须在登录提供商后才能获取该信息。所以在您致电 Firebase 之前。提供商的结果包含您在步骤 2 中请求的范围值:https://firebase.google.com/docs/auth/web/google-signin#handle_the_sign-in_flow_with_the_firebase_sdk

    Antwort
    0
  • StornierenAntwort