我正在使用带有angular4的firebase和angularfire2库。用电子邮件和密码注册用户后,我可以看到用户已在firebase的数据库中注册。但是我无法添加名称,地址等额外字段。我想创建一个('/ users')列表然后使用用户的Uid存储用户配置文件信息。但文件说我可以指定“名称”和“个人资料图片”。如果是这种情况,我无法通过身份验证向用户数据库添加任何字段。
答案 0 :(得分:1)
正如您所提到的,通过firebase文档,您可以使用angularfire2这样做:
this.af.auth.createUser({
email: <UserEmail>,
password: <UserPass>
}).then(
(success) => {
success.auth.updateProfile({
displayName: <UserName>,
photoURL: <UserPhotoURLString>
})
.then(res => console.log("profile updated"))
.catch(err => console.log(err));
}).catch(
(err) => {
console.log(err);
})
正如您在上面的代码附加中所看到的,在使用af.auth.createUser
的内置方法后,您将收到一个User对象的承诺,之后您可以使用另一个内置方法{{1} }更新firebase认证部分中的用户配置文件区域。
这段代码非常适合我,所以只需将其调整为您的代码即可享受。
答案 1 :(得分:0)
AngularFire2具有更新的新版本。您可以在新的angularfire版本中试用此代码。
this.afAuth.auth.currentUser.updateProfile({
displayName: 'your profile name',
photoURL: 'your pic url'
}).then(() => {
console.log('DisplayName updated')
}).catch(err => console.log(err))
您可以在登录时使用此代码更新用户日期。