J'utilise l'authentification Firebase pour authentifier les utilisateurs de mon site Web avec deux méthodes : e-mail/mot de passe et connexion Google OAuth.
Chaque fois qu'un utilisateur s'inscrit via la méthode e-mail/mot de passe, j'utilise le code suivant pour enregistrer les informations qu'il a saisies dans le document Cloud Firestore :
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 };
Cependant, je ne sais pas comment faire la même chose lorsqu'ils se connectent avec Google (j'utilise la méthode de redirection) : je souhaite extraire les données utilisateur de leur compte Google (généralement, juste leur nom, leur date de naissance et leur adresse Gmail). J'ai parcouru la documentation de la méthode getRedirectResult() mais je ne sais pas comment procéder.
J'ai besoin d'aide avec un code de base pour extraire ces données après leur inscription.
Merci pour toute aide car je deviens fou avec ça depuis deux jours.
Impossible d'obtenir des informations supplémentaires auprès du fournisseur OAuth dans
onAuthStateChanged
.Vous devez être connecté à votre fournisseur pour obtenir ces informations. Alors avant d'appeler Firebase. Les résultats du fournisseur contiennent la valeur de portée que vous avez demandée à l'étape 2 : https://firebase.google.com/docs/auth/web/google-signin#handle_the_sign-in_flow_with_the_firebase_sdk