Saltar al contenido principal
Versión: 2.0 (Actual) La Management API de Auth0 es un conjunto de endpoints para realizar tareas administrativas de forma programática y debe utilizarse desde servidores de back-end o por entidades de confianza. En términos generales, todo lo que puede hacerse a través del Auth0 Dashboard también puede hacerse mediante esta API. Esta API es independiente de la Auth0 Authentication API de acceso público, que está pensada para su uso desde front-ends y por entidades no confiables. Al usar los ejemplos de código incluidos en esta documentación de la API, las solicitudes deben enviarse con un Content-Type de application/json. Todos los endpoints admiten un tamaño máximo de payload de 1 megabyte. La documentación de la Management API de Auth0 sigue el esquema OpenAPI v3.1 de la Management API de Auth0. Tenga en cuenta que la compatibilidad con el esquema OpenAPI v3.1 se encuentra actualmente en Beta.

Autenticación

El uso de Auth0 Management API requiere un token de acceso de Management API. Para obtener información sobre cómo solicitar este token, consulte Tokens de acceso de Management API. Auth0 Management API usa JSON Web Tokens (JWT) para autenticar solicitudes. La claim de alcances del token de acceso de Management API indica qué métodos de solicitud se pueden usar al llamar a esta API. El token de ejemplo deserializado de esta página concede acceso de solo lectura a usuarios y acceso de lectura y escritura a conexiones. Si intenta usar cualquier método de solicitud que no esté permitido por el conjunto de alcances, se devolverá una respuesta 403 Forbidden.
{
  "aud": "m8DAxghyfE0KdpzogfXgMSxrkCSdKVEF",
  "scopes": {
    "connections": {
      "actions": ["read", "update"]
    }
  },
  "iat": "1446056652",
  "jti": "7e9c6a991f5a227fb7ebaa522536ae4c"
}
Para hacer llamadas a la API, envíe el Token de la API en el encabezado HTTP Authorization mediante el esquema de autenticación Bearer.
curl -H "Authorization: Bearer eyJhb..." https://@@TENANT@@/api/v2/users

Correlación de solicitudes

Un ID de correlación es un identificador único (de hasta 64 caracteres) de una operación individual de Management API y permite rastrear esas operaciones en los registros del inquilino. Para obtener más información, consulte Logs. La API acepta un ID de correlación proporcionado por el cliente si se envía mediante el encabezado HTTP X-Correlation-ID en los métodos POST, PUT, PATCH y DELETE.
curl -H "Authorization: Bearer eyJhb..." -H "x-correlation-id: client1_xyz" https://@@TENANT@@/api/v2/users
Si se proporciona un valor para el encabezado X-Correlation-ID de más de 64 caracteres, solo se mostrarán en los registros los primeros 64 caracteres.
"references": {
  "correlation_id": "client1_xyz"
}
La paginación es una técnica que utilizan las API para dividir grandes conjuntos de datos en páginas manejables, lo que reduce la cantidad de datos que se devuelve en cada respuesta. En las API son comunes dos tipos principales de paginación: la paginación basada en desplazamiento y la paginación basada en puntos de control. Cada una tiene ventajas y casos de uso distintos según el tamaño del conjunto de datos y los requisitos de consulta. La Management API de Auth0 admite ambos tipos de paginación en muchos endpoints, como GET /api/v2/clients y GET /api/v2/logs. Cuando ambas opciones están disponibles, se recomienda la paginación basada en puntos de control por su mayor eficiencia y estabilidad con conjuntos de datos grandes.

Paginación basada en desplazamiento

La paginación basada en desplazamiento es un método sencillo y ampliamente utilizado para paginar conjuntos de datos de hasta aproximadamente 1.000 elementos. Este enfoque utiliza los parámetros page y per_page para definir el punto de inicio y el número de elementos de cada página.
  • Parámetros:
    • page: El número de página, indexado desde cero, que se va a recuperar. Si no se especifica, el valor predeterminado es 0.
    • per_page: El número de elementos que se devolverán por página. Para los inquilinos de Public Cloud, el máximo es 50; para Private Cloud, el máximo es 100. Si no se especifica, el valor predeterminado es la mitad del máximo.
