Skip to main content

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 d’Agent Skills.Installer :
Ensuite, demandez à votre assistant IA :
Votre assistant de programmation IA créera automatiquement votre application Auth0, récupérera les identifiants, ajoutera la dépendance SDK auth0_flutter, configurera web/index.html, configurera les URL de rappel et mettra en place les flux de connexion et de déconnexion. Documentation complète d’Agent Skills →
Prérequis : Avant de commencer, assurez-vous d’avoir installé les éléments suivants :
  • Flutter 3.0 ou version ultérieure, configuré pour le web
  • Dart 2.17 ou version ultérieure
  • Une connaissance de base du Flutter CLI
Vérifiez l’installation : flutter --versionSi vous n’avez pas d’application web Flutter, créez-en une : flutter create --platforms=web my_app

Pour commencer

Ce Quickstart montre comment ajouter l’authentification Auth0 à une application Web Flutter. Vous créerez une application monopage sécurisée dotée de fonctionnalités de login, de logout et de profil utilisateur à l’aide de l’Auth0 Flutter SDK.
1

Créer un nouveau projet

Créez une nouvelle application Web Flutter pour ce Quickstart :
Ouvrez le projet :
2

Installez le SDK Flutter d’Auth0

Ajoutez l’Auth0 Flutter SDK à votre projet à l’aide de la CLI Flutter :
Le SDK exige que la bibliothèque Auth0 SPA JS soit chargée dans votre application Web. Ajoutez la balise <script> suivante à votre fichier web/index.html, avant la balise de fermeture </body> :
web/index.html
Le script Auth0 SPA JS est nécessaire au fonctionnement du SDK Flutter Web. Sans lui, l’authentification ne fonctionnera pas.
3

Configurez votre Auth0 App

Ensuite, vous devez créer une nouvelle application dans votre tenant Auth0.Vous pouvez choisir de configurer automatiquement votre application Auth0 en exécutant une commande CLI, ou le faire manuellement dans le Dashboard :
Exécutez la commande suivante dans le répertoire racine de votre projet pour créer une application Auth0 :
Cette commande va :
  1. Vérifier si vous êtes authentifié (et vous inviter à vous connecter si nécessaire)
  2. Créer une application monopage Auth0 configurée pour http://localhost:3000
  3. Générer lib/auth_config.dart avec votre domaine Auth0 et votre Client ID sous forme de constantes Dart
4

Configurer le SDK

Créez une instance de la classe Auth0Web avec les valeurs domain et client ID de votre compte Auth0.Créez un nouveau fichier lib/auth0_service.dart :
lib/auth0_service.dart
Remplacez YOUR_AUTH0_DOMAIN par le domaine de votre tenant Auth0 (p. ex. dev-abc123.us.auth0.com) et YOUR_AUTH0_CLIENT_ID par le Client ID de votre application dans le Dashboard.
Définir cacheLocation: CacheLocation.localStorage permet de conserver des sessions persistantes lors du rechargement des pages.
5

Créer la vue principale

Remplacez le contenu de lib/main.dart par le code suivant :
lib/main.dart
Points clés :
  • onLoad() est appelé dans initState() pour gérer le callback d’authentication
  • loginWithRedirect() redirige les utilisateurs vers la page Universal Login d’Auth0
  • logout() met fin à la session et redirige vers votre application
  • Les renseignements du profil utilisateur sont accessibles par credentials.user
6

Lancez votre application

Lancez votre application Web Flutter sur le port 3000 :
Flutter 3.24.0 et les versions plus récentes prennent en charge la compilation WASM pour améliorer les performances :
VérificationVous devriez maintenant avoir une page de connexion Auth0 entièrement fonctionnelle à l’adresse http://localhost:3000. Lorsque vous :
  1. Cliquez sur “Se connecter” - vous êtes redirigé vers la page Universal Login d’Auth0
  2. Terminez l’authentification - vous êtes redirigé vers votre application
  3. Cliquez sur “Voir le profil” - vous voyez les renseignements de votre profil
  4. Cliquez sur “Se déconnecter” - vous êtes déconnecté à la fois de votre application et d’Auth0

Utilisation avancée

Configurez le SDK pour demander un jeton d’accès afin d’appeler des API protégées :
lib/auth0_service.dart
Utilisez le jeton d’accès pour appeler votre API :
Transmettez des paramètres supplémentaires au flux de connexion :
Mettez en place une gestion appropriée des erreurs d’authentification :
Vérifiez si l’utilisateur est déjà authentifié sans afficher la page de connexion :

Dépannage

Erreur « Callback URL mismatch »

Problème : L’URL de rappel ne correspond pas à celle configurée dans Auth0.Solution : Assurez-vous que l’URL de rappel dans votre code correspond exactement à celle configurée dans Auth0 Dashboard :
  1. Accédez à Auth0 Dashboard → Applications → Votre application → Settings
  2. Vérifiez que Allowed Callback URLs inclut http://localhost:3000
  3. L’URL doit correspondre exactement (sans barre oblique à la fin, sauf si vous l’incluez dans le code)

L’authentification ne fonctionne pas

Problème : Le bouton de connexion ne fait rien ou l’authentification échoue.Solution : Vérifiez que le script Auth0 SPA JS est chargé dans web/index.html :
Ce script doit être présent avant la balise fermante </body>.

L’utilisateur est déconnecté après le rechargement de la page

Problème : La session utilisateur n’est pas conservée lors du rechargement de la page.Solutions :
  1. Assurez-vous que Allowed Web Origins inclut http://localhost:3000 dans Auth0 Dashboard
  2. Utilisez cacheLocation: CacheLocation.localStorage lors de la création de l’instance Auth0Web
  3. Vérifiez que onLoad() est appelé dans le initState() de votre widget

Erreur « Invalid state »

Problème : Le paramètre state ne correspond pas lors du callback d’authentification.Solutions :
  1. Videz le cache du navigateur et le stockage local
  2. Assurez-vous de ne pas ouvrir plusieurs onglets pendant la connexion
  3. Vérifiez que votre URL de rappel est correcte

Erreurs CORS dans la console du navigateur

Problème : Erreurs de Cross-Origin Resource Sharing.Solution :
  1. Ajoutez http://localhost:3000 à Allowed Web Origins dans Auth0 Dashboard
  2. Assurez-vous d’utiliser le port 3000 (conformément à votre configuration)

Étapes suivantes

Maintenant que l’authentification fonctionne, pensez à explorer :

Ressources