Ajouter une fonctionnalité de connexion à votre application Flutter
Auth0 vous permet d’ajouter rapidement l’authentification et d’accéder aux informations relatives au profil de l’utilisateur dans votre application. Ce guide explique comment intégrer Auth0 à une application Flutter à l’aide de la trousse SDK Flutter Auth0.
Ce guide de démarrage rapide suppose que vous avez déjà une application Flutter installée et active. Si ce n’est pas le cas, consultez les guides « Getting started » (Premiers pas) de Flutter pour commencer avec une application simple.
Vous devez également être familiarisé avec Outil de ligne de commande Flutter.
Pour utiliser les services Auth0, vous devez avoir une application installée dans Auth0 Dashboard. L’application Auth0 est l’endroit où vous allez configurer le fonctionnement de l’authentification pour votre projet.
Configurer une application Auth0.
Utilisez le sélecteur interactif pour créer une nouvelle application Auth0 ou sélectionner une application Auth0 Native existante. Dans Auth0, il est attribué à chaque application un identifiant client unique alphanumérique que votre code d’application utilisera pour appeler les API Auth0 via la trousse SDK.
Tous les paramètres que vous configurez à l’aide de ce guide rapide seront automatiquement mis à jour pour votre application dans le Dashboard, qui est l’endroit où vous pourrez gérer vos applications à l’avenir.
Si vous préférez explorer une configuration complète, consultez plutôt un exemple d’application.
Configurer les URL de rappel et les URL de déconnexion
Les Callback URL et les URL de déconnexion sont des URL qu’invoque Auth0 pour rediriger vers votre application. Auth0 invoque l’URL de rappel après avoir authentifié l’utilisateur, et l’URL de déconnexion après avoir supprimé le témoin de session. Si les Callback URL et les URL de déconnexion ne sont pas définies, les utilisateurs ne pourront pas se connecter ou se déconnecter de l’application et recevront un message d’erreur.
Définissez les Callback URL et les URL de déconnexion sur les valeurs suivantes, en fonction de votre plateforme.
Android
SCHEME://{yourDomain}/android/YOUR_PACKAGE_NAME/callback
iOS
https://{yourDomain}/ios/YOUR_BUNDLE_IDENTIFIER/callback,
YOUR_BUNDLE_IDENTIFIER://{yourDomain}/ios/YOUR_BUNDLE_IDENTIFIER/callback
macOS
https://{yourDomain}/macos/YOUR_BUNDLE_IDENTIFIER/callback,
YOUR_BUNDLE_IDENTIFIER://{yourDomain}/macos/YOUR_BUNDLE_IDENTIFIER/callback
Par exemple, si l’identifiant de votre bundle iOS était com.example.MyApp
et votre domaine Auth0 était example.us.auth0.com
, alors cette valeur serait :
https://example.us.auth0.com/ios/com.example.MyApp/callback,
com.example.MyApp://example.us.auth0.com/ios/com.example.MyApp/callback
Ajoutez la trousse SDK Flutter Auth0 au projet :
flutter pub add auth0_flutter
Si vous ne développez pas pour la plateforme Android, ignorez cette étape.
La trousse SDK nécessite des placeholder dans le manifeste. Auth0 utilise des placeholder en interne pour définir un intent-filter
, qui capture l’URL de rappel d’authentification. Vous devez définir le domaine du locataire Auth0 et le schéma de l’URL de rappel.
L’exemple utilise les placeholder suivants :
auth0Domain
: Le domaine de votre locataire Auth0. En général, vous le trouverez dans Auth0 Dashboard sous vos Application Settings (Paramètres d’application) dans le champ Domain (Domaine). Si vous utilisez un domaine personnalisé, indiquez dans ce champ votre domaine personnalisé.auth0Scheme
: Le schéma à utiliser. Peut être un schéma personnalisé, ou https si vous souhaitez utiliser les liens d’application Android. Vous pouvez en savoir plus sur la définition de cette valeur dans le SDK README d’Auth0.Android.
Exécutez Sync Project with Gradle Files dans Android Studio pour appliquer vos modifications.
Si vous ne développez pas pour les plateformes iOS ou macOS, ignorez cette étape.
Configurer Team ID et l’identifiant du bundle
Allez à la page des paramètres de votre application Auth0, faites défiler jusqu’en bas, et ouvrez Advanced Settings (Paramètres avancés) > Device Settings (Paramètres de l’appareil). Dans la section iOS, définissez Team ID sur votre Apple Team ID et App ID sur l’identificateur du bundle de votre application.

