Skip to main content
Le Auth0ComponentProvider est la couche d’orchestration des Auth0 Universal Components. Les SDK Auth0 gèrent les sessions et les jetons, tandis que le Auth0ComponentProvider traduit cet état d’identité en un contexte d’interface utilisateur fonctionnel et adapté à l’image de marque. Le Auth0ComponentProvider veille à ce que les composants, comme l’inscription à l’AMF, disposent des permissions, des données mises en cache et du style nécessaires.

Avantages

Auth0ComponentProvider est l’enveloppe racine requise pour tous les Auth0 Universal Components. Voici les avantages de son utilisation :
  • Alignement des identités : Fait le pont entre les Auth0 SDKs et la My Account API afin que les requêtes soient signées avec des jetons associés à l’utilisateur.
  • Optimisation des performances : Implémente un cache TanStack Query partagé, spécialement optimisé pour les flux de travail liés à l’identité, afin d’éviter les appels d’API redondants et les décalages de mise en page.
  • Cohérence du système de conception : Propage les variables Tailwind CSS et les thèmes compatibles avec Shadcn dans l’arborescence des composants.
  • Rétroaction globale : Gère un système unifié de notifications toast pour les alertes de sécurité et l’état des flux de travail.

Architecture d’intégration

Imbriquez Auth0ComponentProvider dans votre fournisseur d’authentification (Auth0Provider). Cette configuration donne accès à l’état d’authentification et aux méthodes d’obtention de jetons nécessaires pour appeler les API Auth0.

Configurer Auth0ComponentProvider

Recommandation de sécurité : Pour les applications de production qui gèrent la configuration des Organizations, Auth0 recommande la configuration Next.js (application Web classique). Le mode proxy de Next.js stocke les jetons côté serveur, ce qui réduit la surface d’attaque par rapport au stockage des jetons dans le navigateur d’une SPA. Si vous utilisez le mode React SPA, consultez les conseils sur le Stockage des jetons afin de comprendre les compromis.
App.tsx

Propriétés

PropriétéTypeObligatoireDescription
domainstringOuiDomaine du tenant Auth0 (“YOUR_AUTH0_TENANT.auth0.com”).
previewModebooleanNonLorsqu’il est défini sur true, l’initialisation du client API est ignorée. Utilisé pour les aperçus et les démos de la documentation.
i18nI18nOptionsNonParamètres d’internationalisation, notamment currentLanguage et fallbackLanguage.
themeSettingsThemeSettingsNonConfiguration du thème, y compris le mode (clair/sombre), la variante de thème (default/minimal/rounded) et les variables CSS.
toastSettingsToastSettingsNonConfiguration des notifications toast, y compris le choix du fournisseur (sonner/custom), le positionnement, la durée et les méthodes de notifications toast personnalisées.
cacheConfigQueryCacheConfigNonContrôle la mise en cache de TanStack Query (données périmées après deux minutes / GC après cinq minutes par défaut). Définissez enabled: false pour forcer l’utilisation de données à jour.
loaderReact.ReactNodeNonComposant de chargement personnalisé à afficher pendant l’initialisation de l’authentification.

Expérience utilisateur


i18nUtilisez les propriétés suivantes pour adapter Universal Components au système de conception et aux paramètres régionaux de votre application.
PropriétéTypeObligatoirePar défautDescription
currentLanguagestringOui-Code de la langue actuelle (par exemple, “en”, “es”, “fr”)
fallbackLanguagestringNon”en”Code de la langue de secours lorsque des traductions sont absentes

themeSettings
PropriétéTypePar défautDescription
mode”light” | “dark""light”Mode de couleur du thème
theme”default” | “minimal” | “rounded""default”Variante de thème proposant différents styles visuels
variablesStylingVariablesPropriétés CSS personnalisées pour les thèmes commun, clair et foncé
Commun (s’applique à tous les thèmes) :Typographie :
  • --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
Rayon de bordure :
  • --radius-xs à --radius-9xl
Clair et foncé (couleurs et ombres propres à chaque thème) :Couleurs :
  • --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
Ombres :
  • --shadow-bevel-* (xs, sm, md, lg, xl, 2xl)
  • --shadow-button-* (repos, survol, focus)
  • --shadow-button-destructive-*
  • --shadow-button-outlined-*
  • --shadow-input-* (repos, survol, focus)
  • --shadow-input-destructive-*
  • --shadow-checkbox-* (repos, survol)
  • --shadow-switch-* (repos, survol, focus, curseur, curseur foncé)
Pour des exemples détaillés de styles et de modèles de personnalisation, consultez Personnaliser les styles et les thèmes avec les Universal Components.

toastSettingsLes paramètres des notifications éphémères prennent en charge deux types de fournisseurs : Sonner (par défaut) ou personnalisé. Chaque fournisseur possède sa propre structure de configuration, ce qui améliore la sûreté du typage.
Sonner Provider Example

État et performances

Ajustez avec précision la mise en cache de TanStack Query pour chaque composant Auth0. Par défaut, les données demeurent fraîches pendant deux minutes, sont libérées par le ramasse-miettes après cinq minutes, et les rechargements déclenchés par le focus de la fenêtre sont ignorés.
PropriétéTypePar défautDescription
enabledbooleantrueActive ou désactive la mise en cache. Lorsque cette option est définie sur false, les données obsolètes sont désactivées et les entrées du cache sont rapidement supprimées.
staleTimenumber120000Nombre de millisecondes avant que les données deviennent obsolètes. La valeur par défaut est de deux minutes. Augmentez cette valeur pour les tableaux de bord et diminuez-la pour les workflows critiques.
gcTimenumber300000Nombre de millisecondes avant que les requêtes inactives soient supprimées par le récupérateur de mémoire. La valeur par défaut est de cinq minutes.
refetchOnWindowFocusboolean | “always”falseIndique si les requêtes sont relancées lorsque le navigateur reprend le focus. Utilisez “always” pour garantir des données toujours à jour.
Désactiver la mise en cache : Passez { enabled: false }. Cela règle automatiquement staleTime à 0 et réduit le délai de récupération de mémoire à cinq secondes, afin que chaque rendu récupère des données récentes.Conseil de pro : Gardez la mise en cache activée, mais réduisez staleTime lors de l’intégration à des panneaux d’administration nécessitant des mises à jour quasi instantanées.