Introduction à JWT : JSON Web Token (JWT) est une norme ouverte (RFC 7519) qui définit un moyen compact et autonome de transférer des informations de manière sécurisée entre parties dans des objets JSON. Ces informations peuvent être vérifiées et fiables grâce à des signatures numériques. Les JWT peuvent être signés à l’aide de secrets (en utilisant l’algorithme HMAC) ou en utilisant les paires de clés publique/privée de RSA.
Voici quelques scénarios où les jetons web JSON sont utiles :
Vérification d’identité :C’est le cas le plus courant d’utilisation des JWT. Une fois connecté par l’utilisateur, chaque requête suivante contiendra un JWT qui lui permet d’accéder aux routes, services et ressources autorisés par ce jeton. La connexion unique est une fonctionnalité largement utilisée aujourd’hui en raison de sa faible surcharge et de sa facilité d’utilisation à travers différents domaines.
Échange d’informations :Les jetons web JSON sont un excellent moyen de transférer des informations de manière sécurisée entre les parties. Parce que les JWT peuvent être signés – par exemple en utilisant des paires de clés publique/privée – il est possible d’être certain que l’expéditeur est bien celui qu’il prétend être. De plus, puisque la signature est calculée à l’aide d’en-têtes et de charges utiles, vous pouvez également vérifier que le contenu n’a pas été altéré.
Site officiel :La connexion hyperlientérée est visible.
Analysez les informations JWT en ligne:La connexion hyperlientérée est visible.
Analyser les paramètres JWT en ligne La connexion hyperlientérée est visible.
Ma compréhension de JWT ci-dessous est erronée, s’il vous plaît donnez-moi quelques conseils
Tout d’abord, ce truc, il n’est pas recommandé de l’utiliser sur le site du MVC, vous pouvez l’utiliser dans une webapi, le positionnement de ce système est une API, pas une session du site de remplacement !
asp.net tutoriel d’utilisation de Webapi :La connexion hyperlientérée est visible.Je ne vais pas refaire la roue, regarder ce que cet article est écrit est acceptable.
La composition de JWT
JWT est composé de trois parties : En-tête, Charge utile et Signature, avec des symboles de points entre les deux pour former la forme xx.yy.zz.
Notez que pour les jetons signés, cette information peut être lue par n’importe qui, malgré la protection contre la falsification. Ne placez pas d’informations sensibles dans le contenu ou les éléments d’en-tête valides du JWT, sauf si elles sont chiffrées.
Par exemple:
eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c
{
alg: "HS256",
typ: "JWT" }.
{
sub: "1234567890",
name: "John Doe",
iat: 1516239022 }. [signature] En termes simples, n’importe qui peut déchiffrer ce jeton, mais l’authenticité de cette information ne peut pas être vérifiée, seul le serveur qui a généré ce jeton peut vérifier son authenticité, donc ne stockez pas d’informations sensibles dedans.
Il y a un problème ici, à savoir que si l’utilisateur change le mot de passe ou qu’il est interdit de se connecter, comment JWT peut-il résoudre la validité du jeton ?
Ma propre idée est d’ajouter une chaîne de type guid dans la section Payload, puis d’exister dans le cache, lors de la vérification de l’identité de l’utilisateur, non seulement de vérifier le jwt, mais aussi des informations de la charge utile dans le jwt, nous pouvons contrôler la validité en contrôlant le cache.
|