Table of Contents

Class PresentationRequestOptions

Namespace
Tessio.Verifier.OpenId4Vp
Assembly
Tessio.Verifier.OpenId4Vp.dll

Inputs the verifier provides to IPresentationRequestBuilder when building a presentation request.

public sealed record PresentationRequestOptions : IEquatable<PresentationRequestOptions>
Inheritance
PresentationRequestOptions
Implements
Inherited Members

Remarks

FROZEN contract (contracts-v0). Forward-compatible: new optional inputs may be added as init-only properties in later contract versions without breaking existing callers.

Properties

ClientId

Verifier identifier (OpenID4VP client_id). Per OpenID4VP 1.0, the value MAY carry a client-identifier-scheme prefix (e.g., x509_san_dns:verifier.example.com).

public required string ClientId { get; init; }

Property Value

string

ClientMetadataJson

Optional verifier metadata (OpenID4VP client_metadata) as a JSON string. HAIP-aligned wallets use this to render the verifier's display name, logo, and purpose-of-request on the consent screen.

public string? ClientMetadataJson { get; init; }

Property Value

string

DcqlQueryJson

The DCQL query as a JSON string (the body of the OpenID4VP dcql_query parameter).

public required string DcqlQueryJson { get; init; }

Property Value

string

Nonce

Per-request nonce for replay protection. Must be cryptographically random and one-time. Echoed back by the wallet in the KB-JWT and verified by ICredentialVerifier.

public required string Nonce { get; init; }

Property Value

string

RequestLifetime

Optional override for how long the built request remains valid. When unset, the builder applies its configured default. Influences the JAR exp claim and (in by-reference mode) the lifetime of the request_uri entry.

public TimeSpan? RequestLifetime { get; init; }

Property Value

TimeSpan?

ResponseMode

Response delivery mode. Defaults to DirectPostJwt (HAIP default).

public ResponseMode ResponseMode { get; init; }

Property Value

ResponseMode

ResponseUri

Wallet-callback URI (response_uri) where the wallet POSTs its response.

public required Uri ResponseUri { get; init; }

Property Value

Uri

State

Optional opaque correlation value echoed back in the response (OpenID4VP state).

public string? State { get; init; }

Property Value

string

TransactionDataJson

Optional transaction-data binding (OpenID4VP transaction_data) as a JSON string. Used by HAIP for transaction-integrity scenarios (e.g., binding a presentation to a payment confirmation).

public string? TransactionDataJson { get; init; }

Property Value

string