首页 > 解决方案 > Firebase Angular 10 中的 Google 身份验证

问题描述

我正在尝试使用 Google 作为第三方身份验证方法,但我得到这告诉我身份验证不存在。有什么建议么

import { Injectable, NgZone } from '@angular/core';
import { AngularFireAuth } from "@angular/fire/auth";
import { AngularFirestore, AngularFirestoreDocument } from '@angular/fire/firestore';
import '@firebase/auth';
import { firebase } from '@firebase/app';

@Injectable({
  providedIn: 'root'
})

export class AuthService {
   constructor(
    public afs: AngularFirestore, 
    public afAuth: AngularFireAuth,
    public router: Router,  
    public ngZone: NgZone
  ) {    
    this.afAuth.authState.subscribe(user => {
      if (user) {
        this.userData = user;
        localStorage.setItem('user', JSON.stringify(this.userData));
        JSON.parse(localStorage.getItem('user'));
      } else {
        localStorage.setItem('user', null);
        JSON.parse(localStorage.getItem('user'));
      }
    })
  }
 GoogleAuth() {
  return this.AuthLogin(new auth.GoogleAuthProvider());  
  } 

标签: angularfirebase

解决方案


身份验证提供程序包含在“Firebase/app”中。目前在您的进口中,您有:

import { firebase } from '@firebase/app';

基于此,您应该能够使用以下方法访问 GoogleAuthProvider:

return this.AuthLogin(new firebase.auth.GoogleAuthProvider());

推荐阅读