1 回答

TA貢獻(xiàn)1851條經(jīng)驗(yàn) 獲得超5個(gè)贊
考慮到您的情況,我建議您稍微更改將經(jīng)過身份驗(yàn)證的信息發(fā)送到 Firestore 的方式。您的代碼應(yīng)如下所示。
export const signupUser = (userDetails) => {
const {firstName, lastName, email, password} = userDetails
return () => {
firebase.auth().createUserWithEmailAndPassword(email, password)
.then(() => {
firebase.firestore().collection('users').doc(firebase.auth().currentUser.uid)
.set({
firstName: firstName,
lastName: lastName,
email: email
})
.catch(error => {
console.log('Something went wrong with added user to firestore: ', error);
})
})
.catch(error => {
console.log('Something went wrong with sign up: ', error);
}
},
};
雖然此代碼未經(jīng)測試,但它基于這篇非常好的文章之一:如何驗(yàn)證用戶身份并在 Cloud Firestore 中創(chuàng)建相應(yīng)的文檔。
除了上述選項(xiàng)之外,您還可以嘗試使用云功能,一旦創(chuàng)建用戶,它將向 Firestore 發(fā)送信息。
export const newAccountCreated = functions.auth.user().onCreate(user => {
userDoc = {'email' = user.data.email,
'displayName' = user.data.displayName}
admin.firestore().collection('users').doc(user.data.uid)
.set(userDoc).then(writeResult => {
console.log('User Created result:', writeResult);
return;
}).catch(err => {
console.log(err);
return;
});
});
使用 Cloud Funcrion 也可能是一種替代方法,因?yàn)樗鼤谀看蝿?chuàng)建用戶時(shí)運(yùn)行。
這兩個(gè)選項(xiàng)應(yīng)該可以幫助您創(chuàng)建登錄用戶,并幫助您避免在嘗試創(chuàng)建新用戶時(shí)需要注銷的問題。
讓我知道這些信息是否對您有幫助!
添加回答
舉報(bào)