Ajouter une fonctionnalité de connexion à votre application ASP.NET MVC
Auth0 vous permet d’ajouter rapidement l’authentification et de pouvoir accéder aux informations relatives au profil utilisateur dans votre application. Ce guide explique comment intégrer Auth0 à n’importe quelle application ASP.NET MVC, nouvelle ou existante, à l’aide de la trousse SDK Auth0.AspNetCore.Authentication.
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 le projet que vous développez.
Configurer une application
Utilisez le sélecteur interactif pour créer une nouvelle application Auth0 ou sélectionner une application existante qui représente le projet avec lequel vous souhaitez effectuer l’intégration. Dans Auth0, chaque application se voit attribuer 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 Tableau de bord, 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.
Configuration des URL de rappel
Une URL de rappel est une URL intégrée dans votre application vers laquelle vous souhaitez qu’Auth0 redirige les utilisateurs après leur authentification. Si elle n’est pas définie, les utilisateurs ne seront pas redirigés vers votre application après s’être connectés.
Configuration des URL de déconnexion
Une URL de déconnexion est une URL intégrée dans votre application vers laquelle vous souhaitez qu’Auth0 redirige les utilisateurs après leur déconnexion. Si elle n’est pas définie, les utilisateurs ne pourront pas se déconnecter de votre application et recevront un message d’erreur.
Installer à partir de Nuget
Pour intégrer Auth0 à ASP.NET Core, vous pouvez utiliser notre trousse SDK en installant le package NugetAuth0.AspNetCore.Authentication
dans votre application.
Configurer le logiciel médiateur
Pour activer l’authentification dans votre application ASP.NET Core, utilisez le logiciel médiateur fourni par la trousse SDK. Allez dans le fichier Program.cs
et appelez builder.Services.AddAuth0WebAppAuthentication()
pour enregistrer le logiciel médiateur de la trousse SDK.
Assurez-vous de configurer Domain
et ClientId
, car ce sont des champs requis pour garantir que la trousse SDK sache quel locataire Auth0 et quelle application utiliser.
Assurez-vous d’avoir activé l’authentification et l’autorisation dans votre fichier Program.cs
.
Pour permettre aux utilisateurs de se connecter à votre application ASP.NET MVC, ajoutez une action Login
à votre contrôleur.
Appelez HTTPContext.ChallengeAsync()
et transmettez Auth0Constants.AuthenticationScheme
comme schéma d’authentification. Cela fera appel au gestionnaire d’authentification OIDC que notre trousse SDK enregistre en interne. Assurez-vous également d’indiquer les authenticationProperties
correspondantes, que vous pouvez construire en utilisant LoginAuthenticationPropertiesBuilder
.
Après avoir appelé avec succès HTTPContext.ChallengeAsync()
, l’utilisateur est redirigé vers Auth0 et est connecté à la fois au logiciel médiateur OIDC et au logiciel médiateur de témoin après avoir été redirigé vers votre application. Cela permettra aux utilisateurs d’être authentifiés lors des requêtes suivantes.
checkpoint.header
Maintenant que vous avez configuré la fonction de connexion, lancez votre application pour vérifier que :
naviguer vers votre action
Login
vous redirigera vers Auth0,saisir vos identifiants vous redirigera vers votre application.
Une fois que l’intergiciel a réussi à récupérer les jetons auprès d’Auth0, il extrait les informations et les demandes de l’utilisateur du jeton d’ID et les met à disposition en tant que propriété User.Claims
sur le contrôleur.
Vous pouvez créer une page de profil utilisateur personnalisée pour afficher le nom, l’adresse courriel et l’image de profil d’un utilisateur, en récupérant les informations correspondantes de User
et en les visualisant à partir de votre contrôleur.
checkpoint.header
Maintenant que vous avez configuré votre action pour afficher le profil de l’utilisateur, lancez votre application pour vérifier que :
naviguer vers votre action
Profile
après vous être connecté avec succès affiche le profil de l’utilisateur.
Déconnecter l’utilisateur de votre propre application peut se faire en appelant HttpContext.SignOutAsync
avec le schéma d’authentification CookieAuthenticationDefaults.AuthenticationScheme
à partir de l’action de votre contrôleur.
En outre, si vous souhaitez également déconnecter l’utilisateur d’Auth0 (cette action peut également le déconnecter d’autres applications qui utilisent l’authentification unique), appelez HttpContext.SignOutAsync
avec le schéma d’authentification Auth0Constants.AuthenticationScheme
ainsi que les authenticationProperties
appropriées qui peuvent être développées en utilisant LogoutAuthenticationPropertiesBuilder
.
checkpoint.header
Maintenant que vous avez configuré la fonction de déconnexion, exécutez votre application pour vérifier que :
Naviguer vers votre action
Logout
garantit que l’utilisateur est déconnecté.Lorsque vous vous déconnectez également d’Auth0, vous devriez être redirigé vers Auth0, puis immédiatement renvoyé vers votre propre application.
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-aspnetcore-authentication SDK - Explore the SDK used in this tutorial more fully
- Auth0 Marketplace - Discover integrations you can enable to extend Auth0’s functionality
Sign up for an or to your existing account to integrate directly with your own tenant.