Class PresentationRequestOptions
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
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
DcqlQueryJson
The DCQL query as a JSON string (the body of the OpenID4VP dcql_query parameter).
public required string DcqlQueryJson { get; init; }
Property Value
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
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
ResponseMode
Response delivery mode. Defaults to DirectPostJwt (HAIP default).
public ResponseMode ResponseMode { get; init; }
Property Value
ResponseUri
Wallet-callback URI (response_uri) where the wallet POSTs its response.
public required Uri ResponseUri { get; init; }
Property Value
State
Optional opaque correlation value echoed back in the response (OpenID4VP state).
public string? State { get; init; }
Property Value
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; }