jwt-validate
Utilisez la stratégie de sécurité Valider JWT pour activer la validation d'un jeton Web JSON (JWT) dans une demande avant d'autoriser l'accès aux API.
Prise en charge des passerelles
| Passerelle | Version de la stratégie |
|---|---|
| DataPower® Gateway (v5 compatible) | 1.0.0 |
| DataPower API Gateway | 2.0.0 |
Cette rubrique décrit comment configurer la stratégie dans votre source OpenAPI . Pour plus de détails sur la configuration de la stratégie dans l'interface utilisateur de l'assemblage, voir Validation du jeton JWT.
Remarque :
- Si le message d'origine a été signé avec une clé secrète partagée, l'objet cryptographique spécifié doit également être une clé secrète partagée.
- Si le message d'origine a été signé avec une clé privée, l'objet cryptographique spécifié doit être un certificat cryptographique (certificat public).
- Les éléments cryptographiques peuvent être fournis par l'intermédiaire d'un JWK (JSON Web Key).
- Si un paramètre d'en-tête JWK est inclus dans l'en-tête du JWT, ce paramètre doit correspondre au JWK ou à l'objet cryptographique spécifié dans la stratégie, faute de quoi la validation du JWT échouera.
- Si un objet cryptographique et un JWK sont tous deux spécifiés, l'objet cryptographique est utilisé pour déchiffrer ou vérifier le JWT.
- L'action de validation JWT sur le DataPower API Gateway peut vérifier un JWT à l'aide d'un JWK unique ou d'un ensemble JWK.
A propos de
La stratégie jwt-validate possède la structure suivante:
- jwt-validate:
version: version
title: title
description: description
jwt: json_web_token
output-claims: output_full_set_of_jwt_claims
iss-claim: issuer_claim
aud-claim: audience_claim
jwe-crypto: decrypt_crypto_object
jwe-jwk: decrypt_crypto_jwk_variable_name
jws-crypto: verify_crypto_object
jws-jwk: verify_crypto_jwk_variable_namePropriétés
Le tableau suivant décrit les propriétés de la stratégie :| Propriété | Obligatoire | Descriptif | Type de données |
|---|---|---|---|
| version | Oui | Numéro de version de la stratégie | chaîne |
| title | Oui | Titre de la stratégie. | chaîne |
| description | Non | Description de la stratégie. | chaîne |
| jwt | Oui | Variable contextuelle ou d'exécution qui contient le JWT à valider. La valeur par défaut est Remarque: Le format de l'en-tête d'autorisation doit être le suivant:
,
jeton-jwt correspondant au JWT codé. |
chaîne |
| output-claims | Oui | Variable d'exécution à laquelle l'intégralité des réclamations contenues dans le
JWT sont affectées. La valeur par défaut est |
chaîne |
| iss-claim | Non | Perl Compatible Regular Expressions (PCRE) à utiliser pour valider la réclamation de l'émetteur (iss). | chaîne |
| aud-claim | Non | Expression PCRE à utiliser pour valider la réclamation du public (aud). | chaîne |
| jwe-crypto | Non | Objet cryptographique (clé ou certificat partagé(e)) à utiliser pour décoder la réclamation. Un JWK et un objet cryptographique représentent deux moyens valides de fournir les données cryptographiques nécessaires pour déchiffrer le JWT. Toutefois, si les deux types de données sont spécifiés, seul l'objet cryptographique est utilisé. | chaîne |
| jwe-jwk | Non | Variable d'exécution qui contient le JWK à utiliser pour déchiffrer le JWT. Un JWK et un objet cryptographique représentent deux moyens valides de fournir les données cryptographiques nécessaires pour déchiffrer le JWT. Toutefois, si les deux types de données sont spécifiés, seul l'objet cryptographique est utilisé. | chaîne |
| jws-crypto | Non | Objet cryptographique (clé ou certificat partagé(e)) à utiliser pour vérifier la signature. Un JWK, ou un ensemble JWK, et un objet cryptographique sont des moyens valides de fournir les données cryptographiques nécessaires pour vérifier le JWT. Toutefois, si les deux types de données sont spécifiés, seul l'objet cryptographique est utilisé. | chaîne |
| jws-jwk | Non | Variable d'exécution qui contient le JWK, ou un ensemble JWK, à utiliser pour vérifier la signature. Un JWK, ou un ensemble JWK, et un objet cryptographique sont des moyens valides de fournir les données cryptographiques nécessaires pour vérifier le JWT. Toutefois, si les deux types de données sont spécifiés, seul l'objet cryptographique est utilisé. | chaîne |
Exemple
Voici un exemple de règle jwt-validate :
- jwt-validate:
version: 1.0.0
title: jwt-validate
jwt: request.headers.authorization
output-claims: decoded.claims
iss-claim: "'^data.*'"
aud-claim: "'^id.*'"
jwe-crypto: jweCryptoObjectName
jwe-jwk: jwe.jwk
jws-crypto: jwsCryptoObjectName
jws-jwk: jws.jwkPour plus d'informations sur l'utilisation d'une stratégie de sécurité jwt-validate , voir Validate JWT dans la section des stratégies intégrées.