progressive-web-apps - 渐进式 Web 应用程序中的脱机身份验证流程
问题描述
离线时 PWA 中身份验证流程的最佳方法是什么。我正在使用 OIDC 客户端 js 进行在线身份验证流程。
解决方案
授权服务器与您的 API 并排放置,因此我将两者一视同仁:
- 如果设备处于离线状态,您将无法调用 API,因此您必须使用本地缓存的数据 - 例如用于最后呈现的视图的数据
- 如果设备离线,您也无法执行用户身份验证或令牌刷新操作
OIDC 的行为不会改变——您只需要一个 API 访问的设计模式,它并不真正取决于您使用的技术:
- MyView 使用 MyApiClient
- 在线时,如果还没有token,MyApiClient会发起OAuth相关的调用,然后在Authorization header中添加token,调用MyApi
- 离线时,MyApiClient 会改为查看本地缓存并显示缓存数据(如果可以),同时通知用户他们离线
推荐阅读
- ios - 多线程上的核心数据操作导致插入但没有获取
- powershell - PowerShell Get-FileHash 的管道和圆括号有什么区别?
- python - 如何覆盖 str 子类的“按 % 格式化”的方法?
- python - 如何在不保留大量值的情况下获取 Python 中不同值的计数
- php - 如何访问嵌套 JSON 的某些部分?
- php - 如何让 PHP 理解 * 或 * 一个数组或函数参数的 splat 运算符(3 点 ...)?
- sql - 允许空 SET 语句(没有 SET 选项分配)
- python - ImportError:在执行 python3 manage.py 迁移时无法导入名称“memoize”
- ios - 如何转换 MyResult
到我的数据? - php - 需要帮助从 php codeigntier 中的数据库中获取数据