Skip to main content

Confirmar actualización de PIN

Endpoint: POST /auth/pin/update


Permite confirmar la actualización del PIN de seguridad usando el token de validación obtenido previamente. Requiere verificación 2FA si el usuario la tiene configurada.


🔐 Requiere autenticación JWT

Debes enviar un token JWT válido en el header:

Authorization: Bearer <accessToken>

📝 Cuerpo de la solicitud

Usuario sin 2FA

{
"validationToken": "uuid-validation-token",
"newPin": "654321"
}

Usuario con 2FA

{
"validationToken": "uuid-validation-token",
"newPin": "654321",
"twoFactorCode": "123456"
}

Parámetros:

  • validationToken: Token obtenido de /auth/pin/update/request
  • newPin: Nuevo PIN de exactamente 6 dígitos numéricos
  • twoFactorCode: Código 2FA (solo si el usuario tiene 2FA habilitado)

📋 Respuestas

✅ 200 OK

  • PIN actualizado correctamente

    {
    "code": 1003,
    "message": "PIN updated successfully",
    "data": {
    "updatedAt": "2025-01-20T14:45:00.000Z"
    }
    }

❌ 400 Bad Request

  • Token de validación inválido o expirado

    {
    "code": 4032,
    "message": "Invalid or expired validation token"
    }
  • 2FA requerido pero no proporcionado

    {
    "code": 4034,
    "message": "2FA code required for this user"
    }
  • Código 2FA inválido

    {
    "code": 4003,
    "message": "Invalid 2FA code format"
    }
  • Nuevo PIN con formato inválido

    {
    "code": 4006,
    "message": "PIN must be exactly 6 digits"
    }
  • Faltan campos requeridos

    {
    "message": "Validation token is required."
    }
    {
    "message": "New PIN is required."
    }

❌ 401 Unauthorized

  • Sin token válido

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

🔄 Flujo completo de actualización

  1. Solicitar actualización: POST /auth/pin/update/request con PIN actual
  2. Obtener token: Recibir validationToken y verificar si requiere 2FA
  3. Confirmar cambio: Usar este endpoint con el token y nuevo PIN (+ 2FA si es necesario)

✅ Validaciones

  • El validationToken debe ser válido y no haber expirado (10 minutos)
  • El nuevo PIN debe ser exactamente 6 dígitos numéricos
  • Si el usuario tiene 2FA, el código debe ser válido
  • No se permite usar el mismo PIN actual como nuevo PIN

📝 Notas

  • Los tokens de validación expiran en 10 minutos
  • La verificación 2FA es automática si el usuario la tiene configurada
  • Después de la actualización exitosa, se revocan todas las sesiones PIN activas
  • El nuevo PIN estará activo inmediatamente después de la actualización

Requisito previo: Debes haber obtenido un validationToken válido de /auth/pin/update/request antes de usar este endpoint.