Autenticación

Todos los datos dentro de la plataforma son privados de forma predeterminada. El rol público se puede configurar para exponer datos sin autenticación, o puede pasar un token de acceso a la API para acceder a datos privados.

Tokens de acceso

Hay tres tipos de tokens que se pueden usar para autenticarse dentro de Catalogo.

  1. El token temporal (JWT) es devuelto por el punto de conexión/mutación de inicio de sesión. Estos tokens tienen un tiempo de caducidad relativamente corto y, por lo tanto, son la opción más segura de usar. Los tokens se devuelven con un token de actualización que se puede usar para recuperar un nuevo token de acceso a través del punto de conexión o mutación de actualización.
  2. El token de sesión (JWT) también puede ser devuelto por el punto de conexión/mutación de inicio de sesión. Los tokens de sesión combinan un token de actualización y un token de acceso en una sola cookie. Estos tokens no deben tener un tiempo de caducidad corto como los tokens temporales, ya que no se pueden actualizar después de que hayan caducado.
  3. El token estático se puede configurar para cada usuario de la plataforma y nunca caducan. Son menos seguros, pero bastante útiles para la comunicación de servidor a servidor.

Una vez que tenga su token de acceso, hay tres formas de pasarlo a la API: en el encabezado o header Authorization de la solicitud, como cookie de sesión o a través del parámetro access_token de consulta.

Encabezado de autorización

Authorization: Bearer <token>
Cookie: directus_session_token=<token>

Parámetro de consulta

?access_token=<token>

ADVERTENCIA

La opción de parámetro de consulta no se recomienda en las configuraciones de producción, ya que varios sistemas pueden registrar los parámetros.

Iniciar sesión

Autenticarse como usuario.

Request

POST /auth/login
{
	"email": user_email,
	"password": user_password
}

Cuerpo de la solicitud

Respuesta

Tiempo de caducidad

El tiempo de caducidad del token se puede configurar a través de la variable de entorno ACCESS_TOKEN_TTL.

Ejemplo

POST /auth/login
{
	"email": "admin@example.com",
	"password": "c4t4l0g0"
}

Actualizar token

Recupere un nuevo token de acceso mediante un token de actualización.

Request

POST /auth/refresh
{
	"refresh_token": refresh_token_string,
	"mode": refresh_mode
}

Cuerpo de la solicitud

Respuesta

Ejemplo

POST /auth/refresh
{
	"refresh_token": "gmPd...8wuB",
	"mode": "json"
}

Cerrar sesión

Invalide el token de actualización, destruyendo así la sesión del usuario.

Request

POST /auth/logout
{
	"refresh_token": refresh_token
}

Cuerpo de la solicitud

Ejemplo

POST /auth/logout
{
	"refresh_token": "gmPd...8wuB",
	"mode": "json"
}

Solicitar restablecimiento de contraseña

Solicite que se envíe un correo electrónico de restablecimiento de contraseña al usuario determinado.

Request

POST /auth/password/request
{
	"email": user_email
}

Cuerpo de la solicitud

Ejemplo

POST /auth/password/request
{
	"email": "admin@example.com"
}

Restablecer una contraseña

La solicitud de un punto de conexión de restablecimiento de contraseña envía un correo electrónico con un vínculo a la aplicación de administración (o a una ruta personalizada) que, a su vez, usa este punto de conexión para permitir que el usuario restablezca su contraseña.

Request

POST /auth/password/reset
{
	"token": password_reset_token,
	"password": password
}

Cuerpo de la solicitud

Ejemplo

POST /auth/password/reset
{
	"token": "eyJh...KmUk",
	"password": "c4t4l0g0"
}


Revisión #3
Creado 22 julio 2025 19:03:35 por Luis Matos
Actualizado 24 julio 2025 13:10:27 por Luis Matos