Resumen
Los endpoints protegidos de Raul API usan autenticacionBearer. Better Auth es el
unico mecanismo de sesion de backoffice: el login emite una sesion opaca de 30 dias
deslizante (sin renovacion manual). El flujo legacy con JWT firmado (/api/auth/login,
/refresh, /logout, /session/upgrade) ya no existe.
Para permisos y diferencias entre backoffice vs portal, revisa tambien Permisos y roles.
Flujo recomendado:
POST /api/better-auth/sign-in/email- Guardar el token del header de respuesta
set-auth-token - Enviar
Authorization: Bearer <token>en cada request - La sesion se renueva sola mientras haya actividad (deslizante, sin endpoint de refresh)
- Invalidar sesion con
POST /api/better-auth/sign-outcuando corresponda
Base URL
https://api.raul.ugps.io
Dos superficies de acceso
- Backoffice/API interna: Better Auth (sesion opaca), unico mecanismo de sesion.
- Portal cliente: magic link + token propio del portal (
JWT_SECRET).
Login
UsaPOST /api/better-auth/sign-in/email para obtener una sesion. El token de sesion viaja
en el header de respuesta set-auth-token (plugin bearer de Better Auth), no en el body.
Header de autorizacion
Para cualquier endpoint protegido, usa el token capturado deset-auth-token:
Validar sesion
UsaGET /api/auth/users/me para confirmar que el token sigue vigente y conocer la identidad activa.
Esto sirve para:
- validar que el login fue correcto
- inspeccionar permisos efectivos
- comprobar si el token sigue usable antes de ejecutar flujos largos
Cerrar sesion
UsaPOST /api/better-auth/sign-out para invalidar la sesion actual.
Eso aplica cuando:
- el usuario cierra sesion manualmente
- quieres revocar sesiones previas
- detectas credenciales comprometidas
Errores comunes
Buenas practicas
- No persistir tokens de sesion en logs.
- Capturar el token desde el header
set-auth-token, no asumas que viene en el body. - Validar sesion con
/users/meal inicio de integraciones largas.
Endpoints relacionados
POST /api/better-auth/sign-in/emailPOST /api/better-auth/sign-outGET /api/auth/users/mePOST /api/auth/password-reset/requestPOST /api/auth/password-reset/confirm
Agentes y servidor MCP
Los agentes de IA pueden usar el servidor MCP enhttps://mcp-raul.ugps.io/mcp, que
autentica a cada persona con su propia cuenta de Raul mediante OAuth 2.1 sobre este mismo
login de Better Auth. El token que recibe el agente es un JWT de Better Auth con scope
raul:api, vida de 1 hora y refresh de 30 días; la API acepta ese mismo JWT en
SessionAuthGuard. Ver Para IA.