Cette action ajoutera votre application au fichier apple-app-site-association
de votre locataire Auth0.
Ajouter la capacité de domaine associé
Ouvrez votre application dans Xcode en exécutant open ios/Runner.xcworkspace
(ou open macos/Runner.xcworkspace
pour macOS). Allez à l’ongletSigning and Capabilities (Signature et capacités) des paramètres de la cible de l’exécuteur, puis appuyez sur le bouton + Capability (Capabilité). Puis sélectionnez Associated Domains (Domaines associés).

Ensuite, ajoutez l’entrée suivante sous Associated Domains (Domaines associés) :
webcredentials:{yourDomain}
Si vous avez un domaine personnalisé, utilisez-le à la place du domaine Auth0 de la page des paramètres.
La connexion universelle est le moyen le plus simple de mettre en place l’authentification dans votre application. Nous recommandons de l’utiliser pour une meilleure expérience, une meilleure sécurité et un plus grand nombre de fonctionnalités.
Intégrez la connexion universelle Auth0 dans votre application Flutter en utilisant la classe Auth0
. Redirigez vos utilisateurs vers la page de connexion universelle Auth0 en utilisant webAuthentication().login()
. Il s’agit d’une fonctionnalité Future
pour que vous récupériez les jetons de l’utilisateur.
Android : si vous utilisez un schéma personnalisé, passez ce schéma à la méthode de connexion afin que le SDK puisse assurer un aller-retour vers la page de connexion :
await auth0.webAuthentication(scheme: ’YOUR CUSTOM SCHEME’).login();
Lorsqu’un utilisateur se connecte, il est redirigé vers votre application. Puis, vous pouvez accéder à l’identifiant et aux jetons d’accès de cet utilisateur.
checkpoint.header
Ajoutez un bouton à votre application qui appelle webAuthentication().login()
et déconnecte l’utilisateur de votre application. Vérifiez que vous êtes redirigé vers Auth0 pour l’authentification, puis renvoyé vers votre application.
Vérifiez que vous pouvez accéder aux jetons sur le résultat de l’appel login
.
Pour déconnecter les utilisateurs, redirigez-les vers le point de terminaison Auth0 pour effacer leur session de connexion en appelant la trousse SDK Flutter Auth0 webAuthentication().logout()
. En savoir plus sur la déconnexion d’Auth0.
Android : si vous utilisez un schéma personnalisé, passez ce schéma à la méthode de déconnexion afin que la trousse SDK puisse renvoyer correctement vers votre application :
await auth0.webAuthentication(scheme: ’YOUR CUSTOM SCHEME’).logout();
checkpoint.header
Ajoutez un bouton à votre application qui appelle webAuthentication().logout()
et déconnecte l’utilisateur de votre application. Lorsque vous le sélectionnez, vérifiez que votre application Flutter vous redirige vers le point de terminaison de déconnexion et vice-versa. Vous ne devriez pas être connecté à votre application.
Le profil utilisateur récupère automatiquement les propriétés du profil utilisateur pour vous lorsque vous appelez webAuthentication().login()
. L’objet retourné à partir de l’étape de connexion contient une propriété user
avec toutes les propriétés du profil utilisateur, qui est renseigné en décodant le jeton d’ID.
checkpoint.header
Connectez-vous et inspectez la propriété user
par rapport au résultat. Vérifiez les informations de profil utilisateur actuel, telles que son email
ou name
.
Next Steps
Excellent work! If you made it this far, you should now have login, logout, and user profile information running in your application.
This concludes our quickstart tutorial, but there is so much more to explore. To learn more about what you can do with Auth0, check out:
- Auth0 Dashboard - Learn how to configure and manage your Auth0 tenant and applications
- auth0-flutter SDK - Explore the SDK used in this tutorial more fully
- Auth0 Marketplace - Discover integrations you can enable to extend Auth0’s functionality
- Configure other identity providers
- Enable multifactor authentication
- Learn about attack protection
- Learn about Actions
Sign up for an or to your existing account to integrate directly with your own tenant.