Auth0ComponentProvider es la capa de orquestación de Auth0 Universal Components. Los SDK de Auth0 administran sesiones y tokens, y Auth0ComponentProvider traduce ese estado de identidad en un contexto de interfaz de usuario funcional y alineado con la marca. Auth0ComponentProvider se asegura de que los componentes, como la inscripción en MFA, tengan los permisos, los datos en caché y los estilos necesarios.
Beneficios
Auth0ComponentProvider es el contenedor raíz obligatorio para todos los Auth0 Universal Components. Los beneficios de usar este contenedor son:
- Alineación de identidad: Conecta los SDK de Auth0 con la My Account API para garantizar que las solicitudes se firmen con tokens con scope de usuario.
- Optimización del rendimiento: Implementa una caché compartida de TanStack Query específicamente ajustada para flujos de identidad, lo que evita llamadas redundantes a la API y cambios bruscos en el diseño.
- Consistencia del sistema de diseño: Propaga variables de Tailwind CSS y temas compatibles con Shadcn en todo el árbol de componentes.
- Feedback global: Gestiona un sistema unificado de notificaciones toast para alertas de seguridad y el estado del flujo de trabajo.
Arquitectura de la integración
Auth0ComponentProvider en su proveedor de autenticación (Auth0Provider). Esta configuración permite acceder al estado de autenticación y a los métodos de obtención de tokens necesarios para llamar a las API de Auth0.
Configurar Auth0ComponentProvider
- React
- Next.js
- shadcn
App.tsx
Propiedades
| Propiedad | Tipo | Obligatorio | Descripción |
|---|---|---|---|
domain | string | Sí | Dominio del inquilino de Auth0 (“YOUR_AUTH0_TENANT.auth0.com”). |
previewMode | boolean | No | Cuando true, omite la inicialización del cliente de la API. Se usa para vistas previas de la documentación y demostraciones. |
i18n | I18nOptions | No | Configuración de internacionalización, incluidos currentLanguage y fallbackLanguage. |
themeSettings | ThemeSettings | No | Configuración del tema, incluido el modo (light/dark), la variante del tema (default/minimal/rounded) y las variables CSS. |
toastSettings | ToastSettings | No | Configuración de las notificaciones toast, incluida la selección del proveedor (sonner/custom), la posición, la duración y los métodos toast personalizados. |
cacheConfig | QueryCacheConfig | No | Controla el almacenamiento en caché de TanStack Query (dos min de stale / cinco min de GC de forma predeterminada). Establece enabled: false para forzar datos actualizados. |
loader | React.ReactNode | No | Componente de carga personalizado que se muestra durante la inicialización de la autenticación. |
Experiencia del usuario
i18nUtiliza las siguientes propiedades para adaptar los Universal Components al sistema de diseño y la configuración regional de tu aplicación.
| Propiedad | Tipo | Obligatorio | Predeterminado | Descripción |
|---|---|---|---|---|
currentLanguage | string | Sí | - | Código del idioma actual (p. ej., “en”, “es”, “fr”) |
fallbackLanguage | string | No | ”en” | Código del idioma de respaldo cuando faltan traducciones |
themeSettings
| Propiedad | Tipo | Predeterminado | Descripción |
|---|---|---|---|
mode | ”light” | “dark" | "light” | Modo de color del tema |
theme | ”default” | “minimal” | “rounded" | "default” | Variante del tema con distintos estilos |
variables | StylingVariables | Propiedades personalizadas de CSS para los temas común, claro y oscuro |
Variables de CSS disponibles
Variables de CSS disponibles
Común (se aplica a todos los temas):Tipografía:
--font-size-page-header--font-size-page-description--font-size-heading--font-size-title--font-size-subtitle--font-size-body--font-size-paragraph--font-size-label
--radius-xshasta--radius-9xl
--background,--foreground--card,--card-foreground--primary,--primary-foreground--secondary,--secondary-foreground--accent,--accent-foreground--muted,--muted-foreground--destructive,--destructive-foreground--popover,--popover-foreground--input,--border,--ring--color-page--color-info,--color-info-foreground--color-success,--color-success-foreground--color-warning,--color-warning-foreground--color-destructive-border--color-popover-border--color-input-foreground--color-input-muted
--shadow-bevel-*(xs, sm, md, lg, xl, 2xl)--shadow-button-*(reposo, hover, focus)--shadow-button-destructive-*--shadow-button-outlined-*--shadow-input-*(reposo, hover, focus)--shadow-input-destructive-*--shadow-checkbox-*(reposo, hover)--shadow-switch-*(reposo, hover, focus, thumb, thumb-dark)
Para ver ejemplos detallados de estilos y patrones de personalización, consulta Personaliza
el estilo y los temas con Universal
Components.
toastSettingsLa configuración de Toast admite dos tipos de proveedor: Sonner (predeterminado) o personalizado. Cada proveedor tiene su propia estructura de configuración para mayor seguridad de tipos.
- Proveedor Sonner (predeterminado)
- Proveedor personalizado
Sonner Provider Example
Estado y rendimiento
Ajusta con precisión el almacenamiento en caché de TanStack Query para cada componente de Auth0. Los valores predeterminados mantienen los datos actualizados durante dos minutos, los recopilan como basura tras cinco minutos y omiten las recargas al enfocar la ventana.| Propiedad | Tipo | Valor predeterminado | Descripción |
|---|---|---|---|
enabled | boolean | true | Activa o desactiva por completo el almacenamiento en caché. Cuando se establece en false, se desactiva el uso de datos obsoletos y las entradas en caché se eliminan rápidamente. |
staleTime | number | 120000 | Milisegundos antes de que los datos se consideren obsoletos. El valor predeterminado es de dos minutos. Auméntelo para paneles y redúzcalo para flujos de trabajo críticos. |
gcTime | number | 300000 | Milisegundos antes de que las consultas inactivas se eliminen mediante recolección de basura. El valor predeterminado es de cinco minutos. |
refetchOnWindowFocus | boolean | “always” | false | Controla si las consultas se vuelven a ejecutar cuando el navegador recupera el foco. Use
“always” para mantener la máxima frescura. |
Desactivar el almacenamiento en caché: Pasa
{ enabled: false }. Esto establece automáticamente staleTime en 0 y reduce la ventana de recolección de basura a cinco segundos, de modo que cada renderizado obtenga datos actualizados.Sugerencia: Mantén el almacenamiento en caché habilitado, pero reduce staleTime al integrarlo con paneles de administración que requieren actualizaciones casi en tiempo real.- Configurar TTL
- Desactivar la caché