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.

1

Configuration d’Auth0

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.

2

Installer et configurer la trousse SDK

Installer à partir de Nuget

Pour intégrer Auth0 à ASP.NET Core, vous pouvez utiliser notre trousse SDK en installant le package NugetAuth0.AspNetCore.Authenticationdans 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.

3

Connexion

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.

4

Afficher le profil utilisateur

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.

5

Déconnexion

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:

Did it work?

Any suggestion or typo?

Edit on GitHub
Sign Up

Sign up for an or to your existing account to integrate directly with your own tenant.