我正在使用angular和firebase登录我的firebase web应用程序。在使用Firefox时,我简单地得到了一个错误:
身份验证/电子邮件无效/电子邮件地址格式错误。
但是,用户名和密码是正确的,我可以正确路由到已登录的应用程序。
HTML
<form *ngIf="authService.showLogin" #loginForm="ngForm" action="" (submit)="login()" autocomplete="off" method="POST">
<h1> Sign In </h1>
<div class="form-group">
<div>
<label> Email Address </label>
<input type="email" placeholder="name@company.com" [(ngModel)]="email" name="email"
required/>
</div>
</div>
<div class="form-group">
<div>
<label> Password </label>
<input type="password" placeholder="Password" [(ngModel)]="password" name="password"
required/>
</div>
</div>
<div *ngIf="authService.incorrectPassword">
<span class="error__msg">{{ authService.incorrectPassword }}</span>
</div>
<button type="submit" [disabled]="loginForm.invalid" (click)="login()"> Sign In </button>
</form>
...
constructor(private afAuth: AngularFireAuth) {}
...
login(email: string, password: string): Observable<boolean> {
this.firebaseAuth.auth.signInWithEmailAndPassword(email, password).then(value => {
if (this.stateURL != undefined) {
this.router.navigate([this.stateURL]);
return Observable.of(true);
} else {
this.router.navigate(['folders']);
return Observable.of(true);
}
})
.catch(err => {
// console.log(err['code']);
var errorCode = err.code;
var errorMessage = err.message;
console.log(errorCode + ' / ' + errorMessage);
this.incorrectPassword = ErroAuthEn.convertMessage(err['code']);
return Observable.of(false);
});
return;
}
当我将错误记录到UI以通知用户时,这有点烦人,因为我在正确登录之前短暂地看到了错误。
有办法解决这个问题吗?
我要在黑暗中大胆尝试一下,说这很可能是你的问题:
<form *ngIf="authService.showLogin" #loginForm="ngForm" action="" (submit)="login()" autocomplete="off" method="POST">
您正在使用Angulars和not两种方式来编写表单。
它应该是什么样子:
<form *ngIf="authService.showLogin" #loginForm="ngForm" (ngSubmit)="login()" autocomplete="off" novalidate">
在这里,我删除了操作和方法,并将提交替换为ngSubmit。看看这是否有助于解决问题。
此外,我发现您正在运行两次登录,请删除以下内容:
(单击提交按钮)=“login()”
。
null 我需要重新验证用户,最好的方法是什么?在用户登录后,如何切换的状态? 谢谢
我正在使用Apple sign in将用户登录到我的应用程序,然后在Firebase上进行身份验证。现在,有时用户不分享他们的电子邮件,在这种情况下,苹果提供了一个虚构的电子邮件。登录后,am通过先用Firebase验证,将电子邮件存储在数据库中。我更新虚构的电子邮件与一个真实的首先在firebase,然后发送验证电子邮件。在firebase上更新主电子邮件后,用户是否可以再次登录苹果,因为苹果仍
问题内容: 我希望django通过电子邮件而非用户名对用户进行身份验证。一种方法是提供电子邮件值作为用户名值,但我不希望这样。原因是,我有一个,所以我不能有一个。 另一个原因是所有电子邮件都是唯一的,但有时用户名已被使用。因此,我将自动创建用户名为。 我该如何更改才能让Django通过电子邮件进行身份验证? 这就是我创建用户的方式。 这就是我的登录方式。 除了先获取用户名外,登录还有其他方法吗?
我希望django通过电子邮件而不是用户名来验证用户。一种方法是提供电子邮件值作为用户名值,但我不希望这样。原因是,我有一个url
我被困了24小时所以这是我的最后一次机会。 当我输入我的登录详细信息:电子邮件和密码,它说不正确的电子邮件。电子邮件在数据库里。我的注册表正常工作。我不明白为什么我的登录表单不工作或哪里出错。 当它在第100行显示“不正确的电子邮件”时,其中($row===false)。 我真的很困惑。如果有人能帮助我或与我一起工作,我将非常感激。 登录表单: Connectdb代码: PHP代码:
Firebase 简单登录提供电子邮件/密码选项,我该如何使用它?从创建用户、为该用户存储数据开始,到登录和注销。