Evite la ejecución innecesaria
clientMetadata específico, especialmente si va a validar un único valor de clientMetadata común a varias aplicaciones. El uso de clientMetadata también puede facilitar la incorporación de nuevos clientes (así como la lectura del código de la Rule), especialmente si tiene un gran número de aplicaciones definidas, ya que reduce los cambios de código o los valores de configuración necesarios entre entornos.
Los metadatos de cliente de una aplicación pueden configurarse manualmente desde el , en Application Settings > Advanced Settings > Application Metadata, o de forma programática mediante el endpoint Update a client endpoint de la Auth0 .
Finalice cuanto antes
return de JavaScript para salir de la función (Rule).
Minimice las solicitudes a la API
global puede usarse para almacenar en caché información de llamadas a API, que posteriormente puede reutilizarse en todas las Rules que se ejecuten en la canalización. Es preferible usarlo para almacenar información en lugar de llamar repetidamente a una API. Además, el objeto global también puede usarse para almacenar en caché otra información entre la ejecución de las Rules.
Limite las llamadas a servicios de pago
- Deshabilite los registros públicos para reducir la cantidad de usuarios que pueden registrarse y desencadenar llamadas a servicios de pago
- Asegúrese de que una Rule solo se active para un subconjunto autorizado de usuarios o en otras condiciones adecuadas. Por ejemplo, puede que quiera agregar lógica para comprobar si un usuario tiene un dominio de correo electrónico, un rol/grupo o un nivel de suscripción determinados antes de activar la llamada al servicio de pago.
Limite las llamadas a la Management API
auth0 (así que asegúrese de usarlo con moderación). Para obtener más información, consulte Management API Endpoint Rate Limits.
Además, las funciones de la Management API tardan distintos tiempos en ejecutarse, por lo que pueden introducir distintos niveles de latencia; por ejemplo, las llamadas al endpoint List or Search users endpoint de la Management API deben reducirse al mínimo y realizarse solo cuando sea absolutamente necesario, incluso cuando se ejecuten mediante el objeto auth0.
Hemos ampliado las propiedades relacionadas con la conexión disponibles en el objeto context de Rules, por lo que puede obtener la información de la conexión desde el objeto context en lugar de tener que llamar a la Management API de Auth0. Para obtener más información, consulte Propiedades del objeto Context en Rules.
Para ver esto en acción, si está utilizando la plantilla de Rule Check if user email domain matches configured domain, consulte la versión más reciente en Github o vaya a Auth0 Dashboard > Auth Pipeline > Rules y seleccione Create. Nota: los cambios recientes no alterarán la funcionalidad, pero mejorarán el rendimiento de las Rules que antes dependían de llamadas a la Management API.
Eliminar las llamadas a la Management API (así como la llamada adicional necesaria para obtener el token de acceso adecuado) hará que el código de su Rule tenga un mejor rendimiento y sea más confiable.
Use tiempos de espera explícitos al realizar llamadas a APIs
Reduzca las llamadas a Auth0
- Almacene en caché las respuestas de
/.well-known/*: esta información no cambia con frecuencia, por lo que normalmente puede almacenarla en caché para reducir la cantidad de veces que necesita llamar a Auth0. - Considere solicitar un
id_tokenen lugar de llamar a/userinfopara obtener información del usuario. - Reduzca las llamadas masivas, como la eliminación o el desbloqueo masivos.