Vue d’ensemble
Concepts clés
- Découvrez les JSON Web Tokens (JWT) qu’Auth0 utilise pour les jetons d’accès, d’identité, d’actualisation et de déconnexion.
- Passez en revue les algorithmes de signature pour comprendre ce qu’est la signature d’un jeton.
- Validez les JWT pour vous assurer que personne ne les a altérés.
- Utilisez les SDK Auth0, le middleware ou l’une des bibliothèques tierces offertes sur JWT.io pour valider les JWT.
Pour inspecter visuellement un JWT, visitez JWT.io ou utilisez l’extension Chrome JWT Debugger).
Analyser et valider
- utiliser un middleware existant pour votre framework Web;
- choisir une bibliothèque tierce sur JWT.io;
- implémenter manuellement les vérifications décrites dans la RFC 7519 > 7.2 Validating a JWT.
Middleware
Bibliothèques tierces
algorithms qui vous permet de personnaliser les algorithmes autorisés (assurez-vous d’exclure none), un argument secretOrPublicKey que vous renseignez avec le secret ou la clé publique RSA (selon l’algorithme de signature sélectionné), ainsi que d’autres arguments d’entrée permettant de personnaliser la validation des claims. Si l’analyse échoue, la bibliothèque renvoie une erreur JsonWebTokenError avec le message jwt malformed, après quoi vous devez rejeter la requête associée.
Recommandations générales pour l’utilisation de bibliothèques tierces :
- Pour obtenir des claims à partir d’un JWT, utilisez la méthode
verify()pour valider les claims et la signature. Évitez d’utiliser la méthodedecode()pour valider un jeton, surtout s’il provient d’un . - Suivez attentivement toutes les instructions d’utilisation de la bibliothèque choisie. La bibliothèque pourrait s’appuyer sur des valeurs ou des paramètres par défaut susceptibles d’entraîner des risques de sécurité.
Implémenter manuellement les vérifications
Vérifier les jetons signés avec RS256
- Accédez à Auth0 Dashboard > Applications.
- Accédez à la vue Settings, puis ouvrez Advanced Settings.
- Accédez à la vue Certificates, repérez le champ Signed Certificate, puis copiez la Public Key.
- Accédez au site Web JWT.io, repérez la liste déroulante Algorithm, puis sélectionnez RS256.
- Repérez la section Verify Signature, puis collez la Public Key que vous avez copiée précédemment à la place du contenu du champ qui commence par
-----BEGIN PUBLIC KEY-----.
https://{yourDomain}/.well-known/jwks.json