Desarrollador de OneSpan: Punto final de validación de eventos

Hakim Aldaoub, 20 de Enero de 2021

Asegurar los eventos no monetarios es crucial para la integridad del negocio en cualquier organización. A través del punto final Eventos/Validación, OneSpan Intelligent Adaptive Authentication (IAA) recibe eventos no monetarios activados en una aplicación de usuario. A continuación,Risk Analytics (RA) evaluará la etnicidad de estos eventos y pedirá al usuario final que proporcione el método de autenticación adecuado, en función del riesgo asociado a un evento. En este blog, ilustraremos la validación de eventos no monetarios utilizando la API interactiva del Sandbox y mostraremos las posibles respuestas de la RA a un evento

Antes de empezar

Antes de explorar el punto final de Validación de Eventos, primero debe ser miembro de la Comunidad OneSpan y registrarse para obtener una cuenta gratuita del sandbox de Autenticación Adaptativa Inteligente. Aquí tienes las instrucciones paso a paso para hacerlo.

También debes asegurarte de tener al menos un usuario registrado antes de intentar esta llamada. Para saber cómo registrar un usuario, consulte este blog detallado sobre el registro de usuarios.

URL del punto final

La URL de solicitud para esta llamada a la API se parecerá al ejemplo siguiente:

https://{su_inquilino_ID}.sdb.tid.onespan.cloud/v1/users/{[email protected]}/events/validate

No necesitarás proporcionar esta URL durante el tutorial. Es sólo para mostrar la estructura de la URL. La URL se asignará automáticamente en la API interactiva al llamar al servicio web

Pruébalo

Para experimentar con la API de validación de eventos, navegue hasta el documento de la API interactiva IAA Sandbox en su cuenta de la Comunidad OneSpan. En el editor de Open API Swagger, expanda el recurso "Eventos". A continuación, encontrará una entrada para el método Events /Validate HTTP Post como se muestra en la imagen siguiente

OneSpan-BlogImage[EventValidation-Endpoint]1

Parámetros de la ruta URL:

A efectos de la llamada a la API de Eventos/Validación, hay un parámetro de ruta requerido para el identificador único de usuario. Se formateará como [email protected] Un ejemplo de userID es "iaa_user". Es el ID de usuario que se ha activado en el dispositivo de confianza. La parte del parámetro que sigue al signo "@" es el dominio del usuario. Esta entrada debe sustituirse por la cadena "Usuario del entorno de pruebas" que se muestra a continuación, que está presente en la sección de detalles del entorno de pruebas en la pestaña "Autenticación adaptativa inteligente" de la página de inicio del entorno de pruebas.

OneSpan-BlogImage[EventValidation-Endpoint]2

Cuerpo de la solicitud de validación de eventos

Nota: La API de validación de eventos es específica de la solución OneSpan Intelligent Adaptive Authentication. Su objetivo es notificar a Risk Analytics de un evento y transmitir los datos necesarios para tomar una decisión única sobre el mismo. Por esta razón, no es necesario seleccionar un tipo de objeto en el cuerpo de la solicitud de la llamada RESTful, como era el caso de las llamadas a la API en blogs anteriores

El cuerpo de la solicitud se parecerá al ejemplo siguiente de los campos obligatorios del punto final Eventos/Validación.

{ "eventType": "LoginSuccess", "relationshipRef": "iaa_enduser", "sessionID": "4ed23ea44f23", "cddc": { "browserCDDC": { "fingerprintRaw": "{browser:{\"userAgent\":Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.181 Safari/537.36},support:{\"ajax\":true,\"boxModel\":undefined,\"changeBubbles\":undefined,\"checkClone\":true,\"checkOn\":true,\"cors\":true,\"cssFloat\":undefined,\"hrefNormalized\":undefined,\"htmlSerialize\":undefined,\"leadingWhitespace\":undefined,\"noCloneChecked\":true,\"noCloneEvent\":undefined,\"opacity\":undefined,\"optDisabled\":undefined,\"style\":undefined,\"submitBubbles\":undefined,\"tbody\":undefined},computer:{\"screenWidth\":2560,\"screenHeight\":1440,\"OS\":\"Microsoft Windows\",\"platform\":\"Win32\"},additional:{}}", "fingerprintHash": "e96dadc9651f5fe8f071110eb174fe8e7a17a9d7a96b3b1980c13e5b4af3a4d7" } }, "clientIP": "192.168.0.1" }

Solicitud de carga útil

Contiene los objetos JSON obligatorios que se muestran en la tabla:

