gpt4 book ai didi

Firebase/AngularFire 创建用户信息

转载 作者:行者123 更新时间:2023-12-02 21:57:43 31 4
gpt4 key购买 nike

我正在使用 AngularFire 创建一个新用户。但是,当我注册用户时,我还会询问名字和姓氏,并在注册后添加该信息。

$firebaseSimpleLogin(fbRef).$createUser($scope.signupData.email, $scope.signupData.password).then(function (user) {
// Add additional information for current user
$firebase(fbRef.child('users').child(user.id).child("name")).$set({
first: $scope.signupData.first_name,
last: $scope.signupData.last_name
}).then(function () {
$rootScope.user = user;
});
});

上面的代码有效,它创建了节点 fin Firebase (users/user.id/...)。

问题

当我使用新用户登录时,我得到用户默认信息:id、电子邮件、uid 等,但没有名称。如何将该数据自动关联到用户?

最佳答案

你不能。 Firebase 通过将登录详细信息存储在自己的数据存储中,隐藏了登录管理的复杂性。此过程对您的应用程序一无所知,这意味着它不知道您是否或在何处存储任何其他用户信息。为了方便起见,它会返回它确实知道的数据(id、uid、email、md5_hash、provider、firebaseAuthToken)。

然后由您的应用程序获取 [u]id 并获取您需要的任何应用程序特定用户信息(例如名字、姓氏)。对于 Angular 应用程序,您需要一个 UserProfile 服务,一旦您收到身份验证成功广播,该服务就会检索您正在查找的数据。

此外,在您的代码片段中,考虑更改

.child(user.id) 

.child(user.uid) 

如果您以后支持 Facebook/Twitter/Persona 身份验证,这将会派上用场。 uid 看起来像“simplelogin:1” - 它有助于避免提供商之间不太可能但可能发生的 id 冲突。

关于Firebase/AngularFire 创建用户信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21879361/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com