我想构建一个用户可以使用Github登录的应用程序(截至目前,可能还有Facebook,Google +)。
我想知道如何在用户首次登录时获得初始属性,将来会进行修改吗?
在我的App组件中,我有一个onAuthStateChanged
函数,它会将用户信息推送到数据库中,但问题是(显然)每次都会执行此操作:
firebaseAuth.onAuthStateChanged((user) => {
if (user) {
this.setState({
user
});
usersRef.push({
id: user.uid,
displayName: user.displayName,
coins: 3000
});
} else {
this.setState({
user: undefined
});
}
});
有没有办法可以检查用户之前是否登录过?有没有更好的方法来实现我想要的目标?
答案 0 :(得分:0)
也许您可以使用https://firebase.google.com/docs/functions/auth-events中记录的Firebase身份验证触发器。
您可以设置一个在创建用户后立即在Firebase服务器上运行一次的触发器;该触发器可以为用户更新数据库中的数据,其中可能包括默认某些值。然后,您的React应用程序将能够在需要时读取该数据。