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.

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

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.

keyId: Clave de consulta de la cuenta

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

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

keyId: Clave de consulta de la cuenta.

deviceId: Identificador del dispositivo.

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.

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.

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.

keyId: Clave de consulta de la cuenta.

deviceId: Identificador del dispositivo.

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

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

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.

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

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

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

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

clientKey: Clave generada cifrada con la llave publica suministrada.

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

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

Verifica si se ha registrado una clave con el identificador suministrado

serverKey: Semilla cifrada en AES256

totp: TOTP a validar

timeWindow: ventana de tiempo para validar TOTP

Response

result: Resultado de la operación

GenerateTotp (POST /hsm/keys/totp)

200: Generación exitosa.

404: Cuenta no encontrada.

406: Parámetros de solicitud incorrectos.

408: Tiempo de espera excedido.

500: Servicios no disponibles.

Descripción

Genera un TOTP para la semilla suministrada

Request

serverKey: Semilla cifrada en AES256

Response

totp: Time based one time password


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:​