Autenticación¶
Cuatro flujos comparten una misma URL base: el inicio de sesión del usuario, el refresco del token, la recuperación de contraseña y el token OAuth para clientes registrados.
Comprobar un usuario¶
POST /auth/check-user
| Campo | Obligatorio | Significado |
|---|---|---|
workspace |
sí | El espacio donde buscar |
username |
sí | El nombre de usuario |
{"exists": true,
"user": {"username": "admin", "name": "Administrator admin", "workspace": "starter", "status": "ACTIVE"},
"auth": {"type": "local", "source": null}}
auth.type indica cómo inicia sesión el usuario. local significa la contraseña de la
plataforma; cualquier otro valor significa una fuente de autenticación externa, y la
llamada de inicio de sesión se comporta distinto.
Iniciar sesión¶
POST /auth/login
| Campo | Obligatorio | Significado |
|---|---|---|
workspace |
sí | El espacio |
username |
sí | El nombre de usuario |
password |
sí | La contraseña |
timezone_offset |
no | El desfase del cliente, usado para las fechas que se muestran después |
user_lang |
no | Un idioma preferido para la respuesta |
remember_me |
no | Mantener la sesión más tiempo |
{"success": true,
"uid": "…",
"redirect_url": "/starter/en/lurana/adminPanel/main?page=modern#/home/inbox",
"tokens": {"access_token": "…", "refresh_token": "…", "token_type": "bearer", "expires_in": 300},
"user": {"uid": "…", "username": "admin", "fullname": "Administrator admin", "role": "LURANA_ADMIN", "workspace": "starter"}}
La respuesta también trae un bloque timezone: cuando mismatch es verdadero, la zona
del cliente difiere de la guardada para el usuario, y la lista de timezones se ofrece
para que el cliente la corrija con auth/update-timezone.
Un inicio de sesión fallido devuelve success: false con el motivo; no devuelve tokens.
Refrescar¶
POST /auth/token/refresh
| Campo | Obligatorio |
|---|---|
refresh_token |
sí |
Devuelve un par nuevo de acceso y refresco. El token de refresco también expira, así que un cliente que queda inactivo más que su vida útil debe iniciar sesión otra vez.
Actualizar la zona horaria¶
POST /auth/update-timezone
| Campo | Significado |
|---|---|
timezone |
El nombre IANA, por ejemplo America/La_Paz |
Recuperación de contraseña¶
Tres llamadas, en este orden:
| Llamada | Campos | Resultado |
|---|---|---|
POST /auth/forgot-password |
workspace, username, email, locale |
Envía el mensaje de restablecimiento |
POST /auth/validate-reset-token |
token |
Dice si el token sigue siendo válido |
POST /auth/reset-password |
token, password, password_confirmation |
Fija la contraseña nueva |
La llamada de recuperación verifica que el usuario exista y que el correo coincida, y necesita un servidor de correo configurado; sin él responde que no hay servidor disponible.
Token OAuth¶
POST /oauth/token
Endpoint estándar de OAuth2 para un cliente registrado: client_credentials,
authorization_code o refresh_token. Las credenciales del cliente salen de la pantalla
de clientes OAuth.
Un grant no soportado responde 400 con error: unsupported_grant_type, que es la causa
habitual de una petición que parece correcta y no devuelve nada.
Usar el token¶
Authorization: Bearer <access_token>
Un token ausente, mal formado o expirado responde 401 con
{"success":false,"error":"SESSION_EXPIRED"}.
Dentro del navegador la aplicación también puede enviar la cookie de sesión en lugar del token; así llaman a la API sus propias pantallas. Una integración externa debe usar siempre el token.
Relacionado¶
- Conceptos de la API — URL base y formato de las respuestas.
- Iniciar sesión — el flujo de la interfaz.
- Clientes OAuth — los clientes que sirve
oauth/token. - Fuentes de autenticación — los otros valores de
auth.type.