Wie extrahiere ich Google OAuth-Benutzerdaten und speichere sie mithilfe der getRedirectResult-Methode in Firebase Firestore?
P粉215292716
P粉215292716 2024-04-02 15:32:42
0
1
472

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粉215292716
P粉215292716

Antworte allen(1)
P粉828463673

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

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

Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage