Una vez que el afiliado inicia sesión medianteDocumentation Index
Fetch the complete documentation index at: https://mintlify.com/elegroag/nuxt-credito-caja/llms.txt
Use this file to discover all available pages before exploring further.
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
true cuando hay una sesión activa válida."Usuario autenticado" en caso de éxito.Objeto que contiene la información del usuario de la sesión.
Tabla de errores
| Código HTTP | Causa | Descripción |
|---|---|---|
401 | Sin sesión | No hay cookie de sesión o la sesión ha expirado. |
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
Siempre
true en la respuesta de logout exitoso."Sesión cerrada correctamente".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:
Correo electrónico asociado a la cuenta. El servicio de recuperación usa este campo para identificar al usuario.
Nombre de usuario alternativo para identificar la cuenta cuando no se dispone del email.
Respuestas
true cuando el proceso de recuperación fue iniciado y el email fue enviado.Confirmación del envío del email de recuperación.
Datos de confirmación del proceso de recuperación devueltos por el backend.
Tabla de errores
| Código HTTP | Causa | Descripción |
|---|---|---|
404 | Usuario no encontrado | No existe un usuario con el email o username proporcionado. |
502 | Error de backend | Fallo al conectar con el servicio de autenticación o al enviar el email. |
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.Código de firma de exactamente 6 caracteres recibido por el afiliado. La validación Zod aplica
z.string().length(6).Respuestas
true cuando el código es válido y las claves de firma digital fueron generadas exitosamente."Datos obtenidos exitosamente." en caso de éxito.Claves de la firma digital generada para el usuario.
Tabla de errores
| Código HTTP | Causa | Descripción |
|---|---|---|
200 | Código inválido | El cuerpo no pasa la validación Zod (codigo ausente o con longitud distinta de 6). success: false en el cuerpo. |
401 | Sin sesión | No hay cookie de sesión o la sesión ha expirado. |
200 | Error interno | El servicio de Sisuweb falló o el usuario no fue encontrado. success: false en el cuerpo. |
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:
| Parámetro | Valor |
|---|---|
| Duración máxima | 8 horas |
| Mecanismo | Cookie HTTP nuxt-session firmada con JWT |
| Renovación | No automática — el usuario debe volver a hacer login al expirar |
| Cierre explícito | POST /api/auth/logout |