Table of Contents

Class PresentationRequest

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

A built, JAR-signed OpenID4VP authorization request ready to be delivered to the wallet.

public abstract record PresentationRequest : IEquatable<PresentationRequest>
Inheritance
PresentationRequest
Implements
Derived
Inherited Members

Remarks

FROZEN contract (contracts-v0). This is a sealed hierarchy with exactly two concrete shapes — PresentationRequest.ByValue and PresentationRequest.ByReference — corresponding to the two OpenID4VP request delivery modes. Consumers must handle both via pattern matching.

Properties

AuthorizationRequestUri

Wallet-facing URI carrying (by-value) or referencing (by-reference) the signed request. Encode this as a QR code or deep link.

public required Uri AuthorizationRequestUri { get; init; }

Property Value

Uri

ClientId

Verifier identifier echoed from ClientId.

public required string ClientId { get; init; }

Property Value

string

ExpiresAt

Absolute expiration of this request (UTC). Wallets reject requests with elapsed JAR exp; verifiers use this for session cleanup and to refuse stale wallet callbacks.

public required DateTimeOffset ExpiresAt { get; init; }

Property Value

DateTimeOffset

Nonce

Per-request nonce echoed from Nonce. Verifiers retain this to validate the matching nonce in the wallet's KB-JWT response.

public required string Nonce { get; init; }

Property Value

string

SignedRequestObject

The signed JAR (RFC 9101) request object as a compact JWT. In PresentationRequest.ByValue mode this is also embedded in AuthorizationRequestUri; in PresentationRequest.ByReference mode the verifier serves this content at RequestUri.

public required string SignedRequestObject { get; init; }

Property Value

string

State

Optional state echoed from State.

public string? State { get; init; }

Property Value

string