Utiliser l’IA pour intégrer Auth0
Utiliser l’IA pour intégrer Auth0
Si vous utilisez un assistant de programmation IA comme Claude Code, Cursor ou GitHub Copilot, vous pouvez ajouter l’authentification Auth0 automatiquement en quelques minutes à l’aide des agent skills.Commencez par installer les agent skills d’Auth0 :Ensuite, demandez à votre assistant IA :Votre assistant IA créera automatiquement votre application Auth0, récupérera les informations d’identification, installera le SDK Auth0 React et les plugins Capacitor, configurera les liens profonds et mettra en place les flux de connexion et de déconnexion avec intégration au navigateur natif. Pour en savoir plus, consultez les agent skills d’Auth0.
Pour commencer
Créer un nouveau projet
Créez une nouvelle application Ionic React avec CapacitorOuvrez 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 exécuter npx cap init.Installez le SDK React d’Auth0 et les plugins Capacitor
Le modèle de départ Ionic peut générer Installez ensuite le SDK Auth0 et les plug-ins Capacitor :
react@19.0.0, qui n’est pas compatible avec le SDK React d’Auth0. Assurez-vous d’abord d’utiliser une version de React prise en charge :@auth0/auth0-react: Fournit des hooks et des composants React pour l’authentification avec 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 retours par lien profond lorsque Auth0 redirige vers votre application
Le plugin Browser de Capacitor sur iOS utilise
SFSafariViewController, qui, sur iOS 11+, 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 s’appuie sur ASWebAuthenticationSession.Configurez votre application Auth0
Ensuite, vous devez créer une nouvelle application dans votre tenant Auth0 et ajouter les variables d’environnement à votre projet.Vous disposez de trois options pour configurer votre application Auth0 : utiliser l’outil Quick Setup (recommandé), exécuter une commande CLI ou configurer manuellement via le Dashboard.
Tout au long de ce guide de démarrage rapide,
YOUR_PACKAGE_ID correspond à l’identifiant de package de votre application. Il s’agit de la valeur du champ appId dans votre fichier capacitor.config.ts (par ex. io.ionic.starter). Consultez le schéma de configuration de Capacitor pour en savoir plus.- Configuration rapide (recommandée)
- CLI
- Tableau de bord
Créez une application Auth0 et copiez le fichier Assurez-vous également que le type d’application est réglé sur Native et que la méthode d’authentification du point de terminaison de jeton est réglée sur None.
.env prérempli avec les bonnes valeurs de configuration.Après avoir créé l’application, accédez à ses Settings dans le tableau de bord Auth0 et mettez à jour les Allowed Callback URLs et les Allowed Logout URLs en remplaçant YOUR_PACKAGE_ID par l’ID de package réel de votre application et YOUR_AUTH0_DOMAIN par votre domaine Auth0 :Configurer l’Auth0Provider
Ouvrez
src/main.tsx et enveloppez le composant App dans 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: Obligatoire pour Ionic sur Android et iOS. Les navigateurs mobiles bloquent les témoins tiers; le SDK utilise donc des jetons d’actualisation au lieu d’une authentification silencieuse basée sur des iframes.useRefreshTokensFallback: Doit être défini àfalsepour empêcher le SDK de tenter une authentification silencieuse basée sur des iframes, qui n’est pas offerte sur mobile.authorizationParams.redirect_uri: Utilise l’identifiant de votre package comme schéma d’URL personnalisé afin que le système d’exploitation puisse rediriger le rappel Auth0 vers votre application.
Créer les gestionnaires de connexion, de déconnexion, de profil et de rappel
Créer des fichiersEt ajoutez les extraits de code suivantsLe rappel
openUrl dans LoginButton et LogoutButton utilise le plugiciel Browser de Capacitor pour ouvrir les pages de connexion et de déconnexion d’Auth0 dans le 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 via 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 le navigateur par défaut de l’appareil. En configurant openUrl pour utiliser Browser.open, le processus d’authentification reste dans le contexte de votre application, ce qui améliore l’expérience utilisateur.Exécutez votre application
Testez d’abord dans le navigateurPour l’exécuter 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 exécuter l’application dessus. Cette opération n’est requise qu’une seule fois par plateforme. Ensuite, npx cap sync copie vos ressources Web compilées et met à jour les plugins natifs.Point de contrôleVous devriez maintenant disposer d’une connexion Auth0 entièrement fonctionnelle dans votre application Ionic. Sur un appareil, appuyer sur « Log in » ouvre la page de connexion universelle d’Auth0 dans le navigateur système et, 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 URI de rappel d’Auth0 fonctionnent sur les appareils, enregistrez l’identifiant 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 <activity> principal de android/app/src/main/AndroidManifest.xml :android/app/src/main/AndroidManifest.xml
io.ionic.starter par la valeur réelle de appId 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.
Protection des routes avec Ionic Router
Protection des routes avec Ionic Router
Utilisez l’état d’authentification d’Auth0 pour protéger certaines routes dans votre application Ionic :Le HOC
src/App.tsx
withAuthenticationRequired redirige automatiquement les utilisateurs non authentifiés vers la page de connexion d’Auth0 lorsqu’ils tentent d’accéder à une route protégée.Appeler des API protégées
Appeler des API protégées
Configurez votre Auth0Provider de façon à inclure une audience d’API, puis utilisez la méthode Ensuite, effectuez des appels authentifiés à l’API à partir de vos composants :
getAccessTokenSilently pour obtenir des jetons d’accès pour votre backend :src/main.tsx
src/ApiCall.tsx