For the complete documentation index, see llms.txt. This page is also available as Markdown.

Echanges front/back

Cette page a été partiellement produite par l'IA.

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

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é

LexikJWTAuthenticationBundle

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é)

Faire make:user avant

Firewall login

Firewall API

Access control (exemple Ă  adapter)

6. Installation cÎté Vue.js

Exemple avec Axios, la logique est identique avec fetch. Choisissez l'un ou l'autre.

Axios

Axios

7. Service API propre

api.js

Le service va éviter de penser a token à chaque appel.

8. Login Vue.js

Exemple Composition API

Ici api fait référence au fichier api.js écrit précédemment

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