现在我正在开发一个基于 Web 的应用程序,用户必须首先登录。
当我通过 iPhone Safari 打开页面、登录并重新启动 Safari 时,我仍然处于登录状态(Cookie 和 session ID 仍然设置)。
但是当我使用“添加到主屏幕”添加此页面时,每次单击该页面的图标时,我都必须再次登录。
我没有找到任何相关信息。我该怎么做才能让我的用户可以将此页面设置为他们的主屏幕 作为图标,并且每次打开它时仍然不需要登录?
最佳答案
一个非常简单的方法可能是在您的书签 URL 中使用唯一的 token ,它可以为您提供唯一的设备标识符。
示例: http://myWebApp.com/?token=randomId29238/1
可以在 Mobile Safari 中打开应用程序时以及提示用户“添加到主屏幕”信息之前在服务器端生成 token 。 然后可以使用快速重定向 (…&token=randomToken) 或位置哈希 (…#randomToken) 将 token 添加到 URL。
现在,只要从主屏幕打开书签, token 就会发送到您的服务器,您可以识别用户的事件 session 。 您还可以使用 token 作为永久 session ID,但出于安全考虑,我建议不要这样做。
为了允许将来的注销和登录过程,您始终可以将新 session 分配给 token 。
每当用户从主屏幕重新打开您的链接时, token 将作为唯一的设备标识符。
关于iPhone "Bookmark to Homescreen"删除 cookie 和 session ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3813599/