【发布时间】:2017-02-12 01:09:35
【问题描述】:
上下文:
- 我们有一个加载在线网站的cordova 应用程序。 (我们基本上使用 cordova 作为插件)
- 我们使用
$cookies.put()存储cookie - 它在桌面浏览器和 iOS 上运行良好(只要我们在 饼干)
问题:
在 Android 上,如果用户在调用 $cookies.put() 后 30 秒内终止应用程序,则 cookie 将在下次重启时消失。
如果用户等待超过 30 秒(比如 35 秒或更长时间),一切正常。
问题:
我们如何强制立即保存 cookie(或至少更快)?
注意事项:
- 在 cookie 上添加选项不会改变任何内容
- 我尝试使用 cordova-plugin-crosswalk-webview 将系统浏览器替换为人行横道,但效果相同
【问题讨论】:
-
您是否尝试过使用本地存储? Safari 中的默认安全选项可能会导致某些用户的 cookie 出现问题。
-
此问题仅在 Android 上。
-
但是你为什么要专门使用cookies呢?
-
@GabLeRoux article 针对的是在其正文中包含敏感信息的 JWT。所以他们试图将其隐藏在 XSS 黑客中,但他们并没有真正实现,只是更复杂。
-
我想在本地存储中使用 JWT 可能是一种选择,但我仍然觉得原来的问题很奇怪。我们应该在最小的场景中重现这一点。
标签: android angularjs cordova cookies