首页 > 解决方案 > 渐进式 Web 应用程序中的脱机身份验证流程

问题描述

离线时 PWA 中身份验证流程的最佳方法是什么。我正在使用 OIDC 客户端 js 进行在线身份验证流程。

标签: progressive-web-appsopenid-connectoffline-caching

解决方案


授权服务器与您的 API 并排放置,因此我将两者一视同仁:

  • 如果设备处于离线状态,您将无法调用 API,因此您必须使用本地缓存的数据 - 例如用于最后呈现的视图的数据
  • 如果设备离线,您也无法执行用户身份验证或令牌刷新操作

OIDC 的行为不会改变——您只需要一个 API 访问的设计模式,它并不真正取决于您使用的技术:

  • MyView 使用 MyApiClient
  • 在线时,如果还没有token,MyApiClient会发起OAuth相关的调用,然后在Authorization header中添加token,调用MyApi
  • 离线时,MyApiClient 会改为查看本地缓存并显示缓存数据(如果可以),同时通知用户他们离线

推荐阅读