web-dev-qa-db-fra.com

Pouvez-vous utiliser des cookies dans une application Cordova?

J'ai construit une application Android utilisant Ionic. À ce stade, j'ai l'impression que les applications Cordova n'enregistrent pas ou n'envoient pas les cookies qui sont servis à partir d'un REST Serveur API. Si j'exécute l'application avec la commande 'ionic serve', je peux voir que mes cookies de session et CSRF sont envoyés avec mes AJAX requêtes. Cependant, lorsque j'exécute le code avec la commande "ionic emulate", il ne semble pas que l'un ou l'autre soit envoyé à mon serveur.

J'ai vu des articles et des discussions qui parlent de l'utilisation de la méthode setAcceptThirdPartyCookies () dans la classe qui étend CordovaActivity, mais cela n'a pas fonctionné pour moi.

J'ai essayé d'utiliser $ httpProvider.defaults.withCredentials = true dans ma configuration du module angular en vain.

J'ai essayé d'utiliser ngCookies, mais cela ne semble pas non plus gérer les cookies de mon serveur API.

Je veux juste savoir une fois pour toutes si l'utilisation de cookies dans une application Cordova est possible ou non. Si ce n'est pas le cas, j'opterai pour une approche basée sur des jetons. Ce serait bien de pouvoir utiliser la même configuration de sécurité pour l'application mobile et l'application Web.

15
user1621216

Vous ne pouvez pas utiliser de cookies, vous devez utiliser localStorage

Les navigateurs fournissent un module pratique pour stocker des données d'une manière simple <-> valeur clé appelée localStorage. Ceci est un objet sur la fenêtre que nous pouvons obtenir et définir facilement des valeurs de chaîne

Voir this pour plus de détails

16
Matteo Basso

Non, tu ne peux pas. J'ai également essayé d'utiliser des cookies dans l'une de mes applications, mais cela n'a pas fonctionné car les cookies sont désactivés dans la nouvelle version d'Android. J'ai résolu ce problème en utilisant l'API HTML5 localStorage.

4
Stanimir Dimitrov