【发布时间】:2019-11-23 04:02:42
【问题描述】:
我正在 firebase 上开发一个 react 应用程序。火存储在火认证后没有设置userdata的问题,虽然它已经在谷歌上成功认证。如果你有一些解决这个问题的线索,请帮助我。而且我无法在此处收到错误文本。
login = () => {
const provider = new firebase.auth.GoogleAuthProvider();
firebase
.auth()
.signInWithRedirect(provider)
.then(result => {
const user = result.user;
const userRef = firebase
.firestore()
.collection("users")
.doc(user.uid);
userRef.get().then(function(doc) {
if (doc.exists) {
console.log("User data:", doc.data());
} else {
// doc.data() will be undefined in this case
userRef.set({
uid: user.uid,
name: user.displayName,
photoURL: user.photoURL
});
}
});
});
this.props.history.push("/");
};
附加
'user' is not defined.
'userRef' is not defined
我已经尝试了代码。但是这里不能定义 user 和 userRef:
if (doc.exists) {
console.log("Doc for user " + user.uid + " already exists");
throw new Error("Doc for user " + user.uid + " already exists");
} else {
return userRef.set({
uid: user.uid,
name: user.displayName,
photoURL: user.photoURL
});
}
附加2
我不知道为什么,但是 then 在 Firebase 身份验证上不起作用。
login = () => {
let user;
const provider = new firebase.auth.GoogleAuthProvider();
firebase
.auth()
.signInWithRedirect(provider)
.then(result => {
console.log("result", result);
// result has been skipped
【问题讨论】:
标签: reactjs firebase google-cloud-firestore