当用户离线使用Angular PWA时如何处理身份验证?

Jal*_*aer 6 authentication progressive-web-apps identityserver4 angular

我在PWA中有一个角度应用程序。我主要关心的是允许用户离线使用应用程序而无需连接互联网。问题是:如何使用IdentityServerOIDC来实现?我正在考虑以下解决方案:假设我有一个有效的“刷新令牌”,那么只要Internet连接处于脱机状态,我就会认为该用户仍在身份验证中。当然,这意味着用户已经在“联机”时登录。

处理“登录”时仍“脱机”的任何建议。例如,Windows OS使用某种“本地存储”来进行身份验证用户,即使他们没有Internet连接也是如此。任何建议,赞赏

Bal*_*han 5

假设用户有互联网连接并登录到应用程序:

  • 保存刷新令牌 localstorage.setItem('resfreshToken', yourToken)
  • 当用户打开应用程序时检查 localstorage.getItem('refereshToken')
  • 如果它不为 null 或为空,则用户已通过身份验证。

据我所知refresh tokens,不会过期,以便您始终可以使用刷新令牌来获取新令牌。因此,当互联网连接恢复时,您可以使用refresh token请求新的access token并提交数据更改。

  • 刷新令牌的到期时间通常比常规访问令牌长得多 (2认同)