Este tutorial muestra cómo definir e implementar una definición de API REST que genere un token web JSON (JWT).
Acerca de esta guía de aprendizaje
Generar una JWT
Crear una API REST para generar y devolver un token web JSON (JWT).
Para añadir y definir esta API REST, siga estos pasos:
- Inicie sesión en API Manager.
- En la página de bienvenida, haga clic en el mosaico Desarrollar API y productos.

- Haga clic en .

- Asegúrese de que OpenAPI 3.0 está seleccionado.
- Seleccione Nuevo OpenAPI y haga clic en Siguiente.

- Especifique la información adecuada para crear una definición de API REST.
- En el campo Título, introduzca JWT.
- Los campos Nombre y Ruta base se rellenan automáticamente con los términos jwt y /jwt respectivamente.
- El campo Versión se rellena automáticamente con 1.0.0.

- Pulse Siguiente.
- En la sección Seguridad, haga clic en Siguiente.

- Verás el progreso a medida que se crea la nueva API. Cuando termine, verá un Resumen. Haga clic en Editar API.

- En la barra lateral de la página Diseño, seleccione Trayectorias para mostrar el panel Trayectorias.
- Pulse Añadir +.

- En el campo Ruta, introduzca /gen.
- Pulse Añadir.

- Desplácese hacia abajo. En la sección Parámetros, haga clic en Añadir +.

- Introduzca iss-claim en el campo Nombre del parámetro.
- Seleccione la dirección header en la lista Localizado en.
- Introduzca https://myidp.ibm.com para que coincida en el campo Descripción.
- Seleccione la casilla Obligatorio.
- Pulse Añadir.

- Desplácese hacia abajo. En la sección Esquema, haga clic en Crear

- Seleccione cadena en la lista Tipo.
- Pulse Añadir.

- Después de crear el parámetro, haga clic en Guardar.
- Para añadir un segundo parámetro. Complete los pasossiguientes:
- En la barra lateral de la página Diseño, seleccione Parámetros en la ruta /gen recién creada.
- Pulse Añadir +.

- Introduzca aud-claim en el campo Nombre del parámetro.
- Seleccione header en la lista Ubicado en.
- Introduzca Enter ClientID1 para que coincida en el campo Descripción.
- Seleccione la casilla Obligatorio.
- Pulse Añadir.

- Desplácese hacia abajo. En la sección Esquema, haga clic en Crear.

- Seleccione string en la lista Tipo.
- Pulse Añadir.

- Después de crear el segundo parámetro, haga clic en Guardar.
- Haga clic en Componentes > Respuestas.
- Pulse Añadir.

- El campo Nombre de la respuesta se rellena automáticamente con 200.
- Introduzca 200 OK en el campo Descripción.

- Pulse Añadir.
- Después de crear la respuesta, haga clic en Guardar.
- Seleccione la pestaña Pasarela.
- Sitúe el ratón sobre el nodo de política existente y haga clic en el icono de la papelera para eliminarlo.

- En Acciones, haga clic en Establecer variable para añadir la acción a la línea de flujo de procesamiento. Se abre automáticamente un panel de configuración.
- Pulse Añadir acción.

- Introduzca hs256-key en el campo Set.
- Seleccione string en la lista Tipo.
- Introduzca un JWK en el campo Valor. A continuación, se muestra un ejemplo. {
"alg": "HS256", "kty": "oct", "use": "sig", "k":
"o5yErLaE-dbgVpSw65Rq57OA9dHyaF66Q_Et5azPa-XUjbyP0w9iRWhR4kru09aFfQLXeIODIN4uhjElYKXt8n76jt0Pjkd2pqk4t9abRF6tnL19GV4pflfL6uvVKkP4weOh39tqHt4TmkBgF2P-gFhgssZpjwq6l82fz3dUhQ2nkzoLA_CnyDGLZLd7SZ1yv73uzfE2Ot813zmig8KTMEMWVcWSDvy61F06vs_6LURcq_IEEevUiubBxG5S2akNnWigfpbhWYjMI5M22FOCpdcDBt4L7K1-yHt95Siz0QUb0MNlT_X8F76wH7_A37GpKKJGqeaiNWmHkgWdE8QWDQ",
"kid": "hs256-key" }

- Cierre el panel de propiedades. Pulse Guardar.
- En Acciones, haga clic en Generar JWT para añadir la acción a la línea de flujo de procesamiento después del icono de establecer variable. Se abre automáticamente un panel de configuración.
Nota: Si el panel Construir flujo de montaje no está visible, haga clic en + cerca de la variable de ajuste para mostrar el panel.

- Introduzca request.headers.iss-claim en el campo "Issuer Claim ".
- Introduzca request.headers.aud-claim en el campo Reclamación de audiencia.
- Introduzca hs256-key en el campo Nombre de la variable Sign JWK.
- Seleccione HS256 en la lista Algoritmo criptográfico.

- Cierre el panel de propiedades. Pulse Guardar.
- En Acciones, haga clic en GatewayScript para añadir la acción a la línea de flujo de procesamiento después del icono Generar JWT. Se abre automáticamente un panel de configuración.
- Especifique el código siguiente:
var apim = require('apim');
apim.setvariable('message.body',apim.getvariable('generated.jwt'));

Nota: Es posible que aparezca la siguiente advertencia cuando añada la acción GatewayScript acción: This gatewayscript policy should not use the
apim module which is only for migrating old APIs. Puede ignorar esta advertencia y continuar.
- Cierre el panel de propiedades. Pulse Guardar.
Prueba de la API REST
Nota: Debido a las restricciones de uso compartido de recursos entre orígenes (CORS), la herramienta de prueba de ensamblaje no puede utilizarse con los navegadores Chrome o Safari en la plataforma macOS Catalina.
Para probar la API REST, siga estos pasos:
- Pulse Probar.
Nota: No puede probar la API REST si no ha configurado ninguna puerta de enlace para el catálogo y aparece un mensaje de error en la pestaña
Prueba.

- Haga clic en Configuración de destino y establezca Publicación automática en Activado.
- Haz clic en Guardar preferencias. El estado de la API se muestra como Online en la pestaña Test.
- Introduzca https://myidp.ibm.com en el campo Valor correspondiente al parámetro iss-claim.
- Introduzca ClientID1 en el campo Valor correspondiente al parámetro aud-claim.
- Pulse Enviar.

- La respuesta contiene el JWT generado.

Gestione la definición de su API
Ahora que su nueva API funciona correctamente, puede gestionarla. Para ver tus opciones inmediatas, sigue estos pasos.
- Haga clic en el icono Revelar
de la barra de navegación.
- Haga clic en el icono Opciones
junto a la API JWT.
- Seleccione Descargar.
Qué ha hecho en esta guía de aprendizaje
En esta guía de aprendizaje, ha completado las actividades siguientes:
- Se ha creado una nueva definición de API que genera un token web JSON (JWT).
- Probada la nueva API.