Saltar al contenido principal

Generar Challenge Biométrico

Genera un challenge temporal asociado a un deviceId biométrico activo del usuario. El challenge se usa luego para firmar y verificar la autenticación biométrica.


GET/auth/biometry/challenge?deviceId=:deviceId

Genera un challenge biométrico para un dispositivo registrado

📋 Parámetros

deviceIdstringrequerido

Device ID (UUID) del dispositivo biométrico registrado

📤 Respuesta

{
"code": 1023,
"message": "Biometric challenge generated successfully.",
"data": {
  "challengeId": "uuid-challenge-id",
  "challenge": "base64-challenge",
  "expiresAt": "2025-01-20T14:50:00.000Z"
}
}

Headers

HeaderValue
AuthorizationBearer <JWT>

Query params

ParamTipoRequeridoDescripción
deviceIdstringDebe ser un UUID válido

Response (200)

Challenge generado

code 1023 — Biometric challenge generated successfully.

{
"code": 1023,
"message": "Biometric challenge generated successfully.",
"data": {
"challengeId": "uuid-challenge-id",
"challenge": "base64-challenge",
"expiresAt": "2025-01-20T14:50:00.000Z"
}
}

data

CampoTipoDescripción
challengeIdstringID del challenge
challengestringChallenge en formato base64
expiresAtstringTimestamp ISO 8601

Expiración

El challenge expira en 5 minutos desde su creación.


Errores

deviceId faltante o inválido

HTTP 400code 4006.

Falta el query param

{
"code": 4006,
"message": "deviceId parameter is required"
}

deviceId inválido (no UUID)

{
"code": 4006,
"message": "Invalid deviceId format. Must be a valid UUID"
}

Usuario no encontrado

HTTP 404code 4001.

{
"code": 4001,
"message": "User not found."
}

Dispositivo no registrado o revocado

HTTP 403code 5012.

{
"code": 5012,
"message": "Device not registered or revoked"
}

No autorizado

HTTP 401 — Token JWT inválido, expirado o ausente.

{
"statusCode": 401,
"message": "Unauthorized"
}

Error interno

HTTP 500code 5001.

{
"code": 5001,
"message": "Failed to save user to the database.",
"details": "..."
}

Ejemplo (cURL)

curl -X GET 'https://api.swapbits.co/auth/biometry/challenge?deviceId=550e8400-e29b-41d4-a716-446655440000' \
-H 'Authorization: Bearer YOUR_JWT_TOKEN'

⚡ Quick Test

GEThttps://api.swapbits.co/auth/biometry/challenge
curl -X GET 'https://api.swapbits.co/auth/biometry/challenge' \
  -H 'Content-Type: application/json'