[SYMFONY / JWT] Implementer Refresh Token JWT

Par Ikemad, il y a 6 ans


Bonjour à tous,

je développe une petite application dont le backend est créé avec symfony (5) et le frontend avec Vue.js. J'ai mis en place un système d'authentification via JWT grâce au bundle LexikJWTAuthenticationBundle et je souhaiterais maintenant implémenter le rafraîchissement de ces tokens, je me suis donc orienté vers ce bundle : JWTRefreshTokenBundle qui m'avait l'air tout désigné pour cette tâche.

Mon problème est le suivant : cette application n'est "relié" à aucune BDD, j'utilise le Memory User Provider de symfony pour gérer les utilisateurs (cf security.yaml plus bas). Or le bundle JWTRefreshTokenBundle est dépendant de doctrine et d'après la documentation il m'a l'air de stocker les tokens en BDD .

Mes questions sont donc :

Merci à tous de vos réponses !

security.yaml :

security: encoders: Symfony\Component\Security\Core\User\User: 'auto' providers: users_in_memory: memory: users: admin: {password: '...', roles: ['...']} firewalls: login: pattern: ^/api/login stateless: true anonymous: true json_login: check_path: /api/login_check success_handler: lexik_jwt_authentication.handler.authentication_success failure_handler: lexik_jwt_authentication.handler.authentication_failure api: pattern: ^/api stateless: true guard: authenticators: - lexik_jwt_authentication.jwt_token_authenticator

2 réponses

olive140, il y a 6 ans

Bonjour,
Les refresh tokens doivent être enregistrés, donc l'utilisation d'une base de données est obligatoire.

Ikemad, il y a 6 ans

Je vous remercie de votre réponse, ça confirme ce à quoi je m'attendais.