Skip to main content
Auth0 proporciona un sistema completo para almacenar metadatos en el perfil de usuario de Auth0. Puede configurar un desencadenador post-login para modificar user_metadata y app_metadata como parte del flujo de inicio de sesión de un usuario. Los desencadenadores post-login son útiles para tareas como almacenar datos específicos de la aplicación en el perfil de usuario, registrar operaciones del usuario, asignar atributos de al campo de metadatos, o almacenar en caché valores de operaciones costosas en el perfil de usuario para reutilizarlos en futuros inicios de sesión. El objeto api de post-login proporciona operaciones comunes que se pueden realizar en este desencadenador. Para administrar los metadatos del usuario, queremos usar los métodos api.user.setAppMetadata y api.user.setUserMetadata. Por ejemplo, para evitar que cierto comportamiento se ejecute más de una vez para un usuario específico, considere una Action como esta:
Aquí, agregamos una comprobación al inicio de la Action para ver si ya hemos realizado la tarea costosa para este usuario. Si el campo de metadata existe, salimos de la función. Al final de la Action, llamamos a api.user.setAppMetadata para indicar que queremos almacenar metadata en el objeto de usuario. Al final de la ejecución de cada desencadenador, Actions actualizará el perfil de usuario en una sola operación. Si se realizan varias llamadas a setUserMetadata, incluso si se hacen en distintas Actions como parte del mismo flujo, Actions solo actualizará el perfil de usuario una vez: al final de la ejecución del desencadenador.
Varias llamadas a setUserMetadata o setAppMetadata se agruparán en una sola actualización del perfil de usuario al final de la ejecución del desencadenador, incluso si las realizan distintas Actions.

Prácticas recomendadas

Tenga cuidado al almacenar demasiados datos en el perfil de Auth0. Estos datos están pensados para fines de autenticación y autorización, y los usuarios pueden editar su propio campo user_metadata, así que no almacene datos confidenciales en él. Las capacidades de metadatos y búsqueda de Auth0 no están diseñadas para estudios de mercado ni para ninguna otra tarea que requiera una alta frecuencia de búsquedas o actualizaciones. Es probable que su sistema tenga problemas de escalabilidad y rendimiento si usa Auth0 con este fin. Una mejor opción es almacenar los datos en un sistema externo y guardar una referencia (el ID de usuario) en Auth0 para que los sistemas de backend puedan obtenerlos si es necesario.

Límites de frecuencia

La configuración de los metadatos del usuario y de la aplicación está sujeta a los límites de frecuencia de su inquilino y puede afectar la capacidad de procesamiento del inicio de sesión.
Aunque se realiza una sola llamada para actualizar el perfil de usuario, esa operación sigue estando sujeta a los límites de frecuencia de “Write User” de su inquilino. Si se alcanza el límite de frecuencia al intentar actualizar los metadatos, Actions reintentará la solicitud siempre que se devuelva un código de estado HTTP 429. El retraso entre los reintentos se rige por el valor del encabezado X-RateLimit-Reset devuelto como parte de la respuesta 429.

Redirecciones

Si se invoca una redirección con api.redirect.sendUserTo(), cualquier actualización pendiente de los metadatos del usuario o de la aplicación se aplicará al perfil de usuario antes de redirigir al usuario al sitio externo. Para obtener más información, consulta Redirecting With Actions.

Más información