如何在 Ionic 4 中使用 Firebase 处理刷新令牌?

How to handle refresh token with Firebase in Ionic 4?

我正在尝试在我的 Ionic 4 应用程序中将 firebase 实施为 Auth 机制。 我正在使用此代码让用户使用电子邮件和密码登录:

    loginUser(value){
   return new Promise<any>((resolve, reject) => {
     firebase.auth().signInWithEmailAndPassword(value.email, value.password)
     .then(
       res => resolve(res),
       err => reject(err))
   })
  }

由于 Firebase 使用 accessToken 在创建 1 小时后过期,并使用 refreshToken 刷新第一个,我不确定如何继续;我的意思是我应该在我的数据库中保存 accessToken 和 refreshToken 吗?如何刷新令牌?这个操作是自动完成的还是我应该做些什么?我还使用了一个 JavaEE 服务器,它通过传递 accessToken 来检测用户是否使用 Firebase 正确登录。

should I save both accessToken and refreshToken in my database?

与其自己保留令牌,不如使用 Auth.setPersistence() 告诉 Firebase 在何处保留身份验证信息。例如:

firebase.auth().setPersistence(fire.localPersistence())

尽管如此,请务必测试是否需要这样做,因为在大多数环境中,Firebase 会自动确定在何处保留身份验证状态。


How to refresh the token? Is this operation done automatically or should I do something?

ID 令牌在创建后约 55 分钟由 Firebase SDK 自动刷新。