Echanges front/back
1. Pourquoi JWT ?
Dans une architecture moderne :
le front Vue.js gĂšre lâinterface utilisateur,
le backend Symfony expose une API,
đ On utilise donc un token transmis Ă chaque requĂȘte.
Le JWT (JSON Web Token) permet :
â authentification sans session â API stateless â sĂ©paration claire front / back â compatibilitĂ© SPA / mobile / microservices
2. Principe global
Cycle complet
Ătapes
1ïžâŁ Login
Le front envoie :
2ïžâŁ Symfony vĂ©rifie
Si OK :
Symfony renvoie :
3ïžâŁ Vue stocke le token
Dans :
localStorage ou
sessionStorage
4ïžâŁ Chaque appel API ajoute :
5ïžâŁ Symfony vĂ©rifie le token
Si valide :
â accĂšs autorisĂ©
3. Anatomie dâun JWT
Un JWT contient 3 parties :
Exemple
Header
Payload
Signature
Permet de vĂ©rifier que le token nâa pas Ă©tĂ© modifiĂ©.
â ïž Important :
Le payload est lisible.
đ On ne met jamais :
â mot de passe â donnĂ©es sensibles
4. Installation cÎté Symfony
Bundle recommandé
Installation
Génération des clés
Cela crée :
Configuration .env (normalement déjà fait)
5. Configuration security.yaml
Partie principale (a adapter avec votre entité)
Adpater email pour correspondre Ă votre configuration symfony
Firewall login
Adapter email et password qui sont les noms de vos champs venant du front
Firewall API
Access control (exemple Ă adapter)
6. Installation cÎté Vue.js
Axios
Axios
7. Service API propre
api.js
8. Login Vue.js
Exemple Composition API
9. Ajouter automatiquement le token
Interceptor Axios (Ă mettre dans api.js)
10. Exemple appel protégé
Symfony reçoit :
12. RĂ©cupĂ©rer lâutilisateur connectĂ© cĂŽtĂ© Symfony
13. Gestion expiration token
JWT contient :
Si expiré :
Symfony renvoie :
CÎté Vue :
14. Déconnexion
JWT ne se "détruit" pas cÎté serveur.
On fait :
15. Architecture recommandée
16. Route guard Vue Router
Vue Router
Le fichier api.js complet
Mis Ă jour
