登录后Angularfire2重定向

Fer*_*lmo 2 firebase firebase-authentication ionic2 angularfire2 angular

我正在使用 ionic 2 rc0 和 angular 2,我刚刚添加了 angularfire2 以使用 firebse auth。

我已经完成所有配置和测试(我只看到我的用户登录了 firebase 控制台),但我想在登录后重定向到其他页面。

我的登录代码:

registerUserWithGoogle() {
   console.log('Google');
   this.af.auth.login();
}
Run Code Online (Sandbox Code Playgroud)

我的 Firebase 配置是:

export const myFirebaseAuthConfig = {
   provider: AuthProviders.Google,
   method: AuthMethods.Redirect
};
Run Code Online (Sandbox Code Playgroud)

那么有没有办法在方法 login() 之后重定向?

Vam*_*msi 5

AngularFire2 有一个名为authStatein的属性AngularFireAuth,您可以订阅该属性以获取身份验证状态更改

这是处理用户身份验证的推荐方法,因为您将订阅身份验证状态的更改,其他方法可能无法按预期工作,例如当用户刷新页面时用户对象可能不存在。

import { AngularFireAuth } from 'angularfire2/auth';

@Component({
  templateUrl: 'app.html'
})
export class AppComponent {

  constructor(public afAuth: AngularFireAuth) {}

  ngOnInit() {
    this.afAuth.authState.subscribe(user => {
      if (user) {
        // go to home page
      } else {
        // go to login page
      }
    });
  }

}
Run Code Online (Sandbox Code Playgroud)

注意:您不需要在每个页面上都订阅。仅订阅AppComponent或您的应用程序特定的根组件。