使用AngularFireAuth在离子应用程序中实现Firebase身份验证,我希望可以通过该离子应用程序访问Firebase Auth User。离子存储将是一个好选择吗?
在登录页面中,我将收听AuthState Observable。如何在整个离子应用程序中观察AuthState的变化? AuthState更改时是否可以将其存储在离子存储中?
考虑到用户身份验证数据敏感,我应该选择安全存储而不是常规离子存储吗?
更新解决方案监听离子应用程序(所有组件)中的身份验证状态更改,我们需要一种服务,该服务可维护此身份验证状态可观察到的状态。而且任何组件都应该能够插入其中并聆听更改。
示例:登录用户到达登录页面后,如果auth注销(出于任何原因),则应将其带到登录页面。为此,登录页面组件将监听AuthState Service的用户可观察到的用户。如果为null,则将其注销。一些代码
监听整个ionic应用程序(所有组件)的Auth State更改,我们需要一个可维护此Auth State Observable的服务。而且任何组件都应该能够插入其中并聆听更改。
示例:登录用户到达登录页面后,如果auth注销(出于任何原因),则应将其带到登录页面。为此,登录页面组件将监听AuthState Service的用户可观察到的用户。如果为null,则将其注销。一些代码
import * as firebase from 'firebase/app';
import * as firebase from 'firebase/app';
import { AngularFireAuth } from '@angular/fire/auth';
import { AngularFirestore, AngularFirestoreDocument } from '@angular/fire/firestore';
import { Observable, of } from 'rxjs';
export class AuthService {
user$: Observable<firebase.User>;
constructor(
private afAuth: AngularFireAuth,
private afs: AngularFirestore,
private gplus: GooglePlus,
private platform: Platform,
private navCtrl: NavController
) {
this.user$ = this.afAuth.authState;
}
}