2016-08-31 6 views
0

firebaseを使用してangular2のauthオブジェクトにアクセスしようとしていますが、混乱してしまいました。コンソールでユーザー認証資格情報を確認できますが、認証変数はnullと思われます。AngularFire2のAuthオブジェクトへのアクセス

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変数がconsole.log(this.af.auth);は、ユーザーの資格情報を示すため、唯一されていてもヌルであるように思われますPlease log inがhtmlに表示されます。

+0

あなたはコンポーネントloginメソッドを呼び出し、それの後にチェックがありますか?例を参照してください。 – ranakrunal9

+0

私は前と同じような靴を着ていました。これが、コミュニティが認証状態を管理するためのドキュメントを提案した理由です。 https://github.com/angular/angularfire2/issues/343 –

答えて

1
this.af.auth.login(value, {provider:AuthProviders.Password, method:AuthMethods.Password}).then((success) =>{ 
     console.log(JSON.stringify(success)); 
    }).catch((err) => { 
     console.log(err); 
    }); 

https://github.com/Govinda-Wagle/Angular2-AngularFire-Blog/blob/master/src/app/Login/login.component.ts

+0

を参照してください。[*他の場所に実際にリンクされている回答は本当に「良い回答」ですか?*](http://meta.stackexchange.com/q/ 8231/338149) – cartant

関連する問題