firebase を使用して angular2 の認証オブジェクトにアクセスしようとしていますが、混乱しています。コンソールでユーザー認証資格情報を確認できますが、auth 変数が null のようです。
app.component.ts
import { Component } from '@angular/core';
import { AngularFire, FirebaseListObservable } from 'angularfire2';
import { AuthProviders, AuthMethods } from 'angularfire2';
@Component({
selector: 'app-root',
templateUrl: './app.component.html',
styleUrls: ['./app.component.css']
})
export class AppComponent {
title = 'app works!';
constructor(public af: AngularFire) {
this.af.auth.subscribe(auth => console.log(auth)); //nothing in the console
console.log(this.af.auth); // shows AngularFireAuth object with user credentials but says it is private
}
login() {
console.log("logging in...");
this.af.auth.login({
provider: AuthProviders.Google,
method: AuthMethods.Popup,
});
}
}
app.component.html
<div *ngIf="auth">You are logged in</div>
<div *ngIf="!auth">Please log in</div>
ユーザー資格情報を表示しているにもかかわらず、auth
変数が null のように見えるため、html にのみ表示されます。console.log(this.af.auth);
Please log in