Campos de datos obligatorios JSON Descripción Campo Tipo de datos
tipo de evento * El tipo de hecho no monetario que debe validarse.Tipo: cadena Ejemplo: "LoginSuccess", "NewBeneficiaryAttempt"
relaciónRef* La referencia de la relación del ID del usuario.

Tipo: cadena
minLength: 1
maxLength: 150
Ejemplo: iaa_user

sessionID* Identificador de sesión de la aplicación formateado como una cadena hexadecimal; común para todos los eventos relacionados con la misma sesión. Tipo: cadena
patrón: ^[0-9a-fA-F]+$
minLength: 2
maxLength: 100
Ejemplo: 4ed23ea44f23
cddc* Metadatos del recolector de datos del dispositivo del cliente. Los dos campos browserCDDC y mobileCDDC son mutuamente excluyentes y colectivamente exhaustivos. Tipo: cadena
Ejemplo: "browserCDDC" o "mobileCDDC"
clienteIP Dirección IP desde la que se origina el evento formateada en notación punto-decimal. Este campo se recomienda encarecidamente en caso de que el evento se origine en una aplicación bancaria web. Tipo: cadena
Ejemplo: "192.168.0.1"

Llamada al punto final

Ahora estamos listos para hacer una llamada RESTful al punto final de Eventos/Validación utilizando la API interactiva del Sandbox de IAA. Para realizar la llamada, haga clic en el botón "Probar" que se muestra en la siguiente captura de pantalla y que se encuentra a la derecha de la sección del método HTTP POST. Una vez solicitado, recibirá el cuerpo de la respuesta en formato JSON. Será similar a la carga útil de respuesta descrita en la siguiente sección.

OneSpan-BlogImage[EventValidation-Endpoint]3

Carga útil de la respuesta

A continuación se muestra un ejemplo del cuerpo de la respuesta devuelta con un código de respuesta 200 que indica una solicitud exitosa.

{"requestID": "413b2c39-2d67-4293-9adb-25601731b062", "riskResponseCode": 0, "sessionStatus": "accepted", "requestMessage": "0000F8B81D" }

Descripción de los campos del cuerpo de la respuesta

El "requestID" es el primer campo de la respuesta. Es una cadena de 36 caracteres que se utiliza para mantener una referencia de la llamada anterior a la API. Este ID podría ser útil para depurar y referenciar.

El campo "riskResponseCode" es el código de respuesta de Risk Analytics. El valor "0" en la respuesta anterior indica que la solicitud ha sido aceptada y el usuario se ha autenticado con éxito sin necesidad de tomar medidas adicionales. El tipo de respuesta a las distintas actividades podría detectarse desde Risk Analytics.

A continuación se muestra una lista de otros posibles valores que puede devolver Risk Analytics. Además, se pueden configurar valores adicionales a través del Servicio de Presentación de Análisis de Riesgos.

Comportamiento del análisis de riesgos Código de respuesta al riesgo (entero)
Aceptar 0
Declinación 1
Desafío 2
DesafíoSMS 3
DesafíoDispositivo2FA 5
DesafíoCorreo electrónico 8
DesafíoCronto 11
ChallengeNoPIN 21
ChallengePIN 22
DesafíoHuellas dactilares 23
ChallengeFace 24

El campo "sessionStatus" de la respuesta JSON representa el estado actual de la sesión tras el envío de la solicitud. La tabla siguiente enumera los posibles valores de estado:

Estado de la sesión Descripción del estado
desconocido El estado es desconocido y la respuesta se está gestionando externamente
pendiente A la espera de una acción del usuario final
aceptado Completado con éxito
rechazado Rechazado por el usuario final
tiempo de espera Se ha agotado el tiempo tras no recibirse ninguna respuesta en el plazo establecido
falló El fallo de validación de la OTP

El campo "requestMessage" es de tipo String. Se utiliza para transmitir un comando de orquestación al dispositivo de confianza del usuario final.

Hoy, hemos cubierto cómo hacer un evento no monetario a través de la API de OneSpan Interactive. En el próximo blog, demostraremos cómo crear una regla de Risk Analytics para eventos no monetarios. Mientras tanto, si tiene alguna pregunta, por favor, póngase en contacto con los Foros del Portal de la Comunidad de OneSpan.

Comunidad de desarrolladores de OneSpan Sign

Comunidad de desarrolladores de OneSpan Sign

¡Únase a la comunidad de desarrolladores de OneSpan Sign! Foros, blogs, documentación, descargas de SDK y más.

Únete hoy