AngularJs 4.x和Firebase身份验证

时间:2017-09-07 12:06:14

标签: angular firebase-authentication

现在我使用AngularJs 4.x和Firebase身份验证,现在我在组件启动后遇到问题,我可以获取用户信息。

我不知道调用此API有什么意义,

  

https://www.googleapis.com/identitytoolkit/v3/relyingparty/getAccountInfo?key=xxx

但是在组件初始化之后,我可以获取用户信息。所以我无法检查用户是否已登录。

export class HomeComponent implements OnInit {
  ngOnInit() {
     if(this.authenticationService.getUser()) {
     }else{
       // false always because this code will be run before calling the getAccountInfo API
     }
  }
}

AuthenticationService看起来像这样,

@Injectable()
export class AuthenticationService {
    public token: string;

    constructor(
        private fb: AngularFireDatabase,
        private afAuth: AngularFireAuth

    ) {
        afAuth.auth.onAuthStateChanged((user: any) => {
            console.log('state changed', user);
            this.user = user;
        });
    }

    getUser() {
       return this.afAuth.auth.currentUser;
    }

    login() { ... }

如何在运行任何组件之前先获取用户信息?

0 个答案:

没有答案
相关问题