Skip to content

Commit 8541bf6

Browse files
authored
Flow endpoint and httpcontext always from authz middleware (#22672)
1 parent 4d7a79a commit 8541bf6

File tree

2 files changed

+7
-6
lines changed

2 files changed

+7
-6
lines changed

src/Security/Authorization/Policy/src/AuthorizationMiddleware.cs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -61,8 +61,7 @@ public async Task Invoke(HttpContext context)
6161
return;
6262
}
6363

64-
// Note that the resource will be null if there is no matched endpoint
65-
var authorizeResult = await policyEvaluator.AuthorizeAsync(policy, authenticateResult, context, resource: endpoint);
64+
var authorizeResult = await policyEvaluator.AuthorizeAsync(policy, authenticateResult, context, resource: context);
6665

6766
var authorizationMiddlewareResultHandler = context.RequestServices.GetRequiredService<IAuthorizationMiddlewareResultHandler>();
6867
await authorizationMiddlewareResultHandler.HandleAsync(_next, context, policy, authorizeResult);

src/Security/Authorization/test/AuthorizationMiddlewareTests.cs

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -314,13 +314,13 @@ public async Task Invoke_SingleValidClaimShouldSucceed()
314314
}
315315

316316
[Fact]
317-
public async Task AuthZResourceShouldBeEndpoint()
317+
public async Task AuthZResourceShouldBeHttpContextAndHaveHEndpoint()
318318
{
319319
// Arrange
320-
object resource = null;
320+
HttpContext resource = null;
321321
var policy = new AuthorizationPolicyBuilder().RequireAssertion(c =>
322322
{
323-
resource = c.Resource;
323+
resource = c.Resource as HttpContext;
324324
return true;
325325
}).Build();
326326
var policyProvider = new Mock<IAuthorizationPolicyProvider>();
@@ -335,7 +335,9 @@ public async Task AuthZResourceShouldBeEndpoint()
335335
await middleware.Invoke(context);
336336

337337
// Assert
338-
Assert.Equal(endpoint, resource);
338+
Assert.NotNull(resource);
339+
Assert.Equal(context, resource);
340+
Assert.Equal(endpoint, resource.GetEndpoint());
339341
}
340342

341343
[Fact]

0 commit comments

Comments
 (0)