Presentation during issuance
Presentation (Oid4vp) during Issuance (Oid4vci)
Background
The Sphereon Agent software and wallet has experimental support for so-called first-party applications. This means we can do credential presentations during the issuance process, without having to leave the wallet in the process. For now we are using a request/response parameter (not shown/discussed below) that is Sphereon-specific, meaning it is not interoperable with other wallets. We will change that in the near future, once the specs and codepaths for first-party applications stabilize.
More background information:
Configuration changes
In order to enable a 1st party flow to perform presentation during issuance, you need the below configuration values. The examples folder contains configurations to support the 1st party flow. The Swagger API can be found and tested at http://localhost:5010/1stparty/oid4vci/api-docs
Adding the endpoint to metadata
In order to let a wallet know that this is a first party application we need to add a new parameter to the issuer and authorization server metadata, called authorization_challenge_endpoint.
conf/oid4vci_metadata/1stparty-issuer.json:
conf/oid4vci_metadata/1stparty-authorization-server.json:
Presentation definition Id
In order to enable support for the 1st party flow the following change needs to be made to the conf/oid4vci_options/your-options-file-for-instance-called-1stparty.json file and the issuerOpts section:
Example
Enable Authorization Challenge Endpoint options
In order to enable the 1st party flow, the so called authorization challenge endpoint needs to be enabled in conf/oid4vci_options/your-options-file-for-instance-called-1stparty.json: