Angularfire2 登录后重定向

标签 angular firebase ionic2 firebase-authentication angularfire2

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

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

我的登录代码:

registerUserWithGoogle() {
   console.log('Google');
   this.af.auth.login();
}

我的 firebase 配置是:

export const myFirebaseAuthConfig = {
   provider: AuthProviders.Google,
   method: AuthMethods.Redirect
};

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

最佳答案

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

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

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
      }
    });
  }

}

注意:您无需订阅每个页面。仅在 AppComponent 或您的应用特定根组件中订阅。

关于Angularfire2 登录后重定向,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40126710/

相关文章:

reactjs - 为什么我无法通过 firebase 进行身份验证?

android - 为 android 构建统一项目(具有 firebase)时出错

javascript - Ionic 2 与 ngrx、AlertController、LoadController 问题

android - 如何基于 Angular2 应用程序创建 Android 应用程序。

javascript - 将数组中的最后一个对象推送到下一个数组

javascript - 如何使用 PrimeNG 展开/折叠组?

java - 如何解决 Angular 12 中的 CORS 问题?

javascript - Typescript/Javascript 中的复合 Promise?

javascript - 在 Firebase 中制作用于更新数据的 Web 表单

modal-dialog - 如何在 ionic 2 中创建模态视图?