我们的要求是让我们的用户通过 URL 登录到一个应用程序,并且在将应用程序作为 PWA 添加到他们的主屏幕后,保持登录状态,这样就不需要第二次登录到已安装的 PWA 了。这在 Android/Chrome 下当然是可能的,其中登录状态最初可以由 PWA 通过各种机制(包括 cookie、IndexedDB、缓存)存储和访问。
但是,现在在我们看来,iOS 14/iPadOS 14 下的 PWA 是紧密沙箱化的,Safari 无法将登录状态传递给它。多年来,通过各种版本的 iOS,提供了各种共享机制,但在后续版本中已过时。这些包括:
一种不依赖浏览器共享存储的机制是将服务器生成的令牌添加到 URL ( ref ), ( ref ) - 这里的问题是它扰乱了 Android/Chrome,它start_url在网络中使用未修改的应用清单。
多年来,这是一个引发了许多 SO 问题的问题(上面提到了其中三个),其中一些已经得到了解决方案的回答,这些解决方案显然在早期版本的 iOS 下有效。我们现在想要的是一个既能在最新版本下运行又能在 Android/Chrome 下运行的解决方案。有什么优惠吗?