J'ai une application avant/arrière qui doit être connectée pour être utilisée. Lorsque je me connecte (au moyen de l'application frontale envoyant une demande à l'arrière-plan), ce que je fais, c'est d'envoyer un cookie, mais un JSON
avec un jeton dedans. Ce dernier sera stocké par l'application frontale dans un sessionstorage
et chaque fois qu'il interagira avec l'arrière-plan, il enverra une demande avec le jeton stocké dans le sessionstorage
. L'arrière-plan vérifiera la validité du jeton.
Pensez-vous que cette solution est CSRF en sécurité? Voyez-vous d'autres vulnérabilités que je ne considère pas/ignorer?
C'est certainement plus sûr que d'utiliser un cookie lorsqu'il s'agit de CSRF, mais il est moins sûr en ce qui concerne les XSS, car le stockage de la session peut être lu à partir de JavaScript, tandis que les cookies HTTP ne peuvent pas.
[.____] Cela dépend donc de la confiance de votre protection contre les XSS.
Si vous allez faire pour cette approche, je suggérerais d'utiliser l'en-tête d'autorisation avec le schéma de porteur.
Authorization: Bearer <token>
Autres choses à garder à l'esprit: