jwt-generate

Utilice la política de seguridad Generar JWT en IBM® API Connect para generar una señal web JSON (JWT).

Soporte de pasarela

Tabla 1. Tabla que muestra qué pasarelas soportan esta política y la versión de política correspondiente
Pasarela Versión de política
DataPower® Gateway (v5 compatible) 1.0.0
DataPower API Gateway 2.1.0

En este tema se describe cómo configurar la política en el origen de OpenAPI ; para obtener detalles sobre cómo configurar la política en la interfaz de usuario de ensamblaje, consulte Generar JWT.

Nota:
  • Para los tipos de algoritmo HS256, HS384 y HS512 los objetos criptográficos a los que se hace referencia deben ser una clave secreta compartida.
  • Para los tipos de algoritmo RS256, RS384, RS512, ES256, ES384, ES512, PS256, PS384, PS512 los objetos criptográficos a los que se hace referencia deben ser una clave de cifrado (clave privada).
  • El material criptográfico se puede proporcionar a través de una Clave web JSON (JWK).
  • Si se especifican un objeto criptográfico y una JWK, el objeto criptográfico se utiliza para firmar la JWT.

Acerca de

La política jwt-generate tiene la estructura siguiente:
- jwt-generate:
  version: version
  title: title
  description: description
  jwt: json_web_token
  jti-claim: jwt_id_claim
  iss-claim: issuer_claim
  exp-claim: validity_period
  sub-claim: subject_claim
  aud-claim: audience_claim
  jws-jwk: sign_jwk_variable_name
  jws-alg: cryptographic_algorithm
  jws-crypto: sign_crypto_object
  custom-kid-value-jws: jws.kid
  jwe-enc: encryption_algorithm
  jwe-jwk: encrypt_jwk_variable_name
  jwe-alg: key_encryption_algorithm
  jwe-crypto: encrypt_crypto_object
  custom-kid-value-jwe: jwe.kid

Propiedades

La tabla siguiente describe las propiedades de política.
Tabla 2. Propiedades de política de Generar JWT
Propiedad Obligatorio Descripción Tipo de datos
version El número de versión de la política serie
title Nee El título de la política. serie
description Nee Una descripción de la política. serie
jwt Nee Variable de tiempo de ejecución en la que se debe colocar la JWT que se genera.

El valor predeterminado es generated.jwt. Sin embargo, si no se establece, la JWT que se genera se escribe en la cabecera de autorización como una señal portadora.

serie
jti-claim Nee Indica si se debe añadir una reclamación de ID de JWT (jti) en la JWT.

Si está seleccionada, la propiedad se establece en true y se genera un UUID que se establece como el valor de reclamación de JTI.

booleano
iss-claim Variable de tiempo de ejecución desde la que se puede recuperar la serie de la reclamación Emisor (iss). Esta reclamación representa al Principal que ha emitido la JWT.

El valor predeterminado es: iss.claim

serie
sub-claim Nee Variable de tiempo de ejecución desde la que se puede recuperar la serie de la reclamación Asunto (sub). serie
aud-claim Nee Variable de tiempo de ejecución desde la que se puede recuperar la serie de la reclamación Pública (aud). Se han establecido varias variables mediante una serie separada por comas. serie
exp-claim El periodo de tiempo (en segundos), que se añade a la fecha y hora actuales, dentro del cual la JWT se considera válida.

El valor predeterminado es 3600.

entero
private-claims Nee Variable de tiempo de ejecución desde la que se puede recuperar un conjunto de reclamaciones JSON válidas. Estas reclamaciones se añaden a cualquier conjunto de reclamaciones especificado anteriormente. serie
jws-jwk Nee Variable de tiempo de ejecución que contiene el JWK que se utiliza para firmar la JWT. Un objeto JWK y un objeto criptográfico son formas válidas de proporcionar los datos criptográficos necesarios para firmar la JWT. Sin embargo, si se especifican ambos tipos de datos, sólo se utiliza el objeto criptográfico. serie
jws-alg Nee El algoritmo criptográfico que se utiliza. Los valores válidos son:
  • HS256
  • HS384
  • HS512
  • RS256
  • RS384
  • RS512
  • ES256
  • ES384
  • ES512
  • PS256
  • PS384
  • PS512
serie
jws-crypto Nee El objeto criptográfico que se va a utilizar para firmar la JWT. Un objeto JWK y un objeto criptográfico son formas válidas de proporcionar los datos criptográficos necesarios para firmar la JWT. Sin embargo, si se especifican ambos tipos de datos, sólo se utiliza el objeto criptográfico. serie
custom-kid-value-jws Nee El valor de kid personalizado para la firma JWT. serie
jwe-enc Nee El algoritmo de cifrado que se va a utilizar. Los valores válidos son:
  • A128CBC-HS256
  • A192CBC-HS384
  • A256CBC-HS512
serie
jwe-jwk Nee Variable de tiempo de ejecución que contiene el JWK que se va a utilizar para cifrar la JWT. serie
jwe-alg Nee El algoritmo de cifrado de clave que se va a utilizar. Los valores válidos son:
  • RSA1_5
  • RSA-OAEP
  • RSA-OAEP-256
  • dir
  • A128KW
  • A192KW
  • A256KW
serie
jwe-crypto Nee El objeto criptográfico que se va a utilizar para cifrar la reclamación. serie
custom-kid-value-jwe Nee El valor de kid personalizado para el cifrado JWT. serie

Ejemplo

A continuación se muestra un ejemplo de una política jwt-generate :
      - jwt-generate:
          version: 2.1.0
          title: jwt-generate
          description: New jwt-generate v2.1.0 policy.
          jwt: generated.jwt
          jti-claim: true
          iss-claim: iss.claim
          sub-claim: sub.claim
          aud-claim: aud.claim
          exp-claim: 3600
          private-claims: private.claims
          jws-jwk: jws.jwk
          jws-alg: HS256
          jws-crypto: jwsCryptoObjectName
          custom-kid-value-jws: jws.kid
          jwe-enc: A128CBC-HS256
          jwe-jwk: jwe.jwk
          jwe-alg: RSA1_5
          jwe-crypto: jweCryptoObjectName
          custom-kid-value-jwe: jwe.kid

Para obtener más información sobre cómo utilizar una política de seguridad de jwt-generate , consulte Generar JWT en la sección de políticas incorporadas.