JWT tokens contenir des revendications, qui sont des déclarations sur le sujet (par exemple, l'utilisateur connecté). Ces instructions peuvent être des noms, des e-mails, des rôles, etc. Les jetons JWT sont signés numériquement et ne sont pas vulnérables aux attaques CSRF.
Ces deux caractéristiques garantissent que le service recevant le jeton n'a pas besoin de revenir au serveur d'authentification émetteur pour vérifier la validité du jeton ou obtenir des informations sur le sujet.
Cela augmente la capacité d'un système utilisant des jetons JWT à évoluer de manière significative. Les jetons JWT nécessitent un canal de transport sécurisé (HTTPS). L'inconvénient de ceci est que les jetons ne peuvent pas être révoqués (car il n'y a pas de serveur central protégeant ces jetons). C'est pourquoi les jetons ont généralement une durée de vie courte. D'autre part, les jetons détenant un session id ont besoin de contacter le serveur d'authentification pour valider le jeton (généralement la recherche dans la base de données) et récupérer des informations sur le sujet (une autre recherche dans la base de données).
La validation de HMAC tokens nécessite la connaissance de la clé secrète utilisée pour générer le jeton. En règle générale, le service de réception (votre API) doit contacter le serveur d'authentification car ce serveur est l'endroit où le secret est conservé.
Les jetons HMAC et les identifiants de session sont généralement stockés dans des cookies. Les cookies ne peuvent pas être utilisés pour les appels de service entre domaines et doivent être protégés contre les attaques CSRF.
Bonjour Deibys, j'ai la même question, avez-vous trouvé une réponse convaincante, et quelle approche avez-vous finalement appliquée? merci –