Firebase isEmailVerified 不起作用

jro*_*occ 1 email firebase typescript firebase-authentication angular

我正在尝试使用 firebase 中的 isEmailVerified 函数,但出现错误

user.emailVerified 不是函数

import * as firebase from 'firebase';

@IonicPage()
@Component({
  selector: 'page-login',
  templateUrl: 'login.html',
})
export class LoginPage {

  user = {} as User

  async login(user: User){
    try{
      this.afAuth.auth.signInWithEmailAndPassword(user.email,user.password)
      .then(res => {
        //check if user has made profile if not send to profile setup page
        let user = firebase.auth().currentUser;
        if(user.isEmailVerified()){
          console.log("Email is verified");
        }
     }catch(e){ 
       console.log(e);
     }
    }
  }
Run Code Online (Sandbox Code Playgroud)

CRi*_*ice 7

他们的文档

电子邮件已验证

布尔值

如果用户的电子邮件地址已经过验证,则为真。

emailVerified属性也是如此,而不是方法(因此它不可调用)。您可以像这样更改代码:

import * as firebase from 'firebase';

@IonicPage()
@Component({
  selector: 'page-login',
  templateUrl: 'login.html',
})
export class LoginPage {

  user = {} as User

  async login(user: User){
    try{
      this.afAuth.auth.signInWithEmailAndPassword(user.email,user.password)
      .then(res => {
        //check if user has made profile if not send to profile setup page
        let user = firebase.auth().currentUser;
        if(user.emailVerified){ // note difference on this line
          console.log("Email is verified");
        }
     }catch(e){ 
       console.log(e);
     }
    }
  }
Run Code Online (Sandbox Code Playgroud)