使用 Angular 5 firebase 创建具有电子邮件和密码的用户
Posted
技术标签:
【中文标题】使用 Angular 5 firebase 创建具有电子邮件和密码的用户【英文标题】:Create user with email and password using angular 5 firebase 【发布时间】:2018-10-06 04:39:11 【问题描述】:我想用电子邮件和密码创建一个用户更多其他数据,例如姓名 在我的界面中,我有这个:
export interface UserInterface
id?: string;
name: string;
email: string;
password: string;
status: string
constructor(auth)
this.id = auth.uid
我的服务:
createUser(user: UserInterface)
return this.angularFireAuth.auth.createUserWithEmailAndPassword(user.email, user.password)
如何在 ID 中添加属性名称和 uid?
【问题讨论】:
不,您不能使用此方法添加更多数据!火力基地负责 UID 和安全性 你应该把额外的数据放在数据库中,而不是在身份验证系统中。当用户注册时,创建 auth 用户并获取新的 uid,然后在您想要的任何路径下将附加字段写入数据库,例如/user_profiles/uid
。
所以,我不想将数据放入身份验证系统,我想要将身份验证系统与数据库关联
【参考方案1】:
[已解决]对我来说,我就是这样做的
AuthService 我有
createUser(user: UserInterface)
return this.angularFireAuth.auth.createUserWithEmailAndPassword(user.email, user.password)
.then(() =>
this.service.save(user);
)
.catch((e) => console.log(e));
在我的用户服务中我有
save(user: any)
return new Promise((resolve, reject) =>
if(user.key)
this.db.list(this.PATH)
.update(user.key, ( name: user.name ))
.then(() => resolve())
.catch((e) => reject(e))
else
this.db.list(this.PATH)
.push( name: user.name )
.then(() => resolve())
)
这样,我可以在 Auth 系统中使用电子邮件和密码创建一个用户,并在 UserService 中为该用户添加属性,这样我就完成了!
【讨论】:
以上是关于使用 Angular 5 firebase 创建具有电子邮件和密码的用户的主要内容,如果未能解决你的问题,请参考以下文章
使用 Angular 和 Firebase 登录后获取用户配置文件