小编Vel*_*jet的帖子

如何在最初通过 Safari 14/iOS 14 加载的 PWA 中保持登录状态?

我们的要求是让我们的用户通过 URL 登录到一个应用程序,并且在将应用程序作为 PWA 添加到他们的主屏幕后,保持登录状态,这样就不需要第二次登录到已安装的 PWA 了。这在 Android/Chrome 下当然是可能的,其中登录状态最初可以由 PWA 通过各种机制(包括 cookie、IndexedDB、缓存)存储和访问。

但是,现在在我们看来,iOS 14/iPadOS 14 下的 PWA 是紧密沙箱化的,Safari 无法将登录状态传递给它。多年来,通过各种版本的 iOS,提供了各种共享机制,但在后续版本中已过时。这些包括:

  1. 缓存,通过假端点(ref)访问
  2. 一个会话 cookie ( ref )

一种不依赖浏览器共享存储的机制是将服务器生成的令牌添加到 URL ( ref ), ( ref ) - 这里的问题是它扰乱了 Android/Chrome,它start_url在网络中使用未修改的应用清单。

多年来,这是一个引发了许多 SO 问题的问题(上面提到了其中三个),其中一些已经得到了解决方案的回答,这些解决方案显然在早期版本的 iOS 下有效。我们现在想要的是一个既能在最新版本下运行又能在 Android/Chrome 下运行的解决方案。有什么优惠吗?

safari mobile-safari ios progressive-web-apps

16
推荐指数
2
解决办法
3129
查看次数

标签 统计

ios ×1

mobile-safari ×1

progressive-web-apps ×1

safari ×1