我想添加一个额外的文件,以便将用户名插入Firebase数据库中,然后进行检索,但是我不知道是否有办法进行此操作。这是我的标记代码
<form [formGroup]="registerForm">
<div class="form-group">
<label>Name</label>
<input type="text" formControlName="DisplayName" class="form-control">
</div>
<div class="form-group">
<label>Email address</label>
<input type="email" formControlName="email" class="form-control">
</div>
<div class="form-group">
<label>Password</label>
<input type="password" class="form-control" formControlName="password">
<label class="error">{{errorMessage}}</label>
<label class="success">{{successMessage}}</label>
</div>
<button type="submit" (click)="tryRegister(registerForm.value)" class="btn btn-primary">Register</button>
</form>
这是我的打字稿代码,用于将用户注册到数据库
tryRegister(value){
this.authService.doRegister(value)
.then(res => {
console.log(res);
this.errorMessage = "";
this.successMessage = "Your account has been created";
}, err => {
console.log(err);
this.errorMessage = err.message;
this.successMessage = "";
});
}
doRegister(value) {
return new Promise<any>((resolve, reject) => {
firebase.auth().createUserWithEmailAndPassword(value.email, value.password)
.then(res => {
resolve(res);
}, err => reject(err));
});
}
谢谢...
答案 0 :(得分:3)
您无法将额外的值传递给仅需要电子邮件和密码的功能。 您想要的东西只能通过在数据库中注册用户来实现。 在这种情况下,您只需要对数据库进行用户身份验证。 试试这个:
this.auth.signUp(this.user.email, this.user.password).then(res => {
//get data from database
this.database.doc('tableName/' + res.user.uid).set(data).then(resp => {
})});
在身份验证的同时创建用户。