From 8a51bc4f813df4eca402847ffda85d3719cbe779 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thorstein=20L=C3=B8kensgard?= Date: Thu, 16 Nov 2023 10:40:24 +0100 Subject: [PATCH] feat: remove dependency to Identity.Web --- ...lity.Authorization.Azure.GuestPolicies.csproj | 1 - .../Policy/DenyGuestsExtensions.cs | 16 ++++++++++++++-- 2 files changed, 14 insertions(+), 3 deletions(-) diff --git a/src/Intility.Authorization.Azure.GuestPolicies/Intility.Authorization.Azure.GuestPolicies.csproj b/src/Intility.Authorization.Azure.GuestPolicies/Intility.Authorization.Azure.GuestPolicies.csproj index eefac42..17b2475 100644 --- a/src/Intility.Authorization.Azure.GuestPolicies/Intility.Authorization.Azure.GuestPolicies.csproj +++ b/src/Intility.Authorization.Azure.GuestPolicies/Intility.Authorization.Azure.GuestPolicies.csproj @@ -23,7 +23,6 @@ - diff --git a/src/Intility.Authorization.Azure.GuestPolicies/Policy/DenyGuestsExtensions.cs b/src/Intility.Authorization.Azure.GuestPolicies/Policy/DenyGuestsExtensions.cs index f3c4f14..ca86738 100644 --- a/src/Intility.Authorization.Azure.GuestPolicies/Policy/DenyGuestsExtensions.cs +++ b/src/Intility.Authorization.Azure.GuestPolicies/Policy/DenyGuestsExtensions.cs @@ -1,6 +1,7 @@ using Microsoft.AspNetCore.Authorization; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.DependencyInjection.Extensions; +using System.Security.Claims; namespace Intility.Authorization.Azure.GuestPolicies; @@ -16,8 +17,6 @@ public static class DenyGuestsExtensions /// Services. public static IServiceCollection AddDenyGuestsAuthorization(this IServiceCollection services) { - services.AddAuthorization(); - services.TryAddEnumerable(ServiceDescriptor.Singleton()); return services; @@ -36,4 +35,17 @@ public static AuthorizationPolicyBuilder DenyGuests(this AuthorizationPolicyBuil return authorizationPolicyBuilder; } + + /// + /// Returns the value for the first claim of the specified type, otherwise null if the claim is not present. + /// + /// The instance this method extends. + /// The claim type whose first value should be returned. + /// The value of the first instance of the specified claim type, or null if the claim is not present. + internal static string? FindFirstValue(this ClaimsPrincipal principal, string claimType) + { + ArgumentNullException.ThrowIfNull(principal); + var claim = principal.FindFirst(claimType); + return claim?.Value; + } }