Interface IAuthorizationPolicyResolution

Namespace
Cratis.Arc.Authorization
Assembly
Cratis.Arc.Core.dll

A single operation's resolved policies and authentication schemes, held only for the duration of admission.

public interface IAuthorizationPolicyResolution
Extension Methods

Methods

IsAuthorized(AuthorizationPolicyContext, IServiceProvider, CancellationToken)

Evaluates the same policies used to select authentication schemes.

Task<bool> IsAuthorized(AuthorizationPolicyContext context, IServiceProvider services, CancellationToken cancellationToken)

Parameters

context AuthorizationPolicyContext

The selected principal and resource.

services IServiceProvider

The executing scope.

cancellationToken CancellationToken

Cancellation.

Returns

Task<bool>

Whether all requirements are satisfied.

SelectPrincipal(ClaimsPrincipal?, IServiceProvider, CancellationToken)

Selects the principal from the schemes resolved for this operation.

Task<ClaimsPrincipal?> SelectPrincipal(ClaimsPrincipal? principal, IServiceProvider services, CancellationToken cancellationToken)

Parameters

principal ClaimsPrincipal

The default principal.

services IServiceProvider

The executing scope.

cancellationToken CancellationToken

Cancellation.

Returns

Task<ClaimsPrincipal>

The selected principal, or null when none of the requested schemes authenticate.