Firebase - 用户没有displayName

时间:2016-07-06 14:53:29

标签: firebase firebase-authentication

我可以在Firebase控制台中添加用户 - >但我不能为他们设置电子邮件和密码。

我能以某种方式为他们设置displayName吗?

2 个答案:

答案 0 :(得分:10)

我想如果您只想更新用户个人资料:

firebase.auth().onAuthStateChanged(function(user) {
  if (user) {
    // User is signed in.
    user.updateProfile({
        displayName: "Random Name"
    }).then(function() {
        // Update successful.
    }, function(error) {
        // An error happened.
    });

  } else {
    // No user is signed in.
  }
});

另外:https://firebase.google.com/docs/auth/web/manage-users

答案 1 :(得分:5)

我有解决您问题的方法。所以这就是:

当你创建一个用户时,你只用电子邮件和密码创建它,但是你可以在promise中使用displayName,然后在你调用updateProfile方法的.then()方法内,你已经准备好了,向下就是代码:

  onSubmit(formData) {
    if(formData.valid) {
      console.log(formData.value);
      this.af.auth.createUserWithEmailAndPassword(
        formData.value.email,
        formData.value.password
      ).then(
        (success) => {
         console.log(success); 
        success.updateProfile({
          displayName: "Example User",
          photoURL: "https://example.com/jane-q-user/profile.jpg"
        }).catch(
        (err) => {
        this.error = err;
        });        
        this.router.navigate(['/login'])
      }).catch(
        (err) => {
        this.error = err;
      })
    }
  }

请注意,在我的示例中,displayName设置为"示例用户",在真实应用中,您只需添加参数,就像在我的情况下应该是 - >显示名:formData.value.name

由于