Utiliser l’IA pour intégrer Auth0
Utiliser l’IA pour intégrer Auth0
Si vous utilisez un assistant IA de codage comme Claude Code, Cursor ou GitHub Copilot, vous pouvez ajouter l’authentification Auth0 automatiquement en quelques minutes à l’aide d’Agent Skills.Commencez par installer les Auth0 agent skills :Ensuite, demandez à votre assistant IA :Votre assistant IA créera automatiquement votre application Auth0, récupérera les identifiants, installera le Auth0 React SDK et les plugins Capacitor, configurera les liens profonds et mettra en place les flux de login et de logout avec l’intégration du navigateur natif. Pour en savoir plus, consultez Auth0 agent skills.
Pour commencer
1
Créer un nouveau projet
Créer une nouvelle application Ionic React avec CapacitorOuvrir le projet
Si vous avez déjà une application Ionic React, assurez-vous que Capacitor est activé. Vous pouvez l’ajouter avec
ionic integrations enable capacitor, puis npx cap init.2
Installez le SDK React d’Auth0 et les plugins Capacitor
Le template de démarrage Ionic peut générer Installez ensuite le SDK Auth0 et les plugins Capacitor :
react@19.0.0, qui n’est pas compatible avec l’Auth0 React SDK. Assurez-vous d’abord d’avoir une version de React prise en charge :@auth0/auth0-react: fournit des hooks et des composants React pour l’authentification Auth0@capacitor/browser: ouvre la page de connexion dans le navigateur système de l’appareil (SFSafariViewController sur iOS, Chrome Custom Tabs sur Android)@capacitor/app: gère les URL de rappel par lien profond lorsqu’Auth0 redirige vers votre application
Le plugin Browser de Capacitor sur iOS utilise
SFSafariViewController, qui, sur iOS 11 et versions ultérieures, ne partage pas les cookies avec Safari sur l’appareil. Cela signifie que le SSO ne fonctionnera pas sur ces appareils. Si vous avez besoin du SSO, utilisez un plugin compatible qui utilise ASWebAuthenticationSession.3
Configurez votre Auth0 App
Ensuite, vous devez créer une nouvelle application sur votre tenant Auth0 et ajouter les variables d’environnement à votre projet.Vous avez trois options pour configurer votre application Auth0 : utiliser l’outil Quick Setup (recommandé), exécuter une commande CLI ou configurer manuellement via le tableau de bord.
Dans ce guide Quickstart,
YOUR_PACKAGE_ID correspond à l’ID du package de votre application. Il s’agit du champ appId dans votre fichier capacitor.config.ts (p. ex. io.ionic.starter). Consultez le schéma de configuration de Capacitor pour en savoir plus.- Configuration rapide (recommandée)
- CLI
- Dashboard
Créez une Auth0 App et copiez le fichier Assurez-vous également que le Type d’application est défini sur Native et que la Méthode d’authentification du point de terminaison de jeton est définie sur Aucune.
.env prérempli avec les bonnes valeurs de configuration.Après avoir créé l’application, allez dans ses Settings dans le Auth0 Dashboard et mettez à jour les Allowed Callback URLs et les Allowed Logout URLs pour remplacer YOUR_PACKAGE_ID par votre véritable ID de package et YOUR_AUTH0_DOMAIN par votre domaine Auth0 :4
Configurer Auth0Provider
Ouvrez
src/main.tsx et entourez le composant App avec Auth0Provider. Les paramètres propres aux appareils mobiles useRefreshTokens et useRefreshTokensFallback sont requis pour les applications Ionic sur iOS et Android.src/main.tsx
useRefreshTokens: Requis pour Ionic sur Android et iOS. Les navigateurs mobiles bloquent les cookies tiers; le SDK utilise donc des jetons d’actualisation au lieu de l’authentification silencieuse basée sur des iframe.useRefreshTokensFallback: Doit êtrefalsepour empêcher le SDK de tenter une authentification silencieuse basée sur des iframe, qui n’est pas offerte sur mobile.authorizationParams.redirect_uri: Utilise l’ID de votre package comme schéma d’URL personnalisé afin que le système d’exploitation puisse rediriger le callback Auth0 vers votre application.
5
Créer un gestionnaire de Login, Logout, profil et callback
Créer des fichiersEt ajoutez les extraits de code suivantsLe rappel
openUrl dans LoginButton et LogoutButton utilise le plugin Browser de Capacitor pour ouvrir les pages de login et de logout Auth0 dans le composant de navigateur système de l’appareil, plutôt que de quitter complètement l’application.Le composant App écoute l’événement appUrlOpen, qui se déclenche lorsqu’Auth0 redirige vers votre application en utilisant le schéma d’URL personnalisé. Il appelle handleRedirectCallback pour échanger le code d’autorisation contre des jetons, puis ferme le navigateur.Par défaut, la méthode
loginWithRedirect du SDK utilise window.location.href pour rediriger vers la page de connexion, ce qui ouvre l’application de navigateur par défaut de l’appareil. En configurant openUrl pour utiliser Browser.open, vous gardez le flux d’authentification dans le contexte de votre application, pour une meilleure expérience utilisateur.6
Lancez votre application
Testez d’abord dans le navigateurPour exécuter l’application sur un appareil ou un simulateur, ajoutez d’abord les plateformes natives :Ensuite, compilez, synchronisez et exécutez :
Vous devez ajouter les plateformes natives avec
npx cap add avant de pouvoir les lancer. Cette étape ne doit être effectuée qu’une seule fois par plateforme. Ensuite, npx cap sync copie vos assets Web compilés et met à jour les plug-ins natifs.CheckpointVous devriez maintenant avoir un login Auth0 entièrement fonctionnel dans votre application Ionic. Sur un appareil, un appui sur « Se connecter » ouvre la page de connexion Universal Login d’Auth0 dans le navigateur système, puis, après l’authentification, vous êtes redirigé vers votre application, où le profil de l’utilisateur s’affiche.
Utilisation avancée
Configuration d’un schéma d’URL personnalisé (iOS et Android)
Configuration d’un schéma d’URL personnalisé (iOS et Android)
Pour que les callbacks Auth0 fonctionnent sur les appareils, enregistrez l’ID de votre package comme schéma d’URL personnalisé sur chaque plateforme.iOS — ajoutez ceci à Android — ajoutez un Remplacez
ios/App/App/Info.plist :ios/App/App/Info.plist
intent-filter dans l’élément principal <activity> de android/app/src/main/AndroidManifest.xml :android/app/src/main/AndroidManifest.xml
io.ionic.starter par votre appId réel dans capacitor.config.ts.Pour en savoir plus, consultez Defining a Custom URL Scheme pour iOS, ou Create Deep Links to App Content pour Android.
Protéger les routes avec Ionic Router
Protéger les routes avec Ionic Router
Utilisez l’état d’authentification d’Auth0 pour protéger certaines routes de votre application Ionic :Le HOC
src/App.tsx
withAuthenticationRequired redirige automatiquement les utilisateurs non authentifiés vers la Auth0 login page lorsqu’ils essaient d’accéder à une route protégée.Appeler des API protégées
Appeler des API protégées
Configurez votre Auth0Provider pour inclure une audience d’API et utilisez la méthode Faites ensuite des appels d’API authentifiés depuis vos composants :
getAccessTokenSilently pour obtenir des jetons d’accès pour votre backend :src/main.tsx
src/ApiCall.tsx