cordovaionic-frameworkngcordova

Can you use cookies in a Cordova application?


I have been building an android app using Ionic. At this point, I am under the impression that Cordova applications do not save or send the cookies that are served from a REST API server. If I run the application with the 'ionic serve' command I can see that my session and CSRF cookies are sent with my AJAX requests. However, when I run the code with the 'ionic emulate' command it does not appear that either are sent to my server.

I have seen some articles and threads that talk about using the setAcceptThirdPartyCookies() method in the class that extends CordovaActivity, but that hasn't worked for me.

I have tried using $httpProvider.defaults.withCredentials = true in my angular module config to no avail.

I have tried using ngCookies, but that doesn't appear to get a handle on the cookies from my API server either.

I just want to know once and for all if using cookies in a Cordova application is possible or not. If it isn't I will go with a token based approach. It would be nice to be able to use the same security configuration for the mobile app and web app though.


Solution

  • You can't use cookies, you should use localStorage

    Browsers provide a convenient module for storing data in a simple key <-> value fashion called localStorage. This is an object on window that we can get and set String values easily

    See this for details