Légèrement HS mais pas tant que ça :
Ensuite, tu stockes la correspondance entre jeton, utilisateur et date de validité dans une BDD et puis c’est bon.
Je ne vois pas pourquoi il y aurait besoin de stocker cette correspondance dans une BDD, dès lors que ces informations (dates de validité — début de validité et expiration — et au moins l’id de l’utilisateur) sont embarquées dans le JWT et que celui-ci est signé cryptographiquement.
Au contraire, les stocker dans une BDD me semble peindre une grosse cible en rouge sur cette BDD pour d’éventuels attaquants désireux d’usurper l’identité des utilisateurs…
Du moment que l’algo utilisé pour signer le token est fiable (et que le transport sur le réseau est chiffré), il suffit de vérifier la signature pour s’assurer de l’authenticité des informations embarquées d’une part, et du fait que le jeton a été signé par "nous" ou en tout cas par l’acteur responsable d’authentifier le porteur.
C’est exactement ce qui se passe quand on vérifie un token provenant d’un fournisseur d’identité tiers comme google/apple/facebook/… en utilisant le protocole openid connect : on vérifie la signature du JWT en utilisant la clé publique du provider, ainsi que les claims embarqués dedans comme sa période de validité, le fait qu’il a bien été généré pour notre application ("audience"), par le provider lui-même ("issuer"), etc.
Cela m’amène au problème de ce topic : ok il est donc question de faire de l’authentification, mais je ne vois pas du tout pourquoi il y aurait besoin de générer un token automatiquement à intervalles réguliers.
En général, on fournit un token avec une date d’expiration, et on dispose d’un point d’accès qui permet de rafraîchir ce token, en laissant la responsabilité au client de rafraîchir régulièrement son token pour rester authentifié.
Du coup ce que l’on attend de toi @NightProg c’est que tu nous décrives comment fonctionne ton système d’auth afin de comprendre dans quel contexte tu peux avoir besoin de générer périodiquement des tokens aléatoires… Parce que dit comme ça, ça semble louche.