问题描述
在高层次上,我有一个带有 React 前端和 .netcore 后端的 PWA。我使用 Service Worker 来实现缓存和离线功能,并结合工作箱插件来实现一些预缓存功能。
该应用程序使用 Windows 身份验证。如果它不是 PWA 应用程序,它可以正常工作。 PWA 应用程序第一次启动时它也能正常工作,我会收到用户名、密码登录弹出窗口。
然而,从第二次访问该应用程序开始,它不会显示登录弹出窗口,该应用程序无法从后端提取数据,因为它未经身份验证。一种奇怪的行为是,如果我打开 Chrome Dev Tools(按 F12),那么登录弹出窗口会立即显示。
我认为它与缓存相关,并且服务工作者以某种方式干扰了服务器端身份验证工作流程。也许是因为索引页是由工作箱预缓存插件缓存的,并且它没有使用 'credentials': 'include'
的 fetch 标头缓存?我尝试将 fetch 选项添加到其他 api 路由,这些路由由工作箱插件 RegisterRoute 缓存。但是我没有找到将它添加到 precacheAndRoute(self.__WB__MANIFEST)
的方法。想知道是不是这个问题。但我也不确定为什么打开开发工具会触发弹出窗口显示。
感谢任何输入。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)