Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

A continuación, describimos los endpoints que contiene cada servicio desarrollado para Token Digital:

...

Detalle de endpoints

Table of Contents

El detalle que se muestra es el camino deseado (happy path) de los endpoints desarrollados.

El código esperado es un 200 + un body, en estos casos

Ejemplo de body - EnableToken (POST /tokens/key):

Body - Request

{

    "deviceId": "15703c1c-352a-11ee-be56-0242ac120002",

    "keyId": "05616256-352a-11ee-be56-0242ac120002",

    "publicKey": "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCR9+qdg/HrRLzgkbphCnQpN+NscOEY8vQO/M+/U4erX3ZK9IcV9MulLyY4faIBV2LeJpeUDzemFygjz/e+as6gKjbrJ7jHldl0stpfyUv6Se5iwC2wunevURLjnyk31Af9QtJr5KGsNrtyVzNYis92LGUY64tHEVNoL6DmrD/JJwIDAQAB",

    "publicKeyAlgorithm": "RSA"

}

Panel
panelIconIdatlassian-note
panelIcon:note:
bgColor#FFBDAD

Body - Response

{

"seed": "PGh9l4M6kfEWQPSAlB2ELD9p1GTMZ/lQSzkBg2n/lhTOsZtNh2lvhoRkCCBnsGuZgjBGPIfHFye3yi/b5YUKl+2CA673Fg66WruKTU58ywk/rZYUKXOku2NI8PliZG9P9/nrgrZ75D5SxsuUv0DIj8A0WfdYu16PLFnH4MGhD6A="

}

Token-service

Info

Gestiona la generación y validación del token digital

EnableToken (POST /tokens/key)

Descripción

Request

Response

HTTP Codes

Habilita la autenticación de toquen digital basada en TOTP. Internamente el servicio genera y almacena una semilla usando HSM, la vincula al usuario y la retorna al cliente.

Request

keyId: Clave de consulta de la cuenta

deviceId: Identificador del dispositivo

publicKeyAlgorithm: Algoritmo usado por el cliente para generar la clave pública

publicKey: Clave pública generada por el cliente

Response

seed: Semilla generada cifrada con la llave publica suministrada

200: Generación exitosa.

403: keyId ya registrada.

406: Parámetros de solicitud incorrectos.

408: Tiempo de espera excedido.

500: Servicios no disponibles

DisableToken (DELETE /tokens/key)

Descripción

Request

Response

HTTP Codes

Deshabilita la autenticación de token digital en caso de eliminación de cuenta o deseo del usuario mediante la eliminación del registro asociado al usuario en HSM.

Request

keyId: Clave de consulta de la cuenta

Response

...

Result: Resultado de la operación

200: Eliminación exitosa.

404: Cuenta no encontrada.

406: Parámetros de solicitud incorrectos.

408: Tiempo de espera excedido.

500: Servicios no disponibles.

RefreshToken (PUT /tokens/key)

Descripción

Request

Response

HTTP Codes

Actualiza la semilla asociada a la cuenta del usuario generando una nueva y retornándola

...

keyId: Clave de consulta de la cuenta

deviceId: Identificador del dispositivo

publicKeyAlgorithm: Algoritmo usado por el cliente para generar la clave pública

publicKey: Clave pública generada por el cliente

Response

seed: Semilla generada cifrada con la llave publica suministrada

200: Generación exitosa.

403: keyId ya registrada.

404: Cuenta no encontrada.

406: Parámetros de solicitud incorrectos.

408: Tiempo de espera excedido.

500: Servicios no disponibles

GenerateToken (

...

POST /tokens/key/server-totp

...

)

Descripción

Request

Response

HTTP Codes

Genera token digital basado en TOTP

Request

keyId: Clave de consulta de la cuenta.

deviceId: Identificador del dispositivo.

Response

totp: token generado para ser enviado al cliente

200: Generación exitosa.

404: Cuenta no encontrada.

406: Parámetros de solicitud incorrectos.

408: Tiempo de espera excedido.

500: Servicios no disponibles.

ValidateToken (POST /tokens/key/totp

...

)

Descripción

Request

Response

HTTP Codes

Valida token digital generado por el usuario en el tiempo definido para ello, verificando que corresponde a la misma semilla almacenada en HSM.

Request

keyId: Clave de consulta de la cuenta.

deviceId: Identificador del dispositivo.

totp: Token generado por el cliente

timeWindow: ventana de tiempo para validar totp

...

