将Firebase Auth用户数据安全地存储在离子存储中

问题描述 投票:0回答:1

使用AngularFireAuth在离子应用程序中实现Firebase身份验证,我希望可以通过该离子应用程序访问Firebase Auth User。离子存储将是一个好选择吗?

在登录页面中,我将收听AuthState Observable。如何在整个离子应用程序中观察AuthState的变化? AuthState更改时是否可以将其存储在离子存储中?

考虑到用户身份验证数据敏感,我应该选择安全存储而不是常规离子存储吗?

更新解决方案监听离子应用程序(所有组件)中的身份验证状态更改,我们需要一种服务,该服务可维护此身份验证状态可观察到的状态。而且任何组件都应该能够插入其中并聆听更改。

示例:登录用户到达登录页面后,如果auth注销(出于任何原因),则应将其带到登录页面。为此,登录页面组件将监听AuthState Service的用户可观察到的用户。如果为null,则将其注销。一些代码

firebase ionic-framework firebase-authentication angularfire
1个回答
0
投票

监听整个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;
  }
 }
© www.soinside.com 2019 - 2024. All rights reserved.