AngularFire2 如何创建用户(名字、姓氏、电子邮件、密码)
AngularFire2 How to CreateUser ( name, surname, email, password )
我知道如何使用电子邮件和密码创建用户,但我如何才能同时使用名字和姓氏创建用户?
这是我的代码表单电子邮件和密码
registerUser(formData) {
if(formData.valid) {
this.af.auth.createUser({
email: formData.value.email,
password: formData.value.password,
}).then((success) => {
this.routing.navigateByUrl('/login');
}).catch((error) => {
console.log(error);
})
}
}
我不能只写
registerUser(formData) {
if(formData.valid) {
this.af.auth.createUser({
email: formData.value.email,
password: formData.value.password,
name: formData.value.name, // this is error :(
surname: formData.value.surname, // this is error :(
}).then((success) => {
this.routing.navigateByUrl('/login');
}).catch((error) => {
console.log(error);
})
}
}
有什么想法吗?
'this.af.auth.createUser' 只接受电子邮件和密码。此外,您不能在 Firebase 的内置用户配置文件中使用自定义 属性(名字或姓氏)。
唯一可用的属性是:
- 显示名称
- 电子邮件
- 照片网址
- 供应商编号
- uid
因此,如果需要,您绝对可以将其存储在 'displayName' 中,否则您将不得不使用 Firebase 实时数据库来存储额外的用户数据。我相信要设置 'displayName' 你必须让此人登录。
要使用 displayName,您可以执行以下操作(一旦您拥有登录用户):
user.updateProfile({
displayName: "Name here"
}).then(() => {
// Update successful
}
要使用 Firebase 实时数据库:
registerUser(formData) {
if(formData.valid) {
this.af.auth.createUser({
// Create user
email: formData.value.email,
password: formData.value.password
}).then((user) => {
// User created now create the database user
return this.af.database.object(`/users/${user.uid}`).update({
name: formData.value.name,
surname: formData.value.surname
});
}).then(() => {
// Success
this.routing.navigateByUrl('/login');
}).catch((error) => {
// Error
console.log(error);
});
}
}
(没有机会测试上面的代码)。
我知道如何使用电子邮件和密码创建用户,但我如何才能同时使用名字和姓氏创建用户? 这是我的代码表单电子邮件和密码
registerUser(formData) {
if(formData.valid) {
this.af.auth.createUser({
email: formData.value.email,
password: formData.value.password,
}).then((success) => {
this.routing.navigateByUrl('/login');
}).catch((error) => {
console.log(error);
})
}
}
我不能只写
registerUser(formData) {
if(formData.valid) {
this.af.auth.createUser({
email: formData.value.email,
password: formData.value.password,
name: formData.value.name, // this is error :(
surname: formData.value.surname, // this is error :(
}).then((success) => {
this.routing.navigateByUrl('/login');
}).catch((error) => {
console.log(error);
})
}
}
有什么想法吗?
'this.af.auth.createUser' 只接受电子邮件和密码。此外,您不能在 Firebase 的内置用户配置文件中使用自定义 属性(名字或姓氏)。
唯一可用的属性是:
- 显示名称
- 电子邮件
- 照片网址
- 供应商编号
- uid
因此,如果需要,您绝对可以将其存储在 'displayName' 中,否则您将不得不使用 Firebase 实时数据库来存储额外的用户数据。我相信要设置 'displayName' 你必须让此人登录。
要使用 displayName,您可以执行以下操作(一旦您拥有登录用户):
user.updateProfile({
displayName: "Name here"
}).then(() => {
// Update successful
}
要使用 Firebase 实时数据库:
registerUser(formData) {
if(formData.valid) {
this.af.auth.createUser({
// Create user
email: formData.value.email,
password: formData.value.password
}).then((user) => {
// User created now create the database user
return this.af.database.object(`/users/${user.uid}`).update({
name: formData.value.name,
surname: formData.value.surname
});
}).then(() => {
// Success
this.routing.navigateByUrl('/login');
}).catch((error) => {
// Error
console.log(error);
});
}
}
(没有机会测试上面的代码)。