Saya menggunakan Firebase Authentication untuk mengesahkan pengguna di tapak web saya dengan dua kaedah: e-mel/kata laluan dan log masuk Google OAuth.
Setiap kali pengguna mendaftar melalui kaedah e-mel/kata laluan, saya menggunakan kod berikut untuk menyimpan maklumat yang mereka masukkan dalam dokumen 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 };
Namun, saya tidak tahu cara melakukan perkara yang sama apabila mereka log masuk dengan Google (saya menggunakan kaedah ubah hala): Saya ingin mengekstrak data pengguna daripada akaun Google mereka (secara amnya, hanya nama, tarikh lahir dan alamat Gmail mereka). Saya telah melihat dokumentasi untuk kaedah getRedirectResult() tetapi saya tidak pasti bagaimana untuk meneruskan.
Saya memerlukan bantuan dengan beberapa kod asas untuk menarik data ini selepas mereka mendaftar.
Terima kasih atas sebarang bantuan kerana saya sudah gila dengan ini sejak dua hari lalu.
Tidak dapat mendapatkan maklumat tambahan daripada penyedia OAuth dalam
onAuthStateChanged
.Anda mesti log masuk ke pembekal anda untuk mendapatkan maklumat ini. Jadi sebelum anda menghubungi Firebase. Keputusan pembekal mengandungi nilai skop yang anda minta dalam langkah 2: https://firebase.google.com/docs/auth/web/google-signin#handle_the_sign-in_flow_with_the_firebase_sdk