From 6a5518a037d30be11a6752eae5890f468bd2f803 Mon Sep 17 00:00:00 2001 From: Patrick Pimentel Date: Mon, 15 Dec 2025 12:00:42 -0500 Subject: [PATCH] fix(auth-validator): [PM-22975] Client Version Validator - Rename function --- .../RequestValidators/BaseRequestValidator.cs | 2 +- .../RequestValidators/ClientVersionValidator.cs | 4 ++-- .../Endpoints/IdentityServerSsoTests.cs | 2 +- .../Endpoints/IdentityServerTests.cs | 2 +- .../IdentityServer/BaseRequestValidatorTests.cs | 6 +++--- .../RequestValidators/ClientVersionValidatorTests.cs | 12 ++++++------ .../Factories/IdentityApplicationFactory.cs | 2 +- 7 files changed, 15 insertions(+), 15 deletions(-) diff --git a/src/Identity/IdentityServer/RequestValidators/BaseRequestValidator.cs b/src/Identity/IdentityServer/RequestValidators/BaseRequestValidator.cs index 7d807d432b..babf681c04 100644 --- a/src/Identity/IdentityServer/RequestValidators/BaseRequestValidator.cs +++ b/src/Identity/IdentityServer/RequestValidators/BaseRequestValidator.cs @@ -222,7 +222,7 @@ public abstract class BaseRequestValidator where T : class /// true if the scheme successfully passed validation, otherwise false. private async Task ValidateClientVersionAsync(T context, CustomValidatorRequestContext validatorContext) { - var ok = _clientVersionValidator.ValidateAsync(validatorContext.User, validatorContext); + var ok = _clientVersionValidator.Validate(validatorContext.User, validatorContext); if (ok) { return true; diff --git a/src/Identity/IdentityServer/RequestValidators/ClientVersionValidator.cs b/src/Identity/IdentityServer/RequestValidators/ClientVersionValidator.cs index 7f332c8997..0936b4e8ff 100644 --- a/src/Identity/IdentityServer/RequestValidators/ClientVersionValidator.cs +++ b/src/Identity/IdentityServer/RequestValidators/ClientVersionValidator.cs @@ -8,7 +8,7 @@ namespace Bit.Identity.IdentityServer.RequestValidators; public interface IClientVersionValidator { - bool ValidateAsync(User user, CustomValidatorRequestContext requestContext); + bool Validate(User user, CustomValidatorRequestContext requestContext); } /// @@ -28,7 +28,7 @@ public class ClientVersionValidator( private const string _noUserMessage = "No user found while trying to validate client version"; private const string _versionHeaderMissing = "No client version header found, required to prevent encryption errors. Please confirm your client is supplying the header: \"Bitwarden-Client-Version\""; - public bool ValidateAsync(User? user, CustomValidatorRequestContext requestContext) + public bool Validate(User? user, CustomValidatorRequestContext requestContext) { // Do this nullish check because the base request validator currently is not // strict null checking. Once that gets fixed then we can see about making diff --git a/test/Identity.IntegrationTest/Endpoints/IdentityServerSsoTests.cs b/test/Identity.IntegrationTest/Endpoints/IdentityServerSsoTests.cs index ade0410e70..1c7b035874 100644 --- a/test/Identity.IntegrationTest/Endpoints/IdentityServerSsoTests.cs +++ b/test/Identity.IntegrationTest/Endpoints/IdentityServerSsoTests.cs @@ -625,7 +625,7 @@ public class IdentityServerSsoTests // Bypass client version gating to isolate SSO test behavior factory.SubstituteService(svc => { - svc.ValidateAsync(Arg.Any(), Arg.Any()) + svc.Validate(Arg.Any(), Arg.Any()) .Returns(true); }); diff --git a/test/Identity.IntegrationTest/Endpoints/IdentityServerTests.cs b/test/Identity.IntegrationTest/Endpoints/IdentityServerTests.cs index 7b42f7464e..8e6079c036 100644 --- a/test/Identity.IntegrationTest/Endpoints/IdentityServerTests.cs +++ b/test/Identity.IntegrationTest/Endpoints/IdentityServerTests.cs @@ -36,7 +36,7 @@ public class IdentityServerTests : IClassFixture // Bypass client version gating to isolate SSO test behavior _factory.SubstituteService(svc => { - svc.ValidateAsync(Arg.Any(), Arg.Any()) + svc.Validate(Arg.Any(), Arg.Any()) .Returns(true); }); diff --git a/test/Identity.Test/IdentityServer/BaseRequestValidatorTests.cs b/test/Identity.Test/IdentityServer/BaseRequestValidatorTests.cs index 370ffd34aa..738e5527da 100644 --- a/test/Identity.Test/IdentityServer/BaseRequestValidatorTests.cs +++ b/test/Identity.Test/IdentityServer/BaseRequestValidatorTests.cs @@ -108,7 +108,7 @@ public class BaseRequestValidatorTests // Default client version validator behavior: allow to pass unless a test overrides. _clientVersionValidator - .ValidateAsync(Arg.Any(), Arg.Any()) + .Validate(Arg.Any(), Arg.Any()) .Returns(true); } @@ -1187,7 +1187,7 @@ public class BaseRequestValidatorTests // Make client version validation succeed but ensure it's invoked _clientVersionValidator - .ValidateAsync(requestContext.User, requestContext) + .Validate(requestContext.User, requestContext) .Returns(true); // Ensure SSO requirement triggers an early stop after version validation to avoid success path setup @@ -1200,7 +1200,7 @@ public class BaseRequestValidatorTests // Assert _clientVersionValidator.Received(1) - .ValidateAsync(requestContext.User, requestContext); + .Validate(requestContext.User, requestContext); } /// diff --git a/test/Identity.Test/IdentityServer/RequestValidators/ClientVersionValidatorTests.cs b/test/Identity.Test/IdentityServer/RequestValidators/ClientVersionValidatorTests.cs index 3af33d0123..51b1c73a73 100644 --- a/test/Identity.Test/IdentityServer/RequestValidators/ClientVersionValidatorTests.cs +++ b/test/Identity.Test/IdentityServer/RequestValidators/ClientVersionValidatorTests.cs @@ -34,7 +34,7 @@ public class ClientVersionValidatorTests var user = MakeValidV2User(); // Act - var ok = sut.ValidateAsync(user, ctx); + var ok = sut.Validate(user, ctx); // Assert Assert.True(ok); @@ -49,7 +49,7 @@ public class ClientVersionValidatorTests var user = MakeValidV2User(); // Act - var ok = sut.ValidateAsync(user, ctx); + var ok = sut.Validate(user, ctx); // Assert Assert.False(ok); @@ -67,7 +67,7 @@ public class ClientVersionValidatorTests User? user = null; // Act - var ok = sut.ValidateAsync(user, ctx); + var ok = sut.Validate(user, ctx); // Assert Assert.False(ok); @@ -86,7 +86,7 @@ public class ClientVersionValidatorTests user.PrivateKey = null; // Act - var ok = sut.ValidateAsync(user, ctx); + var ok = sut.Validate(user, ctx); // Assert Assert.True(ok); @@ -102,7 +102,7 @@ public class ClientVersionValidatorTests var user = MakeValidV2User(); user.SecurityVersion = null; // Act - var ok = sut.ValidateAsync(user, ctx); + var ok = sut.Validate(user, ctx); // Assert Assert.True(ok); } @@ -116,7 +116,7 @@ public class ClientVersionValidatorTests var user = MakeValidV2User(); // Act - var ok = sut.ValidateAsync(user, ctx); + var ok = sut.Validate(user, ctx); // Assert Assert.False(ok); diff --git a/test/IntegrationTestCommon/Factories/IdentityApplicationFactory.cs b/test/IntegrationTestCommon/Factories/IdentityApplicationFactory.cs index 1304d66f67..fc6829e451 100644 --- a/test/IntegrationTestCommon/Factories/IdentityApplicationFactory.cs +++ b/test/IntegrationTestCommon/Factories/IdentityApplicationFactory.cs @@ -54,7 +54,7 @@ public class IdentityApplicationFactory : WebApplicationFactoryBase // Bypass client version gating to isolate tests from client version behavior SubstituteService(svc => { - svc.ValidateAsync(Arg.Any(), Arg.Any()) + svc.Validate(Arg.Any(), Arg.Any()) .Returns(true); }); }