Skip to main content

Utilisez 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 d’Agent Skills.Installation :
Ensuite, demandez à votre assistant IA :
Votre assistant IA créera automatiquement votre application Auth0, récupérera les identifiants, installera le SDK Auth0 ASP.NET Core Authentication, configurera le middleware d’authentification et implémentera les flux de connexion et de déconnexion. Documentation complète sur Agent Skills →
Prérequis : Avant de commencer, assurez-vous d’avoir installé ce qui suit :

Pour commencer

Auth0 vous permet d’ajouter rapidement l’authentification et d’obtenir l’accès aux renseignements du profil utilisateur dans votre application. Ce guide montre comment intégrer Auth0 à toute application ASP.NET MVC, nouvelle ou existante, à l’aide du SDK Auth0.AspNetCore.Authentication.
1

Créer un nouveau projet

Créez un nouveau projet ASP.NET Core MVC pour ce Quickstart
Ouvrir le projet
2

Installer le SDK Auth0

3

Configurez votre application Auth0

Ensuite, vous devez créer une nouvelle application sur votre tenant Auth0 et ajouter la configuration à votre projet.Vous pouvez choisir de configurer automatiquement votre application Auth0 en exécutant une commande CLI, ou de le faire manuellement dans le Dashboard :
Exécutez la commande shell suivante à la racine de votre projet pour créer une application Auth0 et mettre à jour votre fichier appsettings.json :
Cette commande va :
  1. Vérifier si vous êtes authentifié (et vous inviter à vous connecter au besoin)
  2. Créer une application Web régulière Auth0 configurée pour http://localhost:5000
  3. Mettre à jour appsettings.json avec Auth0:Domain, Auth0:ClientId et Auth0:ClientSecret
Configurer les URL de rappel :Dans l’onglet Settings, configurez les URL suivantes :
  • URL de rappel autorisées: http://localhost:5000/callback
  • URL de déconnexion autorisées: http://localhost:5000
  • Origines Web autorisées: http://localhost:5000
Cliquez sur Enregistrer les modifications
Important : Assurez-vous de configurer les connexions et de les activer pour votre application dans l’Auth0 Dashboard, sous l’onglet Connections.
4

Configurer l’authentification

Mettez à jour votre Program.cs pour configurer l’authentification Auth0 :
Program.cs
5

Ajouter les fonctionnalités Login et Logout

Créez un AccountController.cs dans le dossier Controllers :
Controllers/AccountController.cs
6

Créer la vue Profil

Créez un nouveau fichier Views/Account/Profile.cshtml :
Views/Account/Profile.cshtml
Remarque : Vous devrez d’abord créer le répertoire Views/Account s’il n’existe pas déjà.
7

Mettez à jour votre layout

Mettez à jour votre fichier de mise en page pour ajouter des boutons Login/Logout. Dans Views/Shared/_Layout.cshtml, repérez l’élément <nav> et remplacez-le par :
Views/Shared/_Layout.cshtml
Important : Remplacez uniquement l’élément <nav>. Conservez toutes les autres parties de _Layout.cshtml intactes, en particulier l’appel @RenderBody(), qui est nécessaire à l’affichage du contenu de la page.
8

Lancez votre application

Votre application devrait démarrer et afficher l’URL sur laquelle elle écoute :
Ouvrez votre navigateur et allez à http://localhost:5000. Cliquez sur le lien Connexion dans la barre de navigation. Vous serez redirigé vers la page de connexion d’Auth0. Après vous être connecté, vous serez redirigé vers votre application et vous devriez voir votre nom dans la barre de navigation.
VérificationVous devriez maintenant avoir une application MVC protégée par Auth0 entièrement fonctionnelle, accessible à l’adresse http://localhost:5000. Les utilisateurs peuvent se connecter, consulter leur profil et se déconnecter.

Utilisation avancée

Vous pouvez accéder aux renseignements du profil utilisateur à partir de la propriété User dans vos contrôleurs ou vos vues :
Controllers/AccountController.cs
Les claims de l’utilisateur contiennent des renseignements OIDC standard :
  • Name : nom d’affichage de l’utilisateur
  • Email : adresse courriel de l’utilisateur
  • Picture : URL de la photo de profil de l’utilisateur
  • NameIdentifier (sub) : ID utilisateur unique
Vous pouvez transmettre des paramètres personnalisés à la page de connexion Auth0 :
Controllers/AccountController.cs
Si vous devez appeler des API externes au nom de l’utilisateur, vous pouvez récupérer et stocker des jetons :
Program.cs
Ensuite, récupérez le jeton d’accès dans votre contrôleur :
Controllers/ApiController.cs
Personnalisez le comportement de l’authentification en traitant les événements :
Program.cs

Ressources supplémentaires

Dépôt GitHub

Code source et suivi des problèmes

Référence de l’API

Documentation détaillée de l’API

Forum de la communauté

Obtenez de l’aide auprès de la communauté Auth0

Problèmes courants

Problème : Unable to obtain configuration from: https://your-tenant.auth0.com/.well-known/openid-configurationSolution : Vérifiez que votre Domain est correct et n’inclut pas https://. La bibliothèque construit automatiquement l’autorité.
Assurez-vous également de ce qui suit :
  • Aucune barre oblique à la fin de la valeur du domain
  • Votre application a accès à Internet pour joindre Auth0
  • Le format du domain correspond à la région de votre tenant (.auth0.com, .us.auth0.com, .eu.auth0.com)
Problème : ArgumentNullException: Value cannot be null. (Parameter 'Domain') ou un message semblable.Solution : Assurez-vous que appsettings.json contient la section Auth0 avec les valeurs Domain, ClientId et ClientSecret. Vérifiez aussi que la configuration est bien lue :
Program.cs
Problème : L’authentification ne fonctionne pas malgré une configuration correcte.Solution : Assurez-vous que le middleware est dans le bon ordre. UseAuthentication() doit être placé avant UseAuthorization() :
Program.cs

Application d’exemple

Vous trouverez une application d’exemple avec le code source du SDK :

Application Playgroud ASP.NET Core MVC

Comprend des exemples de connexion, de déconnexion, de profil d’utilisateur, et plus encore.
Clonez et exécutez :