Utiliser l’IA pour intégrer Auth0
Utiliser l’IA pour intégrer Auth0
Si vous utilisez un assistant de codage IA comme Claude Code, Cursor ou GitHub Copilot, vous pouvez ajouter l’authentification Auth0 automatiquement en quelques minutes à l’aide d’Agent Skills.Installer :Ensuite, demandez à votre assistant IA :Votre assistant IA créera automatiquement votre application Auth0, récupérera les informations d’identification, ajoutera la dépendance du SDK auth0_flutter, configurera les URL de rappel Android et iOS, et implémentera la connexion/déconnexion Web Auth avec un stockage sécurisé des informations d’identification. Documentation complète sur Agent Skills →
Le Auth0 Flutter SDK prend également en charge Web et Windows (bêta). Des Quickstarts sont offerts pour ces plateformes :
- Quickstart Flutter Web — pour les applications Flutter destinées au navigateur
- Quickstart Flutter Windows — pour les applications de bureau Flutter sur Windows (bêta)
Commencer
1
Créer un nouveau projet Flutter
Créez un nouveau projet Flutter pour ce Quickstart.Dans votre terminal :
- Accédez à votre répertoire de travail
- Exécutez :
flutter create auth0_flutter_sample - Accédez au répertoire du projet :
cd auth0_flutter_sample - Ouvrez-le dans votre IDE :
- VS Code:
code . - Android Studio:
open -a "Android Studio" .
- VS Code:
2
Installer le SDK Auth0 Flutter
Ajoutez le SDK Auth0 Flutter à votre projet à l’aide de la CLI Flutter.Cela ajoutera
auth0_flutter aux dépendances de votre pubspec.yaml :pubspec.yaml
3
Configurez votre Auth0 App
L’étape suivante consiste à créer une nouvelle application dans votre tenant Auth0 et à configurer les URL de rappel.Allowed Logout URLs:Ajoutez au champ Allowed Logout URLs les mêmes URL que celles indiquées ci-dessus pour la configuration des URL de rappel.
- Accédez au Auth0 Dashboard
- Cliquez sur Applications > Applications > Create Application
- Dans la fenêtre contextuelle, saisissez un nom pour votre application, sélectionnez
Nativecomme type d’application, puis cliquez sur Create - Ouvrez l’onglet Settings sur la page des détails de l’application
- Prenez en note les valeurs Domain et Client ID; vous en aurez besoin plus tard
- Android
- iOS
- macOS
Les Allowed Callback URLs constituent 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’authentication. Sans URL correspondante, le processus de connexion échouera.Les Allowed Logout URLs sont essentielles pour offrir une expérience utilisateur fluide au moment de la déconnexion. Sans URL correspondante, les utilisateurs ne seront pas redirigés vers votre application après la déconnexion.Par exemple, si votre Auth0 domain est
example.us.auth0.com et que votre nom de package Android est com.example.myapp, votre URL de rappel Android serait : https://example.us.auth0.com/android/com.example.myapp/callback4
Configurer votre application
Une configuration propre à la plateforme est requise pour activer le flux d’authentification. Suivez les instructions pour chaque plateforme ciblée.
- Android
- iOS
- macOS
Ouvrez le fichier Remplacez
android/app/build.gradle et ajoutez les espaces réservés du Manifest suivants dans android > defaultConfig :android/app/build.gradle
{yourDomain} par votre domaine Auth0 (p. ex. example.us.auth0.com).schéma httpsPour utiliser le schéma https pour votre URL de rappel, configurez les Android App Links pour votre application.Pour l’authentification biométrique (facultatif) :Si vous prévoyez utiliser l’authentification biométrique, mettez à jour votre MainActivity.kt pour qu’elle étende FlutterFragmentActivity :android/app/src/main/kotlin/.../MainActivity.kt
5
Implement Login et Logout
Universal Login est le moyen le plus simple de configurer l’authentification dans votre application. Nous vous recommandons de l’utiliser pour profiter de la meilleure expérience, d’une sécurité optimale et de l’éventail de fonctionnalités le plus complet.Mettre en place la connexion :Importez le SDK Auth0 Flutter et créez une instance Implement Déconnexion :
Auth0 :lib/auth_service.dart
lib/auth_service.dart
iOS/macOS : Le paramètre
useHTTPS: true active les Universal Links sur iOS 17.4+ et macOS 14.4+ pour une sécurité renforcée.Android : Si vous utilisez un schéma personnalisé, transmettez-le à la méthode login afin que le SDK puisse rediriger correctement vers la page de connexion, puis revenir ensuite :6
Afficher les renseignements du profil utilisateur
Le profil utilisateur est récupéré automatiquement lorsque l’utilisateur se connecte. L’objet
Credentials contient une propriété user avec tous les renseignements du profil utilisateur, renseignée à partir du décodage de l’ID token.lib/profile_screen.dart
7
Lancez votre application
Compilez et exécutez votre application Flutter.Dans votre terminal :Flux attendu :
- L’application s’ouvre avec votre interface de connexion
- L’utilisateur appuie sur Se connecter → le navigateur/l’onglet personnalisé s’ouvre avec Auth0 Universal Login
- L’utilisateur termine l’authentification
- Le navigateur redirige l’utilisateur vers votre application
- L’utilisateur est maintenant authentifié et ses identifiants sont enregistrés
Point de contrôleVous devriez maintenant disposer d’une expérience de connexion Auth0 entièrement fonctionnelle dans votre application Flutter. L’application utilise une authentification sécurisée par navigateur et enregistre automatiquement les informations d’identification pour maintenir la session.
Résolution des problèmes et utilisation avancée
Problèmes courants et solutions
Problèmes courants et solutions
Incompatibilité de l’URL de rappel
Symptôme : Error “redirect_uri_mismatch” ou l’authentification échoue sans message.Solutions :- Vérifiez que les Allowed Callback URLs dans le Auth0 Dashboard correspondent exactement à la configuration de votre application
- Vérifiez le schéma (
https://vshttp://) - Assurez-vous que le nom du package (Android) ou l’identifiant du bundle (iOS/macOS) est correct
- Vérifiez s’il y a une barre oblique finale
Android : l’onglet personnalisé Chrome ne s’ouvre pas
Symptôme : Rien ne se passe lors de l’appel àlogin().Correctif :- Vérifiez que
manifestPlaceholdersest correctement défini dansbuild.gradle - Assurez-vous que la permission Internet figure dans
AndroidManifest.xml: - Vérifiez que Chrome ou un autre navigateur est installé sur l’appareil
iOS : alerte « Open in App »
Symptôme : Une boîte d’alerte apparaît et demande d’ouvrir l’application.Correctif : Il s’agit du comportement attendu avecASWebAuthenticationSession. Pour la supprimer :- Utilisez les liens universels (nécessite iOS 17.4+ et un compte Apple Developer payant)
- Ou définissez
useEphemeralSession: true(désactive le SSO) :
Authentification annulée par l’utilisateur
Gérez ce cas correctement dans votre gestion des erreurs :Gestion des informations d’identification
Gestion des informations d’identification
Le Auth0 Flutter SDK comprend un Credentials Manager intégré qui stocke de façon sécurisée les informations d’identification de l’utilisateur. Sur les plateformes mobiles, ces informations d’identification sont chiffrées et stockées dans le stockage sécurisé de la plateforme (Keychain sur iOS/macOS, SharedPreferences chiffré sur Android).
Vérifier les informations d’identification stockées
Avant d’inviter l’utilisateur à se connecter, vérifiez si des informations d’identification valides existent déjà :lib/auth_service.dart
Récupérer les informations d’identification stockées
Récupérez les informations d’identification pour accéder aux jetons d’accès ou aux renseignements de l’utilisateur. Le Credentials Manager actualise automatiquement les jetons expirés lorsque c’est possible :lib/auth_service.dart
Gestion des erreurs
Gestion des erreurs
Gérez les erreurs d’authentification correctement afin d’offrir une bonne expérience utilisateur.
lib/auth_service.dart
Intégration Flutter avancée
Intégration Flutter avancée
Sécurité renforcée des identifiants grâce à la biométrie
Implémentez l’authentification biométrique pour accéder aux identifiants sur mobile :lib/secure_auth_service.dart
Android : nécessite que
MainActivity étende FlutterFragmentActivity, comme configuré à l’étape 4.iOS/macOS : nécessite d’ajouter NSFaceIDUsageDescription à votre Info.plist.Scopes personnalisés et audience
Demandez des scopes précis et une audience spécifique pour votre API :lib/auth_service.dart
Organizations (B2B/Enterprise)
Authentifiez les utilisateurs au sein d’une organisation précise :lib/auth_service.dart
Déploiement en production
Déploiement en production
Préparation pour l’App Store
- Configurez les liens universels (iOS) et les App Links (Android) pour une authentification sans friction
- Testez sur plusieurs tailles d’appareil et versions du système d’exploitation
- Implémentez une gestion adéquate des erreurs en cas de panne réseau
- Ajoutez des règles ProGuard pour Android si vous utilisez l’obscurcissement du code
- Respectez les politiques propres à chaque plateforme pour l’App Store et le Play Store
Considérations de sécurité
- Utilisez le Credentials Manager intégré pour stocker les identifiants en production
- Activez l’authentification biométrique pour les opérations sensibles
- Envisagez l’épinglage de certificat pour renforcer la sécurité de l’API
- Implémentez une gestion adéquate de l’actualisation des tokens
- Utilisez
useHTTPS: truepour les liens universels sur les plateformes prises en charge