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
contextAuthorizationPolicyContextThe selected principal and resource.
servicesIServiceProviderThe executing scope.
cancellationTokenCancellationTokenCancellation.
Returns
SelectPrincipal(ClaimsPrincipal?, IServiceProvider, CancellationToken)
Selects the principal from the schemes resolved for this operation.
Task<ClaimsPrincipal?> SelectPrincipal(ClaimsPrincipal? principal, IServiceProvider services, CancellationToken cancellationToken)
Parameters
principalClaimsPrincipalThe default principal.
servicesIServiceProviderThe executing scope.
cancellationTokenCancellationTokenCancellation.
Returns
- Task<ClaimsPrincipal>
The selected principal, or null when none of the requested schemes authenticate.