Ajouter une fonctionnalité de connexion à votre application Blazor Server

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 Blazor Server, 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, 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 démarrage 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.

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 à Blazor Server 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 Blazor Server, 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 Blazor Server, ajoutez un LoginModel à votre répertoire Pages.

Dans le cadre de la méthode OnGet de LoginModel, appelez HTTPContext.ChallengeAsync() et passez 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 page Login vous redirigera vers Auth0,

  • saisir vos identifiants vous redirigera vers votre application.

4

Afficher le profil utilisateur

Une fois que le logiciel médiateur 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 via AuthenticationState, que vous pouvez ajouter en tant que CascadingParameter.

Vous pouvez créer une page de profil utilisateur personnalisée pour afficher le nom de l’utilisateur, ainsi que des demandes supplémentaires (comme le courriel et la photo), en récupérant les informations correspondantes à partir de la propriété User de AuthenticationState et en les visualisant à partir du code Blazor.

checkpoint.header

Maintenant que vous avez effectué la configuration pour afficher le profil utilisateur, lancez votre application pour vérifier que :

  • la navigation vers le point de terminaison contenant le profil après une connexion réussie permet d’afficher le profil 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 la méthode OnGetde LogoutModel.

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 l’authenticationProperties approprié qui peut être construit 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 page Logout garantira 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.