【发布时间】:2021-10-31 16:57:46
【问题描述】:
我正在开发一个我喜欢将 Firebase 实现为身份验证系统的应用。
当我尝试修改保存用户的 firestore 集合时,我尝试使用 Google 提供程序设置身份验证时出现问题。我的代码如下:
export const loginWithGoogle = () => {
const navigation = useNavigation();
useEffect(() => {
setTimeout(() => {
navigation.navigate('/RegisterScreen');
}, 10000);
}, []);
return () => {
return firebase
.auth()
.signInWithPopup(Providers.google)
.then(async result => {
//console.log(result.credential.accessToken);
const user = result.user;
console.log(user);
//This 2 lines below doesn't work to get the colletion.
db.('users').setItem('userid', user!.uid);
collection.(db,'users').setItem('photoURL', user!.photoURL);
//TODO if userid exists IN USERS db then use update IF NULL use set
await db.collection('users').doc(user!.uid).update({
// id: user.uid,
name: user!.displayName,
email: user!.email,
phone: user!.phoneNumber,
photoURL: user!.photoURL,
});
})
.then(() => {
navigation.navigate('ProtectedScreen');
})
.catch(err => {
console.log(err);
});
};
};
所以我猜我的错误来自于不知道如何管理保存在 firestore 上的数据。
如果你能帮忙提前谢谢!
【问题讨论】:
标签: javascript react-native google-cloud-firestore firebase-authentication