Add support of DID/VC
The dataspace ecosystem is not relying on solid-oidc but on the DID/VC specifications to handle identification and authentication, especially by supporting the OIDC4VC and OIDC4VP specifications:
- DID: Decentralized Identifiers, is a way to represent identity of something (being a person, an organisation, an application, an agent) in a unique way which can easily be dereferenced.
- VC: Verifiable Credentials, is a way for a Trust Authority to deliver digital credentials which any type of Agent can store and then present to prove its identity/appartenance to an organization/system/etc by using standardised verification protocols.
- OIDC4VC / OIDC4VP are the OIDC protocol extensions proposed to handle the authentication mechanism based on DID/VCs presentations and verifications.
We need to create a new Startin'blox components which add support for the OIDC4VP protocol as the authentication protocol on our customer projects, in the scope of NGI Search and first based on existing systems but then make it compliant with our own backend implementations
There is a big first analysis step to document the gap between what a component like sib-auth does and what we want to achieve with this to determine:
- If everything can be implemented in a standalone component
- If there are impacts on the store implementation
- Document the possible ways to add support for that on the backend side (gap between our webid-oidc-provider package and what is needed)
- Check if we can take profit of open-source projects like Sphereon SDK to add this feature quickly