Skip to content

ClientRequest Class

The transport-bound counterpart of ClientRequest: the client authentication material accompanying back-channel endpoint payloads. The body-level credential parameters, the header and TLS-connection sources resolved from the core transport-source markers, and the projection back onto the core model are generated from the core type.

C#
public record ClientRequest : System.IEquatable<Abblix.Oidc.Server.Mvc.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.

C#
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).

C#
public string? ClientAssertion { get; init; }

Property Value

System.String

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.

C#
public string? ClientAssertionType { get; init; }

Property Value

System.String

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.

C#
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.

C#
public string? ClientId { get; init; }

Property Value

System.String

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).

C#
public string? ClientSecret { get; init; }

Property Value

System.String

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.

C#
public string? DPoPProof { get; init; }

Property Value

System.String

Methods

ClientRequest.Map() Method

Projects the transport-bound model onto its core counterpart, copying every bound parameter so the core pipeline operates on a transport-agnostic shape.

C#
public Abblix.Oidc.Server.Model.ClientRequest Map();

Returns

ClientRequest

Operators

ClientRequest.implicit operator ClientRequest(ClientRequest) Operator

Implicit form of Map(), letting a bound model flow into any core-typed parameter or variable without an explicit call.

C#
public static Abblix.Oidc.Server.Model.ClientRequest implicit operator Abblix.Oidc.Server.Model.ClientRequest(Abblix.Oidc.Server.Mvc.Model.ClientRequest request);

Parameters

request ClientRequest

Returns

ClientRequest