El Events Hub permite que usted use un servidor externo para validar client ID y/o tokens de acceso de los publicadores que envían solicitudes al Events Hub.
Una de las opciones es utilizar la Sensedia API Platform para realizar esta validación.
NOTEClientes de Sensedia API Management v5: para validar client ID y/o tokens de acceso de los publicadores, deberá importar la API de autorización del Events Hub.
Le explicamos: imagine que usted está organizando un evento en un lugar. Quiere que solo personas autorizadas entren. Entonces, coloca un guardia de seguridad en la entrada para verificar la identidad de las personas. El servidor de autorización actúa de la misma manera. Usted selecciona el tipo de validación que desea realizar y este se asegura de que la validación se cumpla.
En la página de Policies, usted puede crear políticas de seguridad para aplicar a los handlers.
La configuración de URLs de autorización se realiza por contexto. Este es uno de los marcadores de la URL de publicación de eventos, formada por:
URL base
+context
+handler
+topic
.
Existen 5 interceptores disponibles y 4 necesitan el servidor de autorización de publicadores para funcionar. Son los siguientes:
Access Token Validation
Client ID Validation
OAuth Validation
JWT Validation
Al seleccionar cualquiera de ellos, usted necesita configurar la URL de autorización en la pantalla Authorizations.
Para utilizar la Sensedia API Platform como servidor de validación de las políticas:
Acceda a API Design > API Catalog y busque API Events Hub Authorization.
En API Events Hub Authorization, vaya a la sección Environments.
Elija el entorno que desea configurar, haga clic en el ícono de enlace y copie la URL.
Vaya a la sección Resources and Operations y copie el path POST
del tipo de interceptor que utilizará.
Pegue el path del interceptor al final de la URL del entorno. Esta será la URL de su autorización.
Con la URL completa copiada, acceda a Events Hub > Authorizations y encuentre el contexto que será validado por esta autorización.
Haga clic en el ícono de agregar, pegue la URL de la autorización y guarde.
TIPPara registrar un contexto de prueba para la autorización, en la sección Environments, copie el enlace de su entorno de prueba.
La sección Resources and Operations está dividida entre OAuth y JWT. Atención al copiar el path de su URL:
La URL de la autorización debe generarse respetando las políticas insertadas en el contexto.
Si insertó interceptores de OAuth Validation, copie el path de OAuth.
Si insertó interceptores de JWT Validation, copie el path de JWT.
Consulte cómo configurar los interceptores disponibles:
El interceptor Client ID Validation requiere una validación simple de client ID.
NOTEAl registrar este interceptor para una política, usted necesita definir el nombre que será usado para pasar el valor de Client ID (por ejemplo, client_id) y dónde será pasado en la solicitud (cookie, header, header o cookie, query param o any).
Consulte el paso a paso para configurar un Client ID Validation:
En la Sensedia API Platform:
Acceda a Consumers > APPS y haga clic en + Create APP.
En la pestaña APIS AND PLANS, busque Events Hub Authorization 1.0 y selecciónela en el botón SELECT ALL PLANS.
Haga clic en PUBLISH YOUR APP.
En el Events Hub:
Con la APP guardada, acceda a la pantalla Publishers.
Coloque el cursor sobre el botón + y haga clic en Import From API Platform.
Encuentre la APP registrada y haga clic en SAVE.
Haga clic en ADD ENABLED TOPICS y vincule el publicador al tópico deseado.
Habilite el contexto que será validado por el interceptor haciendo clic en . Si no habilita ninguno, la validación no funcionará.
En la pantalla de Handler, encuentre el que registró para esta validación.
En la pestaña Topics, copie la URL del contexto habilitado para el interceptor de Client ID.
En el Postman:
En el POST
, pegue la URL de su contexto.
Inserte el parámetro de client ID en el header de la solicitud con el nombre igual al que registró para la política (ej: client_id
) y haga clic en Send.
Verifique si la solicitud fue exitosa en el ícono de estado del handler.
El interceptor Access Token Validation requiere la validación de un access token. Este debe ser obtenido usando el flujo OAuth elegido por el publicador.
NOTEAl registrar este interceptor para una política, usted necesita definir el nombre que será usado para pasar el valor de access token (por ejemplo, access_token) y dónde será pasado en la solicitud (cookie, header, header o cookie, query param o any).
Consulte el paso a paso para configurar un Access Token Validation:
En la Sensedia API Platform:
Acceda a Consumers > APPS y haga clic en + Create APP.
En la pestaña APIS AND PLANS, busque Events Hub Authorization 1.0 y selecciónela en el botón SELECT ALL PLANS.
Haga clic en PUBLISH YOUR APP.
NOTESi ya tiene una APP con plan vinculado a la API Events Hub Authorization 1.0, no necesita hacer esto nuevamente.
En el Postman
Genere el access token:
Para obtener el token, usted debe realizar una solicitud a la API OAuth implementada en su plataforma. Le enseñaremos cómo hacerlo usando el flujo client-credentials.
TIPPara entender los otros flujos disponibles, acceda a la documentación OAUTH 2.0: flujos de obtención de access token.
Realice una solicitud POST
al endpoint <url-del-gateway>/oauth/access-token
.
En el header, pase:
Ejemplo de header con el client_id
y el client_secret
en Base64:
En el body, pase el grant_type
en el formato x-www-form-urlencoded
:
El access token será retornado en el body de la solicitud, como en el ejemplo a continuación:
Pruebe la política:
Copie la URL de su contexto y péguela en el POST
.
Inserte el parámetro de access token en el header de la solicitud, con el nombre igual al que registró para la política (ej: access_token
).
Haga clic en Send.
Verifique si la solicitud fue exitosa en el ícono de estado del handler.
El interceptor OAuth Validation requiere la validación de client ID
y access token
.
Si aún no configuró, vea los tópicos:
Client ID Validation
Access Token Validation
Los valores de client ID y access token deben ser pasados en el header de la solicitud.
Probando la política en el Postman:
Copie la URL de su contexto y péguela en el POST
.
Pegue en el header el valor de su client ID.
Pegue en el header el valor de su access token.
Haga clic en Send.
Verifique si la solicitud fue exitosa en el ícono de estado del handler.
El interceptor JWT Validation requiere la validación de un token JWT que debe ser obtenido por el flujo JWT de OAuth.
NOTEAl registrar este interceptor para una política, usted necesita definir el nombre que será usado para pasar el valor de access token (por ejemplo, access_token) y dónde será pasado en la solicitud (header, default JWT header o query param).
WARNINGPara que este interceptor funcione, usted debe registrar la URL de la autorización JWT de su contexto en la pantalla de Authorizations. Vea cómo obtener la URL de autorización usando la Sensedia API Platform.
Consulte el paso a paso para configurar un JWT Validation:
En la Sensedia API Platform:
Acceda a Consumers > APPS y haga clic en + Create APP.
En la pestaña APIS AND PLANS, busque Events Hub Authorization 1.0 y selecciónela en el botón SELECT ALL PLANS.
Haga clic en PUBLISH YOUR APP.
NOTESi ya tiene una APP con plan vinculado a la API Events Hub Authorization 1.0, no necesita hacer esto nuevamente.
En el Postman:
Genere el code
:
Para obtener el token, usted necesita generar el code
realizando una solicitud a la API OAuth implementada en su plataforma.
Realice una solicitud POST
al endpoint <url-del-gateway>/oauth/grant-code
.
En el header, pase:
En el body, pase la información a continuación. Recuerde sustituir el client ID del ejemplo por el de su APP.
TIPLa redirect_uri necesita ser completada con una URL. Usted puede insertar, por ejemplo: "http://teste.com.br".
En la respuesta, será retornado el code
después del signo de =, como en el ejemplo a continuación:
Con el code
copiado, genere el token JWT:
Realice una solicitud POST
al endpoint <url-del-gateway>/oauth/access-token
.
En el header, pase:
json
y pase la información a continuación, con el número del code
generado en la solicitud anterior:Pruebe la política:
Copie la URL de su contexto y péguela en el POST
.
Pegue en el header el valor de su token JWT.
Haga clic en Send.
Verifique si la solicitud fue exitosa en el ícono de estado del handler.
Nuestro sitio web utiliza cookies para habilitar funcionalidades básicas de evaluación y notificaciones. No utilizamos cookies de seguimiento para publicidad ni análisis de terceros.Aprender más