JWT SPA symfony exercice pratique
Chanter JWT pour l'authentification dans un SPA avec Symfony est très facile grâce à des bundles comme FOSUserBundle, LexikJWTAuthenticationBundle et JWTRefreshTokenBundle. Malheureusement, ils ne fournissent pas de sécurité contre les attaques XSS (ce qui, selon vous, n'est pas vraiment là). Dans cet article, je veux montrer comment nous pouvons améliorer une application Symfony en utilisant ces bundles pour empêcher les attaques XSS. Comme il est assez long, je vais le diviser en parties suivantes:
Pourquoi les applications avec JWT sont vulnérables contre XSS
Les problèmes séparés que nous devons résoudre
La solution à ces problèmes
Adaptations nécessaires pour les tests du contrôleur
Adaptations pour le frontend et outils comme Postman
Pourquoi la combinaison de JWT et XSS est-elle si pertinente?
Bases de JWT
La promesse de JWT est simple: dans le frontend, vous effectuez une action de connexion qui retourne un JWT (JSON Web Token). Avec ce JWT, vous pouvez ensuite effectuer d'autres actions sur le serveur qui nécessitent une authentification en fournissant uniquement le JWT. Le délai d'authentification et d'expiration fait partie du JWT.