Javascript 保持用户登录

Javascript 保持用户登录,javascript,angular,firebase,ionic-framework,firebase-authentication,Javascript,Angular,Firebase,Ionic Framework,Firebase Authentication,我正在创建一个Ionic应用程序(iOS和Android带电容器)。 我将Firebase Auth添加到我的应用程序中,但每次退出应用程序时,我都需要再次登录 我看到了这个,但是没有太多的文档,我试过了,但是没有效果。 我不确定我是否正确使用了它或在正确的位置添加了代码。 我考虑将用户信息保存在本地存储器中,当应用程序加载时,检查是否有数据,如果有,将用户移动到主屏幕,否则,显示登录屏幕。但我不确定这是否是一个好的做法 这是我如何为用户签名的: async googleSignIn()

我正在创建一个Ionic应用程序(iOS和Android带电容器)。 我将Firebase Auth添加到我的应用程序中,但每次退出应用程序时,我都需要再次登录

我看到了这个,但是没有太多的文档,我试过了,但是没有效果。 我不确定我是否正确使用了它或在正确的位置添加了代码。

我考虑将用户信息保存在本地存储器中,当应用程序加载时,检查是否有数据,如果有,将用户移动到主屏幕,否则,显示登录屏幕。但我不确定这是否是一个好的做法

这是我如何为用户签名的:

  async googleSignIn() {
    let googleUser = await Plugins.GoogleAuth.signIn();
    let credential = firebase.auth.GoogleAuthProvider.credential(googleUser.authentication.idToken);

    
    let userCredential = await this.afAuth.signInWithCredential(credential);
    return userCredential;
  }
我尝试使用app.component.ts文档中的内容,如下所示:

import { Component } from '@angular/core';
import { Router } from '@angular/router';
import firebase from 'firebase/app';

@Component({
  selector: 'app-root',
  templateUrl: 'app.component.html',
  styleUrls: ['app.component.scss'],
})

export class AppComponent {
  rootPage: 'login';
  constructor(private router: Router) { 
    firebase.auth().onAuthStateChanged((user) => {
      if(user) {
        this.router.navigate(['home']);
      } else { 
        this.router.navigate(['login']);
      }
    });
  }
}

似乎它没有“连接”到任何东西,但我找不到太多信息。

Firebase身份验证可以自动保留用户的身份验证状态,并在应用程序重新启动/页面重新加载时恢复该状态。但在某些环境中,默认情况下不启用此功能,您必须按照上的文档中所示自行配置此功能。这应该采取如下形式:

firebase.auth().setPersistence(firebase.auth.Auth.Persistence.LOCAL)
之后,您的
onAuthStateChanged
应开始工作

另见:

  • 关于离子论坛
  • 这些是搜索的结果