jwt-validate
Use a política de segurança Validar JWT para ativar a validação de um JSON Web Token (JWT) em uma solicitação antes de permitir acesso às APIs.
Suporte de gateway
| Gateway | Versão da política |
|---|---|
| DataPower® Gateway (v5 compatible) | 1.0.0 |
| DataPower API Gateway | 2.0.0 |
Este tópico descreve como configurar a política em sua origem OpenAPI ; para obter detalhes sobre como configurar a política na interface com o usuário do conjunto, consulte Validar JWT..
Nota:
- Se a mensagem original foi assinada com uma Chave secreta compartilhada, o objeto criptográfico especificado também deverá ser uma Chave secreta compartilhada.
- Se a mensagem original foi assinada com uma Chave privada, o objeto criptográfico especificado deverá ser um Certificado criptográfico (certificado público).
- O material criptográfico pode ser fornecido por meio de um JSON Web Key (JWK).
- Se um parâmetro de cabeçalho JWK estiver incluído no cabeçalho do JWT, o parâmetro deverá corresponder ao JWK ou objeto criptográfico especificado na política, ou a validação JWT falhará.
- Se um objeto criptográfico e um JWK forem ambos especificados, o objeto criptográfico será usado para decriptografar ou verificar o JWT.
- A ação de validação do JWT no DataPower API Gateway pode verificar um JWT usando um único JWK ou um conjunto de JWK
Sobre
A política jwt-validate tem a seguinte estrutura:
- 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_namePropriedades
A tabela a seguir descreve as propriedades de política:| Propriedade | Necessário | Descrição | Tipo de dados |
|---|---|---|---|
| version | True | O número de versão da política | sequência |
| title | True | O título da política. | sequência |
| description | Não | Uma descrição da política. | sequência |
| jwt | True | A variável de contexto ou de tempo de execução que contém o JWT a ser validado. O valor padrão é:
Nota: O formato do cabeçalho de autorização deve ser:
em que
jwt-token é o JWT codificado. |
sequência |
| output-claims | True | A variável de tempo de execução à qual o conjunto integral de solicitações contidas no JWT está designado. O valor padrão é:
|
sequência |
| iss-claim | Não | O Perl Compatible Regular Expressions (PCRE) para usar para validar a solicitação do Emissor (iss). | sequência |
| aud-claim | Não | O PCRE a ser usado par validar a solicitação do Público (aud). | sequência |
| jwe-crypto | Não | O objeto criptográfico (uma chave compartilhada ou um certificado) a ser usado para decodificar a solicitação. Um JWK e um objeto criptográfico são maneiras válidas de fornecer os dados criptográficos necessários para decriptografar o JWT. Entretanto, se ambos os tipos de dados forem especificados, somente o Objeto criptográfico será usado. | sequência |
| jwe-jwk | Não | Variável de tempo de execução que contém o JWK a ser usado para decriptografar o JWT. Um JWK e um objeto criptográfico são maneiras válidas de fornecer os dados criptográficos necessários para decriptografar o JWT. Entretanto, se ambos os tipos de dados forem especificados, somente o Objeto criptográfico será usado. | sequência |
| jws-crypto | Não | O objeto criptográfico (uma chave compartilhada ou um certificado) a ser usado para verificar a assinatura. Um JWK ou um conjunto JWK e um Crypto Object são maneiras válidas de fornecer os dados criptográficos necessários para verificar o JWT. Entretanto, se ambos os tipos de dados forem especificados, somente o Objeto criptográfico será usado. | sequência |
| jws-jwk | Não | Variável de tempo de execução que contém o JWK, ou um conjunto JWK, a ser usado para verificar a assinatura. Um JWK ou um conjunto JWK e um Crypto Object são maneiras válidas de fornecer os dados criptográficos necessários para verificar o JWT. Entretanto, se ambos os tipos de dados forem especificados, somente o Objeto criptográfico será usado. | sequência |
Exemplo
A seguir há um exemplo de uma política 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.jwkPara obter mais informações sobre como usar uma política de segurança do jwt-validate , consulte Validar JWT na seção de políticas integradas