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 automatiquement l’authentification Auth0 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 identifiants, installera le SDK Auth0 Vue et les plugins Capacitor, configurera les liens profonds et mettra en œuvre des flux de connexion et de déconnexion avec intégration au navigateur natif. Pour en savoir plus, consultez Auth0 agent skills.
Pour commencer
Installez le SDK Vue d’Auth0 et les plugins Capacitor
@capacitor/browser ouvre la page Universal Login d’Auth0 dans le navigateur système de l’appareil (SFSafariViewController sur iOS, Chrome Custom Tabs sur Android) pour une authentification sécurisée.@capacitor/app écoute les événements de lien profond afin que votre application puisse gérer la redirection OAuth lorsqu’Auth0 redirige l’utilisateur après la connexion.Configurez votre application Auth0
La prochaine étape consiste à créer une nouvelle application dans votre locataire Auth0. Les applications Ionic Capacitor utilisent le type d’application Native avec des URL de rappel basées sur un schéma d’URL personnalisé.Vous avez trois options pour configurer votre application Auth0 : utiliser l’outil de configuration rapide (recommandé), exécuter une commande CLI ou effectuer la configuration manuellement dans l’Auth0 Dashboard :
- Configuration rapide (recommandée)
- CLI
- Dashboard
Créez une application Auth0 Native et obtenez vos identifiants.Après avoir créé votre application, notez les valeurs Domain et Client ID pour l’étape suivante.
Vous devrez aussi configurer les URL de rappel et de déconnexion dans le Dashboard. Consultez la configuration des URL ci-dessous.
Configurer le plugiciel Auth0
src/main.ts
useRefreshTokens: true— Les navigateurs mobiles bloquent les cookies tiers; l’authentification silencieuse basée sur des iframes ne fonctionne donc pas. Les jetons d’actualisation appellent directement le point de terminaison/oauth/token.useRefreshTokensFallback: false— Empêche le SDK de tenter le mécanisme de repli basé sur une iframe, qui n’est pas disponible sur mobile.router.isReady().then(...)— Garantit que Vue Router est entièrement initialisé avant que le SDK ne traite le callback OAuth, ce qui évite les conditions de concurrence.
Créer des composants d’authentification
Créer des fichiers de composantsAjoutez le code suivant aux nouveaux composants et mettez à jour les fichiers
App.vue et HomePage.vue existantsLancez votre application
Commencez par tester dans le navigateur :Pour l’exécuter sur un appareil ou dans un simulateur, ajoutez d’abord les plateformes natives :Ensuite, générez, synchronisez et exécutez :
Vous devez ajouter les plateformes natives avec
npx cap add avant de pouvoir les exécuter. Cette opération ne doit être effectuée qu’une seule fois par plateforme. Assurez-vous d’abord d’avoir enregistré le schéma d’URL personnalisé pour votre plateforme.Point de contrôleVous devriez maintenant disposer d’une expérience de connexion Auth0 entièrement fonctionnelle dans votre application Ionic Vue, avec la connexion, la déconnexion et les informations du profil utilisateur.
Utilisation avancée
Configuration d’un schéma d’URL personnalisé
Configuration d’un schéma d’URL personnalisé
Enregistrez le schéma d’URL personnalisé de votre application pour que le système d’exploitation puisse rediriger l’URL de rappel OAuth vers votre application après l’authentification.Remplacez Pour en savoir plus, consultez Create Deep Links to App Content.
iOS
Enregistrez votre schéma d’URL personnalisé dansios/App/App/Info.plist :YOUR_PACKAGE_ID par le appId de votre fichier capacitor.config.ts. Pour en savoir plus, consultez Defining a Custom URL Scheme.Android
Ajoutez un filtre d’intent à votreandroid/app/src/main/AndroidManifest.xml, à l’intérieur de la balise principale <activity> :Protection des routes avec Vue Router
Protection des routes avec Vue Router
Utilisez le Le
authGuard intégré du SDK Auth0 Vue pour protéger les routes qui nécessitent une authentification :src/router/index.ts
authGuard redirige automatiquement les utilisateurs non authentifiés vers la page Universal Login d’Auth0. Après la connexion, ils sont redirigés vers la route demandée au départ.Appel d’API protégées
Appel d’API protégées
Configurez le paramètre Utilisez ensuite
audience dans votre configuration createAuth0 pour demander des jetons d’accès pour votre API :src/main.ts
getAccessTokenSilently dans vos composants pour récupérer des jetons et effectuer des appels d’API authentifiés :src/components/ApiCall.vue
Utilisation du modèle defineComponent
Utilisation du modèle defineComponent
Si vous préférez le modèle explicite Le modèle
defineComponent à <script setup>, voici à quoi ressemble le composant LoginButton avec cette approche :src/components/LoginButton.vue
defineComponent exige d’enregistrer explicitement les composants enfants et de retourner les valeurs à partir de la fonction setup(). Les deux modèles sont entièrement pris en charge par le SDK Auth0 Vue.Problèmes courants et solutions
Problèmes courants et solutions
Erreur de non-correspondance de l’URL de rappel
Solution : Vérifiez que l’URL de rappel dans votre Auth0 Dashboard correspond exactement à l’URL construite dans votre application. Assurez-vous queYOUR_PACKAGE_ID correspond au champ appId de votre capacitor.config.ts.Erreur « PKCE not allowed »
Correctif :- Accédez à Auth0 Dashboard > Applications > Your Application
- Remplacez le type d’application par Native
- Définissez Token Endpoint Authentication Method sur
None - Enregistrez les modifications et réessayez
Le SSO ne fonctionne pas sur iOS
Le plugin Browser de Capacitor utiliseSFSafariViewController, qui ne partage pas les témoins avec Safari sur iOS 11+. Si vous avez besoin du SSO, utilisez un plugin compatible qui utilise ASWebAuthenticationSession.La connexion fonctionne, mais l’utilisateur reste non authentifié après le redémarrage de l’application
ActivezcacheLocation: 'localstorage' dans la configuration createAuth0 pour conserver les jetons d’une ouverture de l’application à l’autre. Tenez compte des implications de sécurité. Le SDK prend aussi en charge des implémentations de cache personnalisées pour un stockage plus sécurisé.Le navigateur ne se ferme pas après la connexion
Assurez-vous d’appelerBrowser.close() dans l’écouteur d’événement appUrlOpen de votre composant App.vue. Sur Android, Browser.close() n’a aucun effet; le navigateur se ferme donc automatiquement.La page de connexion s’ouvre dans l’application de navigateur par défaut de l’appareil
Si la page de connexion s’ouvre dans Safari ou Chrome au lieu d’une fenêtre de navigateur intégrée à l’application, assurez-vous de transmettre le callbackopenUrl à loginWithRedirect et à logout. Sinon, le SDK utilise par défaut window.location.href, ce qui redirige l’ensemble de l’application.