Utiliser l’IA pour intégrer Auth0
Utiliser 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 des agent skills.Installation :Demandez ensuite à votre assistant IA :Votre assistant IA créera automatiquement votre application Auth0, récupérera les identifiants, installera le SDK react-native-auth0, configurera le plugiciel Expo et mettra en place les flux de connexion et de déconnexion. Documentation complète sur les agent skills →
Pour commencer
Créer un nouveau projet Expo
Créez un nouveau projet Expo pour suivre ce guide de démarrage rapide.Dans votre terminal :
Configurer le plugin Expo
Configurez le plugiciel Auth0 pour gérer automatiquement la configuration native sur iOS et Android.Mettez à jour votre fichier Remplacez
app.json pour y inclure le plugiciel Auth0 :app.json
{yourDomain} par votre Domaine Auth0 (vous l’obtiendrez à l’étape suivante).Le
customScheme doit être en minuscules et ne contenir aucun caractère spécial. Cette valeur sert à construire les URL de rappel et doit être transmise aux méthodes authorize() et clearSession().Configurez votre application Auth0
Créez et configurez une application Auth0 pour qu’elle fonctionne avec votre application Expo.URL de déconnexion autorisées :Remplacez
- Accédez au Auth0 Dashboard
- Cliquez sur Applications > Applications > Create Application
- Dans la fenêtre contextuelle, entrez un nom pour votre application (p. ex.,
Auth0 Expo Sample), sélectionnezNativecomme type d’application, puis cliquez sur Create - Dans la page Application Details, ouvrez l’onglet Settings
- Prenez en note les valeurs de Domaine et de ID client
- Mettez à jour la valeur
domaindans la configuration du plugin de votre fichierapp.jsonavec votre domaine Auth0
{yourDomain} par votre Domaine Auth0 réel (par exemple, dev-abc123.us.auth0.com).Allowed Callback URLs sont une mesure de sécurité essentielle pour garantir que les utilisateurs sont redirigés de façon sécuritaire vers votre application après l’authentification. Sans URL correspondante, le processus de connexion échouera et les utilisateurs verront une page d’erreur Auth0 au lieu d’accéder à votre application.Les URL de déconnexion autorisées sont essentielles pour offrir une expérience utilisateur fluide lors de la déconnexion. Sans URL correspondante, les utilisateurs ne seront pas redirigés vers votre application après la déconnexion et se retrouveront plutôt sur une page Auth0 générique.Le format de l’URL de rappel est :
{customScheme}://{yourDomain}/{platform}/{bundleIdentifier or packageName}/callback. Le schéma d’URL utilise le customScheme de votre app.json, mais le chemin contient toujours le bundleIdentifier (iOS) ou le package (Android) — et non le schéma personnalisé. Si vous ne précisez pas de customScheme, le SDK utilise par défaut {bundleIdentifier}.auth0 / {packageName}.auth0 comme schéma d’URL.Configurer le composant App
Configurez votre composant d’application principal selon l’approche d’implémentation choisie.
- Basé sur Hooks (avec Provider)
- Basé sur des classes (sans Provider)
Remplacez le contenu de Remplacez
App.js et entourez votre application du composant Auth0Provider :App.js
{yourDomain} par votre Domaine Auth0 et {yourClientId} par votre ID client indiqué dans l’Auth0 Dashboard.La méthode
authorize() ouvre Universal Login d’Auth0 dans un navigateur sécurisé (ASWebAuthenticationSession sur iOS, Chrome Custom Tabs sur Android). La méthode clearSession() déconnecte l’utilisateur et efface à la fois la session du navigateur et les identifiants stockés. Le paramètre customScheme doit correspondre à la valeur définie dans la configuration du plugin de votre fichier app.json.Lancez votre application
Lancez votre application Expo sur un appareil ou un émulateur.Commencez par générer les projets natifs iOS et Android :Ensuite, exécutez sur la plateforme cible :Pour iOS :Pour Android :Flux attendu :
- L’application démarre et affiche le bouton “Se connecter”
- Touchez Se connecter → Le navigateur s’ouvre sur Universal Login d’Auth0
- Terminez la connexion (inscription ou connexion)
- Le navigateur se ferme → Retour automatique à l’application
- Le profil utilisateur s’affiche avec le nom, le courriel et l’avatar
Point de contrôleVous devriez maintenant avoir une expérience de connexion Auth0 entièrement fonctionnelle sur votre appareil ou votre émulateur. L’application utilise l’authentification sécurisée par navigateur et gère automatiquement les informations d’identification dans l’espace de stockage sécurisé de l’appareil.
Dépannage et éléments avancés
Problèmes courants et solutions
Problèmes courants et solutions
”Violation d’invariant : le module natif ne peut pas être nul”
Cette erreur se produit lorsque vous essayez d’utiliser le SDK avec Expo Go.Solution :Le SDK Auth0 requiert du code natif personnalisé qui n’est pas disponible dans Expo Go. Utilisez plutôt une version de développement :Erreur de non-correspondance de l’URL de rappel
Solution :Vérifiez que les trois éléments suivants correspondent exactement :customSchemedans la configuration du plugiciel dansapp.json- le paramètre
customSchemepassé àauthorize()etclearSession() - les URL de rappel dans Auth0 Dashboard (Applications → Your App → Settings → Application URIs)
Erreur “PKCE not allowed”
Correctif :- Accédez à Auth0 Dashboard → Applications → Your Application
- Remplacez le type d’application par Native
- Enregistrez les modifications et réessayez
Le prebuild échoue ou le plugiciel n’est pas appliqué
Correctif :La build iOS échoue avec des erreurs Pod
Correctif :Erreur d’annulation par l’utilisateur
Gérez cette situation correctement dans votre fonction de connexion :Boîte de dialogue iOS
Sur iOS, les utilisateurs voient une boîte de dialogue d’autorisation : “App Name” Wants to Use “auth0.com” to Sign In. Il s’agit du comportement attendu deASWebAuthenticationSession. Les utilisateurs doivent appuyer sur Continue pour poursuivre.Pour personnaliser ce comportement, vous pouvez utiliser des sessions éphémères (cela désactive le SSO) :Récupérer des jetons d’accès
Récupérer des jetons d’accès
Utilisez la méthode
getCredentials() pour récupérer les jetons à utiliser dans les appels d’API :Vérifier l’état d’authentification au lancement de l’application
Vérifier l’état d’authentification au lancement de l’application
Utilisez
hasValidCredentials() pour vérifier si l’utilisateur est déjà connecté :Déploiement en production avec EAS Build
Déploiement en production avec EAS Build
Pour les builds de production, utilisez EAS Build plutôt que des builds de développement locaux.Installez EAS CLI :Créez Créez le build de production :Configurez les Android App Links dans Auth0 Dashboard :
eas.json à la racine de votre projet :eas.json
Avant le déploiement en production
Utilisez des URL de rappel HTTPS pour renforcer la sécurité :- Settings → Advanced Settings → Device Settings
- Ajoutez l’empreinte SHA-256 de votre application
- Ajoutez la fonctionnalité Associated Domains dans Xcode
- Ajoutez
webcredentials:{yourDomain}à Associated Domains
- Activez OIDC Conformant dans Advanced Settings
- Configurez Token Expiration de manière appropriée
- Configurez Brute Force Protection
- Testez sur plusieurs appareils et versions du système d’exploitation
- Mettez en place une gestion adéquate des erreurs en cas d’échec réseau