Utilisez l’IA pour intégrer Auth0
Utilisez l’IA pour intégrer Auth0
Si vous utilisez un assistant IA de programmation comme Claude Code, Cursor ou GitHub Copilot, vous pouvez ajouter automatiquement l’authentification Auth0 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 Vue SDK et les plugins Capacitor, configurera les liens profonds et mettra en place les flux de connexion et de déconnexion avec l’intégration au navigateur natif. Pour en savoir plus, consultez Auth0 agent skills.
Pour commencer
1
Créer un nouveau projet
Créer un nouveau projet Ionic Vue avec CapacitorOuvrez le projet
2
Installez le SDK Auth0 Vue et les plugiciels de Capacitor
@capacitor/browser ouvre la page Auth0 Universal Login 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 le callback OAuth lorsque Auth0 redirige l’utilisateur après la connexion.3
Configurez votre Auth0 App
Ensuite, vous devez créer une nouvelle application dans votre tenant Auth0. Les applications Ionic Capacitor utilisent le type d’application Native avec des URL de callback utilisant un schéma d’URL personnalisé.Vous avez trois options pour configurer votre application Auth0 : utiliser l’outil Quick Setup (recommandé), exécuter une commande CLI ou faire la configuration manuellement dans le 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 callback et de logout dans le Dashboard. Consultez la configuration des URL ci-dessous.
4
Configurer le plugin Auth0
src/main.ts
useRefreshTokens: true— Les navigateurs mobiles bloquent les cookies tiers, donc l’authentification silencieuse basée sur un iframe ne fonctionne pas. Les jetons d’actualisation appellent directement le point de terminaison/oauth/token.useRefreshTokensFallback: false— Empêche le SDK de tenter la solution de secours basée sur un iframe, qui n’est pas offerte sur mobile.router.isReady().then(...)— Garantit que Vue Router est entièrement initialisé avant que le SDK traite le callback OAuth, ce qui évite les conflits de synchronisation.
5
Créer des composants d’authentification
Créer des fichiers de composantsAjoutez le code suivant aux nouveaux composants, puis mettez à jour les fichiers
App.vue et HomePage.vue existants6
Lancez votre application
Commencez par tester dans le navigateur :Pour exécuter l’application sur un appareil ou dans 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 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.VérificationVous devriez maintenant avoir une expérience de connexion Auth0 entièrement fonctionnelle dans votre application Ionic Vue, avec la connexion, la déconnexion et les renseignements 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 afin 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é dans votreios/App/App/Info.plist :YOUR_PACKAGE_ID par le appId de votre capacitor.config.ts. Pour en savoir plus, consultez Defining a Custom URL Scheme.Android
Ajoutez un filtre d’intention dans 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é de l’Auth0 Vue SDK 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 Auth0 Universal Login. Après la connexion, ils sont renvoyés vers la route initialement demandée.Appeler des API protégées
Appeler des 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 depuis la fonction setup(). Les deux modèles sont entièrement pris en charge par le Auth0 Vue SDK.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 dans votre fichier capacitor.config.ts.Erreur « PKCE not allowed »
Correctif :- Accédez à Auth0 Dashboard > Applications > Your Application
- Remplacez Application Type par Native
- Définissez Token Endpoint Authentication Method sur
None - Enregistrez les modifications et réessayez
SSO ne fonctionne pas sur iOS
Le Plugin Browser de Capacitor utiliseSFSafariViewController, qui ne partage pas les cookie avec Safari sur iOS 11+. Si vous avez besoin du SSO, utilisez un Plugin compatible qui repose sur ASWebAuthenticationSession.Le login fonctionne, mais l’utilisateur reste non authentifié après le redémarrage de l’application
ActivezcacheLocation: 'localstorage' dans la configuration createAuth0 pour enregistrer les jetons entre les redémarrages de l’application. Gardez à l’esprit les 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 le login
Assurez-vous d’appelerBrowser.close() dans l’écouteur de l’événement appUrlOpen de votre composant App.vue. Sur Android, Browser.close() est un no-op; 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’un navigateur intégré à l’application, assurez-vous de transmettre le callbackopenUrl à loginWithRedirect et à logout. Sinon, le SDK utilise window.location.href par défaut, ce qui redirige l’application au complet.