POST /api/auth/login, el servidor establece una cookie de sesión HTTP firmada con una duración de 8 horas (maxAge: 60 * 60 * 8). Esta cookie es enviada automáticamente por el navegador en cada petición subsiguiente, permitiendo a la API identificar al usuario autenticado a través de event.context.user.
Esta página documenta los tres endpoints de gestión de sesión: consultar la sesión activa, cerrarla y recuperar contraseña olvidada.
GET /api/auth/me
Devuelve los datos del usuario autenticado en la sesión actual. El middleware global de la aplicación inyecta el usuario enevent.context.user antes de que llegue al handler; si la sesión no existe o expiró, el endpoint responde con 401.
Autenticación: Requiere cookie de sesión válida.
Respuestas
boolean
true cuando hay una sesión activa válida.string
"Usuario autenticado" en caso de éxito.object
Objeto que contiene la información del usuario de la sesión.
Tabla de errores
Ejemplo — cURL
Ejemplo — Respuesta exitosa 200
Ejemplo — Error 401
POST /api/auth/logout
Cierra la sesión del usuario autenticado limpiando la cookie de sesión del servidor medianteclearUserSession. Después de esta llamada, cualquier petición que requiera autenticación devolverá 401 hasta que el usuario vuelva a hacer login.
Autenticación: Requiere cookie de sesión válida (aunque puede llamarse sin sesión activa sin causar error).
Respuestas
boolean
Siempre
true en la respuesta de logout exitoso.string
"Sesión cerrada correctamente".null
Siempre
null.Ejemplo — cURL
Ejemplo — Respuesta exitosa 200
Después de llamar a este endpoint, elimina el archivo de cookies local (
cookies.txt) si usas cURL, o borra la cookie nuxt-session de tu cliente HTTP para garantizar que no se envíe en futuras peticiones.POST /api/auth/recovery
Inicia el proceso de recuperación de contraseña para un afiliado que olvidó sus credenciales. El endpoint envía un email al correo registrado del usuario con un enlace o código para restablecer la contraseña. Autenticación: No requiere autenticación previa.Cuerpo de la petición
El cuerpo es leído directamente conreadBody (sin validación Zod estricta en este handler). Se recomienda enviar los siguientes campos:
string
Correo electrónico asociado a la cuenta. El servicio de recuperación usa este campo para identificar al usuario.
string
Nombre de usuario alternativo para identificar la cuenta cuando no se dispone del email.
Respuestas
boolean
true cuando el proceso de recuperación fue iniciado y el email fue enviado.string
Confirmación del envío del email de recuperación.
object
Datos de confirmación del proceso de recuperación devueltos por el backend.
Tabla de errores
Ejemplo — cURL
Ejemplo — Respuesta exitosa 200
POST /api/validacion/codigo-firma
Valida un código de 6 dígitos enviado por el afiliado durante el proceso de firma digital. Si el código es correcto, invoca el servicio de Sisuweb para crear las claves de firma digital (keypublic, keyprivate, certificado) asociadas al usuario autenticado.
Autenticación: Requiere cookie de sesión válida.
Cuerpo de la petición
El cuerpo de la petición se valida con Zod antes de procesarse.string
required
Código de firma de exactamente 6 caracteres recibido por el afiliado. La validación Zod aplica
z.string().length(6).Respuestas
boolean
true cuando el código es válido y las claves de firma digital fueron generadas exitosamente.string
"Datos obtenidos exitosamente." en caso de éxito.object
Claves de la firma digital generada para el usuario.
Tabla de errores
Este endpoint devuelve
200 incluso en algunos errores de validación o de servicio, con success: false en el cuerpo de la respuesta. El cliente debe verificar siempre el campo success antes de usar el resultado.Ejemplo — cURL
Ejemplo — Respuesta exitosa 200
Ejemplo — Error de validación (código inválido)
Duración de la sesión
La sesión de Comfaca Créditos tiene una duración de 8 horas configuradas ennuxt.config.ts: