Utilisez l’IA pour intégrer Auth0
Utilisez l’IA pour intégrer Auth0
Si vous utilisez un assistant de codage par IA comme Claude Code, Cursor ou GitHub Copilot, vous pouvez ajouter automatiquement l’authentification Auth0 en quelques minutes à l’aide d’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 Auth0 OidcClient, configurera les paramètres propres à chaque plateforme et implémentera les flux de connexion et de déconnexion. Documentation complète sur Agent Skills →
Pour commencer
1
Créer un nouveau projet .NET
Créez un projet .NET MAUI ou .NET Android/iOS pour ce Quickstart.
- .NET MAUI
- .NET Android
- .NET iOS
Dans Visual Studio 2022 ou une version ultérieure :
- File → New → Project
- Sélectionnez le modèle .NET MAUI App
- Configurez votre projet :
- Project name :
Auth0MauiSample - Location : Choisissez l’emplacement de votre choix
- Framework : .NET 8.0 ou version ultérieure
- Project name :
- Cliquez sur Create
Ce Quickstart porte sur .NET Android et iOS, la nouvelle génération de Xamarin.Android et Xamarin.iOS. Si vous utilisez encore Xamarin, vous pouvez suivre ce guide, car l’intégration est identique et les SDKs sont compatibles.
2
Installer le SDK Auth0
Ajoutez le SDK Auth0 OIDC Client à votre projet.
- Console du gestionnaire de packages
- Visual Studio pour Mac
- .NET CLI
Ouvrez la console du gestionnaire de packages (View → Other Windows → Package Manager Console) et installez le package approprié :Pour .NET Android :Pour .NET iOS :Pour .NET MAUI (les deux plateformes) :
Package Manager Console
Package Manager Console
Package Manager Console
3
Configurez votre Auth0 App
Créez une nouvelle application dans votre tenant Auth0 et configurez-la pour le mobile.Remplacez :Allowed Logout URLs :Utilisez les mêmes URL que pour vos callback URLs.
- Accédez à l’Auth0 Dashboard
- Cliquez sur Applications → Applications → Create Application
- Saisissez un nom pour votre application, sélectionnez Native comme type d’application, puis cliquez sur Create
- Allez à l’onglet Settings dans la page Details de l’application
- Prenez en note votre Domain et votre Client ID — vous en aurez besoin à l’étape suivante
- Android
- iOS
YOUR_ANDROID_PACKAGE_NAMEpar le nom du package de votre application (p. ex.,com.mycompany.myapp){yourDomain}par votre domaine Auth0 (p. ex.,dev-abc123.us.auth0.com)
com.mycompany.myapp://dev-abc123.us.auth0.com/android/com.mycompany.myapp/callbackLes Allowed Callback URLs sont essentielles à la sécurité — elles garantissent 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.Les Allowed Logout URLs assurent une expérience fluide lorsque les utilisateurs se déconnectent, en les redirigeant vers votre application plutôt que de les laisser sur une page Auth0.
4
Initialiser le client Auth0
Créez une instance de
Auth0Client pour communiquer avec Auth0.- Android - MainActivity
- iOS - AppDelegate
MainActivity.cs
Le
IntentFilter enregistre votre application pour qu’elle puisse gérer l’URL de rappel. LaunchMode.SingleTask garantit qu’Android ne crée pas de nouvelle instance d’activité lorsque le rappel est déclenché.5
Implémenter la connexion et la déconnexion
Ajoutez des méthodes pour gérer l’authentification des utilisateurs.Implement Login :Implement Logout :
Authentication.cs
Authentication.cs
La méthode
LoginAsync() lance le navigateur système (ou Chrome Custom Tabs sur Android) pour afficher la page Universal Login d’Auth0. Après l’authentification, l’utilisateur est redirigé vers votre application au moyen de l’URL de rappel.6
Exécutez votre application
Compilez et exécutez votre application.Déroulement prévu :
- Visual Studio (Windows)
- Visual Studio for Mac
- .NET CLI
Pour Android :
- Sélectionnez un émulateur Android ou un appareil connecté dans la liste déroulante des appareils
- Appuyez sur F5 ou cliquez sur le bouton Run
- L’application sera compilée, déployée et lancée
- Connectez-vous à votre hôte de compilation Mac
- Sélectionnez un simulateur iOS ou un appareil dans la liste déroulante des appareils
- Appuyez sur F5 ou cliquez sur le bouton Run
- L’application s’ouvre avec un bouton Se connecter
- Touchez Se connecter → Le navigateur ou un onglet personnalisé Chrome s’ouvre → Terminez l’authentification
- Redirection automatique vers votre application
- L’utilisateur est authentifié avec succès
Point de contrôleVous disposez maintenant d’une expérience de connexion Auth0 entièrement fonctionnelle dans votre application .NET Android ou iOS. L’application utilise le navigateur du système pour assurer une authentification sécurisée et gère automatiquement le flux de retour.
Accéder aux renseignements de l’utilisateur
Résultat d’authentification
LoginAsync() renvoie un objet LoginResult contenant :
UserInfo.cs
Parcourir l’ensemble des claims
UserClaims.cs
Les claims renvoyés dépendent des scopes demandés. Pour en savoir plus, consultez Utilisation des scopes dans la documentation d’Auth0 OIDC Client.
Demander des scopes personnalisés
CustomScopes.cs
Dépannage et options avancées
Problèmes courants et solutions
Problèmes courants et solutions
Le navigateur ne redirige pas vers l’application
Solutions :- Vérifiez que les URL de rappel dans l’Auth0 Dashboard correspondent exactement au nom du package ou à l’identificateur de bundle de votre application
- Assurez-vous que les URL de rappel sont en minuscules
- Vérifiez que
DataScheme,DataHostetDataPathPrefix(Android) ou le schéma d’URL (iOS) correspondent à votre configuration - Nettoyez et regénérez votre projet
L’authentication échoue avec l’erreur « Invalid Callback URL »
Correctif :- Vérifiez de nouveau que votre URL de rappel dans l’Auth0 Dashboard respecte le format suivant :
- Android:
packagename://yourdomain/android/packagename/callback - iOS:
bundleidentifier://yourdomain/ios/bundleidentifier/callback
- Android:
- Assurez-vous que l’URL est en minuscules
- Vérifiez que le
Domaindans votre code correspond auDomaindans l’Auth0 Dashboard
LoginAsync() se bloque ou ne se termine jamais
Solutions :- Assurez-vous que le filtre d’intention (Android) ou le schéma d’URL (iOS) est correctement configuré
- Vérifiez que
OnNewIntent()(Android) ouOpenUrl()(iOS) appelleActivityMediator - Vérifiez que votre application peut ouvrir le navigateur système
- Vérifiez la connectivité réseau
Error : « Default App must use Token Endpoint Authentication Method ‘None’ »
Correctif :- Accédez à Application Settings de votre Auth0 Application dans le Dashboard
- Faites défiler jusqu’à Application Properties
- Réglez Application Type sur Native
- Réglez Token Endpoint Authentication Method sur None
- Cliquez sur Save Changes
iOS : le navigateur ne s’ouvre pas
Solutions :- Vérifiez que
Info.plistcontient la bonne configuration de schéma d’URL - Vérifiez que
OpenUrl()est implémenté dansAppDelegate - Assurez-vous que la cible de déploiement iOS est compatible avec la version de votre Auth0 SDK
Considérations pour la production
Considérations pour la production
Bonnes pratiques de sécurité
- Stockage sécurisé des jetons : utilisez un stockage sécurisé propre à la plateforme (Android Keystore, iOS Keychain) pour stocker les jetons
- Actualisation des jetons : implémentez la gestion des jetons d’actualisation pour maintenir les sessions utilisateur
- Certificate Pinning : envisagez l’épinglage de certificat pour renforcer la sécurité de l’API
- ProGuard/obscurcissement du code : ajoutez les règles appropriées si vous utilisez l’obscurcissement du code sur Android
Exigences des boutiques d’applications
- Politique de confidentialité : assurez-vous que votre application a une politique de confidentialité qui décrit l’utilisation d’Auth0
- Gestion des données utilisateur : suivez les directives de la plateforme pour le traitement des données d’authentication des utilisateurs
- Liens profonds : testez en profondeur la gestion des URL de rappel dans différents scénarios
- Exigences réseau : gérez adéquatement les scénarios hors ligne
Optimisation des performances
- Mettre Auth0Client en cache : créez une seule instance et réutilisez-la dans toute votre application
- Chargement différé : initialisez Auth0Client seulement au besoin
- Actualisation en arrière-plan : implémentez l’actualisation des jetons en arrière-plan pour les sessions de longue durée
Configuration avancée
Configuration avancée
Scopes personnalisés et audience
Demandez des scopes précis et définissez une audience pour votre API :AdvancedAuth.cs
Paramètres supplémentaires
Ajoutez des paramètres supplémentaires à la demande d’autorisation :ExtraParams.cs
Jetons d’actualisation
Utilisez des jetons d’actualisation pour obtenir de nouveaux jetons d’accès sans intervention de l’utilisateur :RefreshToken.cs
Pour recevoir un jeton d’actualisation, incluez le scope
offline_access dans votre demande d’authentification.Configuration du navigateur propre à la plateforme
Android - Utilisez Chrome Custom Tabs avec des couleurs personnalisées :AndroidBrowser.cs
iOSBrowser.cs
Prochaines étapes
Configurer les fournisseurs d’identité
Ajoutez des fournisseurs de connexion sociale comme Google, Facebook et GitHub
Activer l’authentification multifacteur
Ajoutez une couche de sécurité supplémentaire grâce à la MFA
Protection contre les attaques
Découvrez comment vous protéger contre les attaques par force brute et par bots
Personnaliser l’expérience de connexion
Personnalisez la page Universal Login pour l’harmoniser avec votre image de marque