|
|
Publié surIl y a 1 minute
|
|
|
|

Exigences : Lors de la demande d’une API, les informations d’authentification du jeton JWT seront incluses. Le backend doit vérifier si la signature du token est valide, puis vérifier si elle a expiré, les informations d’émission, etc.
URI du jeu de clés web JSON
jwks_uri (JSON Web Key Set URI) est un élément de configuration standard dans les spécifications OAuth 2.0 et OpenID Connect (OIDC).
En termes simples, il s’agit d’une adresse URL publique (ou d’un point de terminaison) pointant vers l’endroit où le serveur d’authentification publie son « ensemble de clés publiques ». Dans le processus standard OIDC, le serveur d’authentification fournit un point de terminaison de découverte de service contenant l’adresse jwks_uri.
Sa métaphore populaire
Si le JWT (ou le jeton ID) émis par le serveur d’authentification est comparé à une lettre estampillée d’un sceau officiel physique, alors :
• Clé privée : Le « sceau physique » verrouillé dans le coffre-fort détenu par le serveur d’authentification, utilisé pour l’estampillage (signature). • jwks_uri : Il s’agit de la « section de divulgation du motif de scellement » publiée sur le site officiel par le serveur d’authentification. • Application tierce (client ou serveur de ressources) : Après avoir reçu l’email, téléchargez le motif du sceau (clé publique) depuis cette adresse jwks_uri et comparez-le avec le tampon sur la lettre pour prouver que la lettre a bien été émise par la société officielle et n’a pas été altérée.
Ici, la signification de l’utilisation dans la collection de clés est la suivante :
« sig » : Signature, utilisée pour vérifier ou générer des signatures afin d’assurer l’intégrité des données et la protection inviolable. « enc » : Chiffrement, utilisé pour chiffrer ou déchiffrer des données, ainsi que pour gérer les clés (chiffrement des clés) afin d’assurer la confidentialité des données.
Comme montré ci-dessous :
Analysez les informations JWT
Tout d’abord, installez le package Nuget :System.IdentityModel.Tokens.Jwt, lit les informations sur les réclamations du JWT, le code est le suivant :
La sortie est la suivante :
Porteur 1059ec2e-ffa8-4ff5-bc47-f25d7e37aa5a
Vérifier la validité de la signature JWT
Vous devez toujours d’abord référencer le package System.IdentityModel.Tokens.Jwt. Il y a deux façons de vérifier la validité de la signature.
Solution 1 : chaîne de certificats X.509
La désérialisation est réalisée selon la norme internationale X.509, en extrayant toutes les informations structurées du certificat (telles que clé publique, émetteur, date d’expiration, numéro de série, etc.), et générant un objet X509Certificate2. Enfin, la clé publique RSA cachée à l’intérieur est obtenue pour vérifier le jeton JWT. Le code est le suivant :
Comme montré ci-dessous :
Solution 2 : JsonWebKey
Convertir en clé de sécurité : Il identifie automatiquement le type d’algorithme à l’intérieur. Ensuite, vérifiez la validité du jeton. Le code est le suivant :
(Fin) |
Précédent:.NET/C# Obtenir les propriétés, champs et commentaires des objets basés sur Roslyn
|