result: Resultado de la operación

200: Generación exitosa.

404: Cuenta no encontrada.

406: Parámetros de solicitud incorrectos.

408: Tiempo de espera excedido.

500: Servicios no disponibles.

VerifyAccount (POST /tokens/account)

Descripción

Request

Response

HTTP Codes

Verifica que la cuenta asociada a la calve de usuario se encuentre registrada en la base de datos de token digital.

...

keyId: Clave de consulta de la cuenta.

Response

result: Resultado de la operación

200: Generación exitosa.

404: Cuenta no encontrada.

406: Parámetros de solicitud incorrectos.

408: Tiempo de espera excedido.

500: Servicios no disponibles.

VerifyDevice (POST /tokens/device)

Descripción

Request

Response

HTTP Codes

Valida el dispositivo enviado por el cliente para identificar si está registrado en la base de datos de token digital.

Request

keyId: Clave de consulta de la cuenta.

deviceId: Identificador del dispositivo.

Response

result: Resultado de la operación

200: Generación exitosa.

404: Cuenta no encontrada.

406: Parámetros de solicitud incorrectos.

408: Tiempo de espera excedido.

500: Servicios no disponibles.

Jira Legacy
serverSystem Jira
serverId08c95066-e26d-357f-9c44-10e77235956c
keyPALO-37

...

Token-activation-service

Info

El servicio de activación genera un token para verificar el dispositivo y lo verifica posteriormente

GenerateActivationKey (POST/activations/activation-keys)

Descripción

Request

Response

HTTP Codes

Genera el token de activación

Request

keyId: Clave de consulta de la cuenta

...

.

activationToken: Token para ser enviado al dispositivo

200: Generación exitosa.

404: Cuenta no encontrada.

406: Parámetros de solicitud incorrectos.

408: Tiempo de espera excedido.

500: Servicios no disponibles.

Enroll (POST /activations/enrollment)

Descripción

Request

Response

HTTP Codes

Verifica el token de activación y si es válido

Request

keyId: Clave de consulta de la cuenta

deviceId: Identificador del dispositivo

activationToken: Token para ser enviado al dispositivo.

publicKeyAlgorithm: Algoritmo usado por el cliente para generar la clave pública.

publicKey: Clave pública generada por el cliente.

Response

seed: Semilla generada cifrada con la llave publica suministrada

200: Generación exitosa.

404: Cuenta no encontrada.

406: Parámetros de solicitud incorrectos.

408: Tiempo de espera excedido.

500: Servicios no disponibles.

...

HSM-adapter

Info

 Encapsula comportamiento de AWS Cloud HSM

createKey (POST /hsm-adapter/keys)

Descripción

Request

Response

HTTP Codes

Genera una clave criptográfica usando el módulo HSM, la almacena y la retorna

Request

keyId: Identificador de la clave *

seedAlgorithm: Algoritmo a usar para generar

...

clave

publicKeyAlgorithm: Algoritmo usado por el cliente para generar la clave pública

publicKey: Clave pública generada por el cliente

Response

clientKey: Clave generada cifrada con la llave publica suministrada.

serverKey: Clave cifrada en AES256 para ser almacenada en la base de datos.

200: Generación exitosa.

404: Cuenta no encontrada.

406: Parámetros de solicitud incorrectos.

408: Tiempo de espera excedido.

500: Servicios no disponibles.

validateTotp (GET /hsm/keys/totp)

Descripción

Request

Response

HTTP Codes

Verifica si se ha registrado una clave con el identificador suministrado

Request

serverKey: Semilla cifrada en AES256

totp: TOTP a validar

timeWindow: ventana de tiempo para validar TOTP

...

result: Resultado de la operación

200: Generación exitosa.

404: Cuenta no encontrada.

406: Parámetros de solicitud incorrectos.

408: Tiempo de espera excedido.

500: Servicios no disponibles.

GenerateTotp (POST /hsm/keys/totp

...

)

Descripción

Request

Response

HTTP Codes

Genera un TOTP para la semilla suministrada

...

serverKey: Semilla cifrada en AES256

...

totp: Time based one time password

200: Generación exitosa.

404: Cuenta no encontrada.

406: Parámetros de solicitud incorrectos.

408: Tiempo de espera excedido.

500: Servicios no disponibles.

...

Secuencia de servicios

Orden de despliegue

Aunque no hay dependencia entre servicios, es recomendable desplegarlos en el siguiente orden para realizar las pruebas de cada uno:​

...