- Initiate Presentation
- Retrieve Request Object
- Retrieve Presentation Definition
- Send Presentation
Actors:
- Developer/Tester
- Verifier app
Intention: To Provide a presentation definition in order to initiate a Presentation Process.
Steps:
- Tester provides a Presentation Definition (in JSON) and hits
Initiate Presentationbutton - Back-ends gets the Presentation Definition, validates it and initiates
Presentation Process - Back-end identifies each
Presentation Processin terms of a UUID - Back-end stores (in memory) the
Presentation Process - Back-end returns to UI a
AutherizationRequestwhich is actually object with two attributes- client_id (just a fixed string value, for now) and
- request_uri : A URL encoded URL pointing to
request_uriend point. This URL (the request_uri) will have to include somehow (path variable, query variable etc) the UUID of thePresentation Process
- Finally the UI draws either a QR code and/or a deep link for the
AuthorizationRequest.
For details on AuthorizationRequest using request_uri please check JAR
This is defined in JAR
Actors: Wallet, Verifier (back-end) Intention: Wallet wants to retrieve the Request Object.
This RequestObject is actually a JWT which includes (as claims) the
parameters of an OpenID4VP and/or SIOPv2 AuthorizationRequest (actually of any OAUTH2 authorization request)
Preconditions:
- Wallet has been informed about the URL of the request_uri (using QR or deep link)
Steps:
- Wallets sends a HTTP Get to the
request_uriend point - Verifiers extracts from the call the UUID of the
PresentationProcessand checks its repo to locate the process. - if found should return a
RequestObjectas defined in JAR with a HTTP 200
This is defined in OpenID4VP protocol
Actors: Wallet, Verifier (back-end)
Intention: Wallet wants to get the PresentationDefinition from the Verifier
Preconditions:
- Wallet has received the
RequestObjectand this includes apresentation_definition_uri. This URL should somehow include the UUID of thePresentationProcess(path or query param)
Steps:
- Wallet sends a HTTP Get to the
presentation_definition_uri - Verifiers extracts from the call the UUID of the
PresentationProcessand checks its repo to locate the process - if found should return a
PresentationDefinitionin JSON as defined with HTTP 200
This is defined in OpenID4VP protocol and in JARM
Actors: Wallet, Verifier (back-end) Intention: Wallet wants to send to the Verifier his response which include the Verifiable Presentations
TBD