Ejemplo de solicitud de paginación basada en desplazamiento:
curl -L "https://@@TENANT@@/api/v2/clients?per_page=10&page=2" \
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'Accept: application/json'
En la paginación por desplazamiento:
  • Si page * per_page supera el número total de resultados, se devuelve un array vacío.
  • En cada solicitud de página se vuelve a calcular el desplazamiento, lo que puede afectar al rendimiento con conjuntos de datos más grandes. La paginación por desplazamiento suele ser más adecuada para colecciones que probablemente no superen los 1.000 elementos.

Paginación basada en puntos de control

La paginación basada en puntos de control, también conocida como paginación basada en cursores o tokens, está optimizada para conjuntos de datos grandes. Este método utiliza un ID de punto de control next proporcionado por el servidor para recuperar las páginas siguientes en una secuencia solo hacia adelante. El ID de punto de control next se incluye en la respuesta cuando hay resultados adicionales disponibles. Para continuar con la paginación, use el ID de punto de control next en el parámetro de consulta from de la siguiente solicitud. Este ID es opaco y debe pasarse sin modificar.
  • Parámetros:
    • from: El siguiente ID de punto de control de la respuesta anterior, que se utiliza para recuperar la siguiente página de resultados.
    • take: La cantidad de elementos que se devolverán por página. Para los inquilinos de Public Cloud, el máximo es 50; para Private Cloud, el máximo es 100. Si no se especifica, el valor predeterminado es la mitad del máximo.
Ejemplo de solicitud de paginación basada en puntos de control:
curl -L "https://@@TENANT@@/api/v2/clients?take=10&from=Cg1HRUY3NEszUERFME40GgAiAQgCEj..." \
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'Accept: application/json'

Vencimiento del ID de punto de control

Al usar la paginación basada en puntos de control, es importante tener en cuenta la vigencia de cada ID de punto de control next. El ID de punto de control está diseñado para usarse de forma secuencial, y cada ID solo es válido durante un tiempo limitado para garantizar la coherencia de los datos.

Nota

El ID de punto de control next es válido durante 24 horas desde su emisión. Si vence, deberá realizar una nueva solicitud para reiniciar desde el principio del conjunto de datos. Considere almacenar los resultados en caché si puede transcurrir un período prolongado entre solicitudes.

Restricciones de avance únicamente

La paginación basada en puntos de control solo permite avanzar. Evite usar el ID de punto de control para navegar hacia atrás o para hacer solicitudes fuera de secuencia, ya que esto puede provocar errores. Use siempre el ID de punto de control next de la respuesta anterior.

Cómo elegir entre la paginación por desplazamiento y la paginación por punto de control

Cuando se admiten ambos tipos de paginación:
  • Utilice la paginación basada en puntos de control para gestionar grandes conjuntos de datos de forma eficiente.
  • Utilice la paginación basada en desplazamiento para conjuntos de datos más pequeños (normalmente, menos de 1.000 elementos), ya que es más sencilla de implementar, pero menos eficiente para colecciones grandes.

Prácticas recomendadas para gestionar la paginación

  • Consistencia de los datos: Cada solicitud paginada refleja el estado de los datos en el momento en que se realiza. Si los datos se actualizan o eliminan, puede haber elementos omitidos o duplicados. La paginación basada en puntos de control puede ayudar a mantener una paginación más fluida en conjuntos de datos dinámicos.
  • Almacenamiento de checkpoints: Para recuperar grandes volúmenes de datos, considere almacenar checkpoints después de cada página para poder reanudar desde el último checkpoint en caso de interrupción.
Este enfoque permite recuperar datos de forma eficiente y estable en grandes conjuntos de datos, en consonancia con las opciones de paginación de la Management API de Auth0.

Pruebe con un Token de acceso

Puede obtener un Token de acceso para realizar pruebas. Para obtener más información, consulte Obtener tokens de acceso de Management API para realizar pruebas.