16

我一直在使用 Ionic 构建一个 android 应用程序。在这一点上,我的印象是 Cordova 应用程序不会保存或发送从 REST API 服务器提供的 cookie。如果我使用“ionic serve”命令运行应用程序,我可以看到我的会话和 CSRF cookie 是与我的 AJAX 请求一起发送的。但是,当我使用“ionic emulate”命令运行代码时,似乎两者都没有发送到我的服务器。

我已经看到一些文章和线程讨论在扩展 CordovaActivity 的类中使用 setAcceptThirdPartyCookies() 方法,但这对我不起作用。

我尝试在我的角度模块配置中使用 $httpProvider.defaults.withCredentials = true 无济于事。

我曾尝试使用 ngCookies,但这似乎也无法处理来自我的 API 服务器的 cookie。

我只想一劳永逸地知道是否可以在 Cordova 应用程序中使用 cookie。如果不是,我将采用基于令牌的方法。不过,如果能够为移动应用程序和 Web 应用程序使用相同的安全配置,那就太好了。

4

2 回答 2

17

你不能使用cookies,你应该使用localStorage

浏览器提供了一个方便的模块,用于以简单的键 <-> 值方式存储数据,称为 localStorage。这是窗口上的一个对象,我们可以轻松获取和设置字符串值

有关详细信息,请参阅

于 2015-06-30T13:30:30.280 回答
4

不,你不能。我也尝试在我的一个应用程序中使用 cookie,但它不起作用,因为 cookie 在新版本的 Android 中被禁用。我通过使用 HTML5 localStorage API 解决了这个问题。

于 2015-06-30T13:28:53.193 回答