Preview release.These docs are a work in progress. Pages are still being written, links may break, and structure may shift without notice. Treat everything here as a draft and report issues onGitHub.
Complete eSignet login and render a pre-authorized-code offer
GET
/oid4vci/offer/callback
const url = 'https://example.com/oid4vci/offer/callback?code=example&state=example';const options = {method: 'GET'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request GET \ --url 'https://example.com/oid4vci/offer/callback?code=example&state=example'Public and unauthenticated. Consumes the login state, exchanges the eSignet code with private_key_jwt, validates the id_token, and mints one single-use pre-authorized_code. When configured, the offer also includes one numeric tx_code (PIN) shown out-of-band from the QR. Returns 404 when the pre-authorized-code flow is disabled.
Parameters
Section titled “Parameters”Query Parameters
Section titled “Query Parameters”code
required
string
state
required
string
Responses
Section titled “Responses”Offer page with the credential offer URI and optional tx_code PIN
Media typetext/html
string
Login state, eSignet code, or id_token is invalid
Media typeapplication/json
object
error
required
string
error_description
string
Examplegenerated
{ "error": "example", "error_description": "example"}Pre-authorized-code flow is disabled
OpenID4VCI issuer failed
Media typeapplication/json
object
error
required
string
error_description
string
Examplegenerated
{ "error": "example", "error_description": "example"}