Configurer le témoin et le logiciel médiateur OIDC
Pour les besoins de ce guide, nous utiliserons une simple connexion hébergée. Vous pouvez utiliser le témoin standard et le logiciel médiateur OIDC qui est disponible avec ASP.NET Core, assurez-vous donc d’installer les paquets NuGet.UseCookieAuthentication
. Le second est le logiciel médiateur OIDC qui a été enregistré avec l’appel à UseOpenIdConnectAuthentication
.
Une fois que l’utilisateur s’est connecté à Auth0 à l’aide du logiciel médiateur OIDC, ses informations sont automatiquement stockées dans un témoin de session. Il suffit de configurer le logiciel médiateur comme indiqué ci-dessus pour qu’il s’occupe de la gestion de la session de l’utilisateur.
Le logiciel médiateur Connect (OIDC) extraira également toutes les demandes du jeton d’ID, qui est envoyé par Auth0 une fois que l’utilisateur s’est authentifié, et les ajoutera en tant que demandes sur le ClaimsIdentity
.
Mise en œuvre de la déconnexion
Vous pouvez contrôler à la fois la session de l’application et la session Auth0 en utilisant la méthodeSignOutAsync
de la classe AuthenticationManager
, et en transmettant le schéma d’authentification à partir duquel vous souhaitez vous déconnecter.
Par exemple, pour se déconnecter du logiciel médiateur de gestion des témoins, et ainsi effacer le témoin d’authentification de votre application, vous pouvez effectuer l’appel suivant :
SignOutAsync
et en transmettant Auth0
comme schéma d’authentification à déconnecter.
OnRedirectToIdentityProviderForSignOut
. Dans cet événement, vous devrez rediriger vers le point de terminaison de déconnexion Auth0, ce qui effacera le témoin Auth0.
Mettre en oeuvre les permissions d’administration
La manière la plus simple d’intégrer les groupes dans une application ASP.NET Core est d’utiliser l’autorisation intégrée Autorisation basée sur les rôles disponible dans ASP.NET Core. Pour ce faire, nous devrons ajouter une Demande de typeAdmin
en décorant la demande avec l’attribut [Authorize(Roles = "Admin")]
. Vous pouvez également vérifier si un utilisateur occupe un rôle spécifique à partir du code en appelant User.IsInRole("Admin")
à l’intérieur de votre contrôleur.
Le logiciel médiateur ASP.NET OIDC ajoutera automatiquement toutes les demandes renvoyées dans le en tant que demandes à l’identité ClaimsIdentity
. Nous devrions donc extraire les informations de la demande authorization
, désérialiser le corps JSON de la demande et, pour chacun des groupes, ajouter une demande http://schemas.microsoft.com/ws/2008/06/identity/claims/role
à ClaimsIdentity
.