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

principal ClaimsPrincipal

The selected identity.

services IServiceProvider

The 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

requirements IReadOnlyList<AuthorizationRequirement>

The effective requirements.

services IServiceProvider

The executing service scope.

cancellationToken CancellationToken

Cancellation.

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

requirements IReadOnlyList<AuthorizationRequirement>

The requirements.

services IServiceProvider

The current service scope.

cancellationToken CancellationToken

Cancellation.

Returns

Task

The validation operation.