From 70eed8a43a6421e6bbd9e73830dca6b0b6ab9fb0 Mon Sep 17 00:00:00 2001 From: Oleg Zhuk Date: Fri, 1 Nov 2024 18:34:50 +0200 Subject: [PATCH] VCST-2048: Use ClaimsPrincipalExtensions GetUserId (#90) feat: Replace custom code with ClaimsPrincipalExtensions that resolves user id and name from IdentityOptions settings. --- .../Authorization/ProfileAuthorizationHandler.cs | 8 +++----- .../VirtoCommerce.ProfileExperienceApiModule.Data.csproj | 2 +- .../module.manifest | 2 +- 3 files changed, 5 insertions(+), 7 deletions(-) diff --git a/src/VirtoCommerce.ProfileExperienceApiModule.Data/Authorization/ProfileAuthorizationHandler.cs b/src/VirtoCommerce.ProfileExperienceApiModule.Data/Authorization/ProfileAuthorizationHandler.cs index 9f838e9d..086a3801 100644 --- a/src/VirtoCommerce.ProfileExperienceApiModule.Data/Authorization/ProfileAuthorizationHandler.cs +++ b/src/VirtoCommerce.ProfileExperienceApiModule.Data/Authorization/ProfileAuthorizationHandler.cs @@ -1,6 +1,5 @@ using System; using System.Linq; -using System.Security.Claims; using System.Threading.Tasks; using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Identity; @@ -41,7 +40,7 @@ protected override async Task HandleRequirementAsync(AuthorizationHandlerContext using var userManager = _userManagerFactory(); - var currentUserId = GetUserId(context); + var currentUserId = GetCurrentUserId(context); var currentMember = await GetCustomerAsync(currentUserId, userManager); var currentContact = currentMember as Contact; @@ -185,10 +184,9 @@ protected override async Task HandleRequirementAsync(AuthorizationHandlerContext } } - private static string GetUserId(AuthorizationHandlerContext context) + private static string GetCurrentUserId(AuthorizationHandlerContext context) { - //PT-5375 use ClaimTypes instead of "name" - return context.User.FindFirstValue("name"); + return context.User.GetUserId(); } private async Task HasSameOrganizationAsync(Contact currentContact, string contactId, UserManager userManager) diff --git a/src/VirtoCommerce.ProfileExperienceApiModule.Data/VirtoCommerce.ProfileExperienceApiModule.Data.csproj b/src/VirtoCommerce.ProfileExperienceApiModule.Data/VirtoCommerce.ProfileExperienceApiModule.Data.csproj index b2966890..fa99a348 100644 --- a/src/VirtoCommerce.ProfileExperienceApiModule.Data/VirtoCommerce.ProfileExperienceApiModule.Data.csproj +++ b/src/VirtoCommerce.ProfileExperienceApiModule.Data/VirtoCommerce.ProfileExperienceApiModule.Data.csproj @@ -21,7 +21,7 @@ - + diff --git a/src/VirtoCommerce.ProfileExperienceApiModule.Web/module.manifest b/src/VirtoCommerce.ProfileExperienceApiModule.Web/module.manifest index 300cb669..a2308938 100644 --- a/src/VirtoCommerce.ProfileExperienceApiModule.Web/module.manifest +++ b/src/VirtoCommerce.ProfileExperienceApiModule.Web/module.manifest @@ -4,7 +4,7 @@ 3.818.0 - 3.853.0 + 3.861.0