我正在使用 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/