我正在尝试在Angular 2项目中使用Firebase身份验证功能。这些是我在package.json
文件中提取的软件包:
"firebase": "^3.7.1",
"angularfire2": "^2.0.0-beta.8",
组件在app.module.ts
中初始化,如下所示:
...snipped...
import { AngularFireModule, AuthProviders, AuthMethods } from 'angularfire2';
import { firebaseConfig } from './../environments/firebase.config';
import { FirebaseService } from './services/firebase.service';
...snipped...
const firebaseAuthConfig = {
provider: AuthProviders.Google,
method: AuthMethods.Popup
};
...snipped...
@NgModule({
declarations: [
...snipped...
],
imports: [
BrowserModule,
FormsModule,
HttpModule,
AngularFireModule.initializeApp(firebaseConfig, firebaseAuthConfig),
RouterModule.forRoot(appRoutes)
],
providers: [FirebaseService],
bootstrap: [AppComponent]
})
export class AppModule { }
然后我在navbar.component.ts
的“登录”按钮中使用它,如下所示:
import { Component, OnInit } from '@angular/core';
import { AngularFire } from 'angularfire2';
@Component({
selector: 'app-navbar',
templateUrl: './navbar.component.html',
styleUrls: ['./navbar.component.css']
})
export class NavbarComponent implements OnInit {
constructor(public af: AngularFire) { }
ngOnInit() {
}
login() {
this.af.auth.login();
}
logou() {
this.af.auth.logout();
}
}
当我点击登录按钮时,谷歌登录弹出窗口会立即打开和关闭,我可以在我的控制台中看到以下错误:
EXCEPTION:未捕获(在承诺中):错误:网络错误(例如 已发生超时,中断连接或无法访问的主机。
以下是完整的错误消息:
在我的Firebase项目中,我启用了 Google 作为登录提供商。
我知道其他人也有类似的问题angularfire 2: Error "Unhandled Promise rejection: TypeError: Cannot read property",但他们的问题是他们使用的是旧的angularfire2 / firebase软件包。
为什么会出现这种错误?