diff --git a/src/Ocelot/Authorization/ClaimsAuthorizer.cs b/src/Ocelot/Authorization/ClaimsAuthorizer.cs
index 8806ac43e..db4e1b405 100644
--- a/src/Ocelot/Authorization/ClaimsAuthorizer.cs
+++ b/src/Ocelot/Authorization/ClaimsAuthorizer.cs
@@ -7,8 +7,9 @@
namespace Ocelot.Authorization;
///
-/// Default authorizer by claims.
+/// Default authorizer by claims which is implemented using Claims-based authorization.
///
+/// Microsoft Learn: Claims-based authorization in ASP.NET Core.
public partial class ClaimsAuthorizer : IClaimsAuthorizer
{
private readonly IClaimsParser _claimsParser;
@@ -29,8 +30,12 @@ List urlPathPlaceholderNameAndValues
{
foreach (var required in routeClaimsRequirement)
{
- var values = _claimsParser.GetValuesByClaimType(claimsPrincipal.Claims, required.Key);
+ if (string.IsNullOrEmpty(required.Value) || string.IsNullOrWhiteSpace(required.Value))
+ {
+ continue; // if required value is not specified
+ }
+ var values = _claimsParser.GetValuesByClaimType(claimsPrincipal.Claims, required.Key);
if (values.IsError)
{
return new ErrorResponse(values.Errors);