Auth
Autenticación
POST /auth/login
: Autentica a un usuario específico y establece cookies de sesión con tokens JWT (access token y refresh token).- Request Body:
{
"name": "string",
"pin": "string"
}
- cURL Example:
curl -v -X POST http://127.0.0.1:9154/auth/login \
-H 'Content-Type: application/json' \
-d '{
"name": "admin",
"pin": "1234"
}'
- Response Body (Éxito - 200 OK):
{
"message": "Login successful"
}
-
Response Headers: Se establecen cookies
accessToken
(15 min) yrefreshToken
(30 días) -
Response Body (Error - 401 Unauthorized):
{
"message": "Invalid credentials"
}
POST /auth/refresh
: Renueva el access token usando el refresh token almacenado en cookies.- Request: El refresh token debe estar presente en las cookies
- cURL Example:
curl -v -X POST http://127.0.0.1:9154/auth/refresh \
-H 'Cookie: accessToken=your_access_token_here' \
-H 'Cookie: refreshToken=your_refresh_token_here'
- Response Body (Éxito - 200 OK):
{
"message": "Access token refreshed successfully"
}
-
Response Headers: Se actualiza la cookie
accessToken
-
Response Body (Error - 401 Unauthorized):
{
"message": "Invalid refresh token"
}
POST /auth/logout
: Cierra la sesión del usuario, revoca el refresh token y elimina las cookies de autenticación.- Authorization: Requiere access token válido (enviado automáticamente via cookies)
- cURL Example:
curl -X POST http://127.0.0.1:9154/auth/logout \
-H 'Cookie: accessToken=your_access_token_here' \
-H 'Cookie: refreshToken=your_refresh_token_here'
- Response Body (Éxito - 200 OK):
{
"message": "Logout successful"
}
-
Response Headers: Se eliminan las cookies
accessToken
yrefreshToken
-
Response Body (Error - 401 Unauthorized):
{
"message": "Unauthorized"
}
Notas importantes:
- La autenticación se maneja mediante cookies HTTP con tokens JWT
- El
accessToken
tiene una duración de 15 minutos - El
refreshToken
tiene una duración de 30 días - Para endpoints protegidos, el access token se envía automáticamente via cookies
- Cuando el access token expira, usar
/auth/refresh
para obtener uno nuevo