Autenticación de la API de plataforma (JWT)
La API REST de vitalera utiliza autenticación JWT (JSON Web Token) basada en el estándar OAuth 2.0.
Obtención de credenciales
Contacte con support@vitalera.io para solicitar:
- Client ID — identifica su aplicación
- Client Secret — autentica su aplicación
- Application ID — utilizado para la rotación de credenciales
Client Credentials Grant
Para integraciones servidor a servidor (máquina a máquina):
curl -X POST "https://api.vitalera.io/api/auth/tokens/" \
-H "Content-Type: application/json" \
-d '{
"grant_type": "client_credentials",
"client_id": "<CLIENT_ID>",
"client_secret": "<CLIENT_SECRET>"
}'
Respuesta:
{
"access_token": "<ACCESS_TOKEN>",
"token_type": "Bearer",
"expires_in": 3600
}
Password Grant
Para flujos de inicio de sesión de usuario (p. ej., apps móviles o web que autentican usuarios individuales):
curl -X POST "https://api.vitalera.io/api/auth/tokens/" \
-H "Content-Type: application/json" \
-d '{
"grant_type": "password",
"username": "<USERNAME>",
"password": "<PASSWORD>"
}'
Respuesta:
{
"id_token": "<ID_TOKEN>",
"access_token": "<ACCESS_TOKEN>",
"refresh_token": "<REFRESH_TOKEN>",
"sub": "<USER_ID>"
}
Realizando peticiones a la API
Incluya el token de acceso en la cabecera Authorization de cada petición:
curl -X GET "https://api.vitalera.io/api/plans/" \
-H "Authorization: Bearer <ACCESS_TOKEN>"
Validez del token
Los tokens de acceso son válidos durante 1 hora (3600 segundos). Cuando un token expira, la API devuelve HTTP 401 Unauthorized:
{
"errors": [
{
"errorType": "expired_token",
"message": "Access token expired"
}
]
}
Refresco de token
Si obtuvo un refresh token (mediante password grant), puede refrescar su token de acceso sin volver a autenticarse:
curl -X POST "https://api.vitalera.io/api/auth/tokens/refresh/" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer <ACCESS_TOKEN>" \
-d '{
"refresh_token": "<REFRESH_TOKEN>"
}'
Validación de token
Verifique que un token sigue siendo válido:
curl -X GET "https://api.vitalera.io/api/auth/tokens/validate/" \
-H "Authorization: Bearer <ACCESS_TOKEN>"
Rotación de credenciales
Por seguridad, rote periódicamente sus credenciales de cliente. Esto requiere un JWT válido y el application_id:
curl -X POST "https://api.vitalera.io/api/applications/rotate_credentials/" \
-H "Authorization: Bearer <ACCESS_TOKEN>" \
-H "Content-Type: application/json" \
-d '{
"application_id": "<APPLICATION_ID>"
}'
Respuesta:
{
"id": "<APPLICATION_ID>",
"name": "TestApp",
"organization": "123",
"client_id": "<NEW_CLIENT_ID>",
"client_secret": "<NEW_CLIENT_SECRET>",
"application_types": ["API"]
}
Después de la rotación, las credenciales anteriores se invalidan inmediatamente.
¿Necesita ayuda?
Contacte con support@vitalera.io para asistencia con la configuración de autenticación.