Bonjour,
J'utilise des services REST avec Spring (Java) côté serveur et de l'angularJS côté client.
Pour protéger le cookie je souhaite utiliser HttpOnly (pour protéger d'une attaque XSS qui permettrait par du code Javascript de récupérer mon cookie par exemple) et Secure (pour qu'il soit envoyé que par HTTPS). Dans ce cookie il y aura un token JWT qui aura une certaine durée de validité et contenant l'identifiant de l'utilisateur. Le but est que le token JWT ne soit pas accessible par du javascript en le mettant dans la session HTML5 par exemple comme j'ai vu dans des exemples sur internet. Je ne sais pas si c'est bien ou pas au niveau sécurité...
Côté angularJS, j'ai vu qu'on doit utiliser "withCredentials : true" dans la configuration de $http qui semble permettre que le cookie (qui n'est donc pas accessible par Javascript) soit envoyé dans chaque requête HTTP par le navigateur.
Je souhaite aussi avoir une protection contre les vulnérabilités CSRF en utilisant un cookie XSRF et en configurant les propriétés "xsrfHeaderName" et "xsrfCookieName" sur "$httpProvider.defaults".
Première question: Est-ce que ce cookie doit être différent du premier qui contient le token?
Deuxième question: Il semble que ce cookie doit lui être accessible par javascript et donc ne doit pas être en HttpOnly c'est bien ca? Et si oui comment le protéger?
Troisième question: As t-on des équivalents à tout ca avec ngRoute et UI-Router?
Dernière question: Et dans angular 2 (avec typescript), comment sécuriser?
Merci d'avance.
Partager