Interface IAuthorizationPolicyRuntime
- Namespace
- Cratis.Arc.Authorization
- Assembly
- Cratis.Arc.Core.dll
Resolves policy and authentication scheme requirements for the active host.
public interface IAuthorizationPolicyRuntime
- Extension Methods
Methods
BeginPrincipalScope(ClaimsPrincipal, IServiceProvider)
Makes the selected identity visible to the active host request for the duration of authorized execution.
IDisposable? BeginPrincipalScope(ClaimsPrincipal principal, IServiceProvider services)
Parameters
principalClaimsPrincipalThe selected identity.
servicesIServiceProviderThe executing scope.
Returns
- IDisposable
A scope restoring the previous host identity, if the host has one.
Resolve(IReadOnlyList<AuthorizationRequirement>, IServiceProvider, CancellationToken)
Resolves and validates policies and schemes once for an admission attempt.
Task<IAuthorizationPolicyResolution> Resolve(IReadOnlyList<AuthorizationRequirement> requirements, IServiceProvider services, CancellationToken cancellationToken)
Parameters
requirementsIReadOnlyList<AuthorizationRequirement>The effective requirements.
servicesIServiceProviderThe executing service scope.
cancellationTokenCancellationTokenCancellation.
Returns
- Task<IAuthorizationPolicyResolution>
A stable operation-local policy resolution.
Validate(IReadOnlyList<AuthorizationRequirement>, IServiceProvider, CancellationToken)
Validates every requirement before admission or startup.
Task Validate(IReadOnlyList<AuthorizationRequirement> requirements, IServiceProvider services, CancellationToken cancellationToken)
Parameters
requirementsIReadOnlyList<AuthorizationRequirement>The requirements.
servicesIServiceProviderThe current service scope.
cancellationTokenCancellationTokenCancellation.
Returns
- Task
The validation operation.