你好,我正在做角度,火力和离子性的应用程序。我已经在应用程序中使用了登录启动器,并且希望我的应用程序使用用户名,电子邮件和密码进行注册。在稍后的应用程序中,我需要用户名才能放入Hello [username]。我可以选择使用属性.createUserWithEmailAndPassword(email,password)注册firebase此属性仅允许注册电子邮件和密码,如何为用户名添加参数?我会详细解释我是菜鸟。
我将代码分为页面和服务以及html部分。 -HTML页面
<ion-item lines="none">
<ion-input class="placeholdertext inputField" type="text" placeholder="Username" [(ngModel)]="name" autofocus="true" padding-start></ion-input>
</ion-item>
<ion-item lines="none">
<ion-input class="placeholdertext inputField" type="text" placeholder="nombre@dominio.com" [(ngModel)]="email" autofocus="true" padding-start></ion-input>
</ion-item>
<ion-item lines="none">
<ion-input class="placeholdertext inputField" type="password" placeholder="Contraseña" [(ngModel)]="password" padding-start clearInput></ion-input>
</ion-item>
-REGISTER PAGE TS
register() {
this.spinner = true;
this.disabled = true;
this.auth
.signupUser(this.email, this.password)
.then(res => {
console.log(res);
this.auth.writeNewUser(this.email, res.user.uid)
.then(response => {
this.auth.getUser(res.user.uid).then(user => {
this.spinner = false;
this.disabled = false;
this.route.navigate(['approved']);
console.log(this.email, this.password );
});
})
})
-FINALLY THE AUTH SERVICE
signupUser(email: string, password: string): Promise<any> {
return this.afAuth.auth
.createUserWithEmailAndPassword(email, password)//In this part it does not let me add another parameter
}
writeNewUser( email: string, uid: string): Promise<any> {
console.log(name, uid, email)
return this.db
.collection('drivers')
.doc(uid)
.set({
email: email,
available: false,
approved: false
});
}
loginUser( email: string, password: string): Promise<any> {
return this.afAuth.auth.signInAndRetrieveDataWithEmailAndPassword( email, password);
}
signupUser(email: string, password: string): Promise<any> {
return this.afAuth.auth
.createUserWithEmailAndPassword(email, password)
}
正如我之前所说,我希望在注册和登录时都可以添加另一个密码来输入用户名,然后在用户登录时使用您的用户名启动应用程序并打招呼[username]。伴随此属性的地方。用电子邮件和密码创建用户。 https://firebase.google.com/docs/auth/web/manage-users?hl=en-419
感谢您的帮助。我也说西班牙语
答案 0 :(得分:0)
Firebase身份验证不支持使用用户名来标识用户。用户必须提供电子邮件地址以验证其身份。如果您想稍后分配用户名,那很好,但是他们仍然无法使用该用户名登录。他们将始终必须使用其电子邮件地址和密码。