我们的要求是让用户通过URL登录应用程序,并将其添加到主屏幕作为PWA后,保持已登录状态,这样就不需要对安装的PWA进行第二次登录。在Android/Chrome下,这显然是可能的,因为可以通过各种机制(包括cookie、IndexedDB、cache)最初存储和访问登录状态。 然而,我们现在发现,在iOS 14/iPadOS 14下,PWA被严密地沙盒化,Safari没有办法将登录状态传递给它。
多年来,在各个版本的iOS中,提供了各种共享机制,并在随后的版本中变得过时。其中包括:
1.通过伪造端点访问缓存 (参考)
2.会话cookie (参考)一种不依赖于浏览器共享存储的机制是将服务器生成的令牌添加到URL中(参见 ref),(ref)。问题在于这会影响使用未修改的
start_url
的Android/Chrome的用户体验,这是一个问题。多年来,这个问题引发了许多SO问题,并且其中一些问题已经得到了回答,解决方案在早期版本的iOS下似乎有效。我们现在想要的是一个可以在最新版本下与Android/Chrome一样有效的解决方案。有什么建议吗?