除了firebase中的电子邮件和密码之外,如何添加用户的额外个人资料信息?

时间:2017-06-09 06:16:01

标签: angular firebase firebase-authentication angularfire2

我正在使用带有angular4的firebase和angularfire2库。用电子邮件和密码注册用户后,我可以看到用户已在firebase的数据库中注册。但是我无法添加名称,地址等额外字段。我想创建一个('/ users')列表然后使用用户的Uid存储用户配置文件信息。但文件说我可以指定“名称”和“个人资料图片”。如果是这种情况,我无法通过身份验证向用户数据库添加任何字段。

2 个答案:

答案 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))

您可以在登录时使用此代码更新用户日期。