Firebase身份验证“ auth / invalid-email”和“电子邮件地址格式错误”。

时间:2020-03-08 23:50:54

标签: javascript angular firebase ionic-framework firebase-authentication

我正在尝试使用Angular和Ionic 4在我的应用程序中实现Firebase登录/注册。我已经注册了帐户,但忘记了密码,可以在Firebase控制台中看到这些帐户。我遇到的问题是当我尝试登录到我创建的帐户时。在开发人员控制台中,我得到https://imgur.com/a/WzRiwtn

code: "auth/invalid-email"
message: "The email address is badly formatted."

说问题出在我的tab3.page.ts:22

这是该页面上的代码

import { Component } from '@angular/core';
import { AlertController } from '@ionic/angular';
import { LoadingController, ToastController } from '@ionic/angular';
import { Router } from '@angular/router';
import { AngularFireAuth } from '@angular/fire/auth';

@Component({
  selector: 'app-tab3',
  templateUrl: 'tab3.page.html',
  styleUrls: ['tab3.page.scss']
})
export class Tab3Page {
  email: string = '';
  password: string = '';
  error: string = '';
  constructor(private fireauth: AngularFireAuth,
    private router: Router,
    private toastController: ToastController,
    public loadingController: LoadingController,
    public alertController: AlertController) {

  }


  async openLoader() {
    const loading = await this.loadingController.create({
      message: 'Please Wait ...',
      duration: 2000
    });
    await loading.present();
  }
  async closeLoading() {
    return await this.loadingController.dismiss();
  }

  login() {
    this.fireauth.auth.signInWithEmailAndPassword(this.email, this.password)
      .then(res => {
        if (res.user) {
          console.log(res.user);
          this.router.navigate(['/home']);
        }
      })
      .catch(err => {
        console.log(`login failed ${err}`);
        this.error = err.message;
      });
  }

  async presentToast(message, show_button, position, duration) {
    const toast = await this.toastController.create({
      message: message,
      showCloseButton: show_button,
      position: position,
      duration: duration
    });
    toast.present();
  }

}

自星期五以来,我一直在盯着这个问题,尝试使用多种不同的方法和在线指南,而我尝试的每种方法都遇到此错误,对您的帮助将不胜感激。该代码来自以下https://enappd.com/blog/email-authentication-with-firebase-in-ionic-4/38/教程,甚至查看了他的github并严格按照它来编写。

2 个答案:

答案 0 :(得分:0)

根据您在此处显示的内容,电子邮件的初始值为空字符串:

email: string = '';

而且,据我所知,它永远不会改变价值。因此,您正在向signInWithEmailAndPassword传递一个空字符串,这是无效的。

答案 1 :(得分:0)

这是您的错误类型

https://firebase.google.com/docs/auth/admin/errors

希望您通过的电子邮件出现问题。只能是正确的字符串。