Skip to main content

ISubjectTokenResolver Interface

Abblix.Oidc.Server

Abblix.Oidc.Server.Features.TokenExchange

ISubjectTokenResolver Interface

Resolves a wire-level subject_token of a specific RFC 8693 §3 token type into a portable SubjectTokenContext. One resolver per supported token type URI, registered with keyed DI under the URI as key; the TokenExchangeGrantHandler dispatches by reading the request's subject_token_type as the lookup key.

public interface ISubjectTokenResolver

Derived
JwtSubjectTokenResolver
RefreshTokenSubjectTokenResolver

Remarks

The library ships resolvers for urn:ietf:params:oauth:token-type:access_token, :id_token, :jwt (all backed by JWT validation), and :refresh_token (backed by storage lookup). Hosts may register additional resolvers for token types this library does not handle natively, e.g. SAML 2.0 assertions in federated scenarios -- the handler picks them up automatically.

Lookup that returns no resolver for the requested key yields invalid_request at the handler level -- the library never silently accepts an unknown subject_token_type.

Methods

ISubjectTokenResolver.ResolveAsync(string, CancellationToken) Method

Parses or looks up the wire-level subjectToken and returns the portable subject context on success, or an OidcError on failure.

System.Threading.Tasks.Task<Abblix.Utils.Result<Abblix.Oidc.Server.Features.TokenExchange.SubjectTokenContext,Abblix.Oidc.Server.Common.OidcError>> ResolveAsync(string subjectToken, System.Threading.CancellationToken cancellationToken);

Parameters

subjectToken System.String

The exact subject_token string from the wire.

cancellationToken System.Threading.CancellationToken

Cancellation token.

Returns

System.Threading.Tasks.Task<Abblix.Utils.Result<SubjectTokenContext,OidcError>>
The resolved subject context on success; an OIDC error describing the rejection reason on failure. The handler maps every failure to wire-level invalid_request per RFC 8693 §2.2.2.