Authorization Endpoint (OpenID4VP)
The GET or POST request to the authorisation endpoint initiates a verifiable presentation request. This endpoint is part of the OpenID for Verifiable Presentations (OpenID4VP) protocol and follows OAuth 2.0 authorisation flow patterns.
Endpoint
GET /authorize
POST /authorizeThe URL for this endpoint is provided in the Verifier Metadata (see Verifier Metadata). This endpoint may be the same as the standard iSHARE authorisation endpoint, but supports additional parameters for verifiable presentation requests.
Request model
Parameters
The request parameters follow the OAuth 2.0 authorisation request format with OpenID4VP-specific additions:
response_typeString. (Required) OAuth 2.0 response type. For OpenID4VP, MUST includevp_token(e.g.,vp_tokenorcode vp_token).client_idString. (Required) The client identifier. Within iSHARE, this MUST contain a valid Party Identifier when applicable.redirect_uriString. (Required) The redirect URI where the response will be sent.scopeString. OAuth 2.0 scope parameter. May include credential types or presentation scopes.presentation_definitionObject. A Presentation Definition object specifying the required credentials and constraints.presentation_definition_uriString. A URI pointing to a Presentation Definition document.nonceString. A nonce to prevent replay attacks.stateString. OAuth 2.0 state parameter for maintaining state between request and callback.
Example request
GET /authorize?response_type=vp_token&client_id=did:ishare:EU.NL.NTRLNL-10000001&redirect_uri=https://wallet.example.com/cb&scope=openid&presentation_definition_uri=https://verifier.ishare.eu/presentation-definitions/participant-credential&nonce=abc123&state=xyz789
Host: verifier.ishare.euResponse model
The response follows OAuth 2.0 authorization response format:
vp_tokenString. A verifiable presentation token (whenresponse_typeincludesvp_token).codeString. An authorization code (whenresponse_typeincludescode).stateString. The state parameter value from the request.presentation_submissionObject. A Presentation Submission object when using presentation definitions.
Example response
The response is typically a redirect to the redirect_uri with parameters:
https://wallet.example.com/cb?vp_token=eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9...&state=xyz789iSHARE-Specific Requirements
Within iSHARE, the following requirements apply:
Clients (holder applications) MUST NOT be pre-registered. A look-up in the Participant Registry is sufficient.
The
client_idMUST contain a valid Party Identifier when applicable.The verifier MUST validate the requesting party's authorization to request verifiable presentations.
The authorization endpoint may be the same as the standard iSHARE authorization endpoint used for OpenID Connect flows, but MUST support the additional OpenID4VP parameters.
Last updated