我可以在Firebase控制台中添加用户 - >但我不能为他们设置电子邮件和密码。
我能以某种方式为他们设置displayName吗?
答案 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.
}
});
答案 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
由于