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 :
Est il possible d'implémenter un système de rafraîchissement des JWT sans base de données ?
Si oui, pouvez vous m'aiguiller vers la direction à prendre ?
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