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.
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.
Installer à partir de Nuget
Pour intégrer Auth0 à Blazor Server 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 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
.
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.
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.
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 OnGet
de 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:
- 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.