ClientRequest Class
The client-authentication context carried alongside a token, revocation or introspection request - the form-posted
secret/assertion, the Authorization header, the mTLS client certificate and the DPoP proof. The bound
properties, BindAsync and the projection onto the core model are generated from
ClientRequest by the Minimal API model source generator.
public record ClientRequest : System.IEquatable<Abblix.Oidc.Server.MinimalApi.Model.ClientRequest>Inheritance System.Object → ClientRequest
Implements System.IEquatable<ClientRequest>
Properties
ClientRequest.AuthorizationHeader Property
The HTTP Authorization header from the inbound request, captured for transport-level
authentication schemes such as Basic (client_secret_basic) or Bearer. Not serialized.
public System.Net.Http.Headers.AuthenticationHeaderValue? AuthorizationHeader { get; init; }Property Value
System.Net.Http.Headers.AuthenticationHeaderValue
ClientRequest.ClientAssertion Property
The client_assertion: a signed JWT used to authenticate the client via
private_key_jwt or client_secret_jwt (RFC 7523 §2.2, OIDC Core §9).
public string? ClientAssertion { get; init; }Property Value
ClientRequest.ClientAssertionType Property
The client_assertion_type, which for JWT bearer client assertions equals
urn:ietf:params:oauth:client-assertion-type:jwt-bearer per RFC 7521 §4.2 / RFC 7523 §2.2.
public string? ClientAssertionType { get; init; }Property Value
ClientRequest.ClientCertificate Property
The client X.509 certificate presented via mutual TLS (mTLS) at the transport layer or forwarded by a trusted reverse proxy. Used for RFC 8705 client authentication and for certificate-bound access tokens.
public System.Security.Cryptography.X509Certificates.X509Certificate2? ClientCertificate { get; init; }Property Value
System.Security.Cryptography.X509Certificates.X509Certificate2
ClientRequest.ClientId Property
The OAuth 2.0 client_id identifying the registered client (RFC 6749 §2.3.1).
May be null when the client is identified solely by an Authorization header or a client assertion.
public string? ClientId { get; init; }Property Value
ClientRequest.ClientSecret Property
The OAuth 2.0 client_secret presented in the request body for the
client_secret_post authentication method (RFC 6749 §2.3.1).
public string? ClientSecret { get; init; }Property Value
ClientRequest.DPoPProof Property
The compact-form DPoP proof JWT taken from the inbound request's DPoP header
per RFC 9449 §4.1. Travels alongside AuthorizationHeader and
ClientCertificate as transport-level material so the core layer stays
ASP.NET-Core-free; the MVC binder lifts it from the header. null when no
proof was presented.
public string? DPoPProof { get; init; }Property Value
Methods
ClientRequest.BindAsync(HttpContext) Method
Binds the model from the request's form, query, headers and TLS connection.
public static System.Threading.Tasks.ValueTask<Abblix.Oidc.Server.MinimalApi.Model.ClientRequest?> BindAsync(Microsoft.AspNetCore.Http.HttpContext context);Parameters
context Microsoft.AspNetCore.Http.HttpContext
Returns
System.Threading.Tasks.ValueTask<ClientRequest>
Operators
ClientRequest.implicit operator ClientRequest(ClientRequest) Operator
Projects the transport-bound model onto its core counterpart.
public static Abblix.Oidc.Server.Model.ClientRequest implicit operator Abblix.Oidc.Server.Model.ClientRequest(Abblix.Oidc.Server.MinimalApi.Model.ClientRequest request);