Verifying
Description
Verifying credentials allows organisations to view specific attributes from a wallet holder's credential(s). Verification requests (also known as proof requests) are configured by the verifying organisation to require specific credential attributes. A verification request is initiated by the wallet holder by scanning a QR code. The holder will then receive a notification in their wallet that the verifying organisation is requesting credential attributes. Once approved the credential attributes are sent to the verifying organisation. If the holder rejects the request no attributes are shared. If the holder does not have the correct credential, they will be unable to satisfy the verification request and this will fail.
FaceCheck
When verifying credentials that need an elevated level of trust the FaceCheck feature of Microsoft Verified ID can be used to provide this. It performs a Liveness validation of a photo that is included in the creadential being verified. In order to use FaceCheck the authority needs to have it enabled in Entra - this is done using the enableFacecheck endpoint. The FaceCheck quality can also be controlled via the verification credential template (see Credential Templates) being used as the basis for the verification.
Standard User Journey
- OIDC Request from the Relying Party to Cenda
- Proof Request from Cenda to the Holder's digital wallet
- Issue Proof from the Holder's digital wallet to Cenda
- Verify Proof via Cenda
- OIDC Response from Cenda to the Relying Party
Alternative User Journey (External Credential Verification)
Important: All Verifiers (relying parties) wishing to use the external verification journey, should register a webhook URL into Cenda to be able to receive the callbacks
- Send credential verification request from the Verifier to Cenda by including the
external
scope - Cenda sends a credential verification request to the SSI provider using the data received from the Verifier
- SSI Provider creates a credential verification request
- SSI Provider returns to Cenda a deep-link related to the verification request
- Cenda returns to the Verifier the RequestUri to be used as a deep-link for the Holder's digital wallet
- Verifier presents the deep-link to the Holder*
- Holder uses the deep-link to launch the digital wallet
- Holder accepts the verification request
- SSI Provider informs Cenda for the verification acceptance
- Cenda informs Verifier for the verification acceptance using the registered webhook URL
- Holder shares the requested credentials from the digital wallet
- SSI Provider informs Cenda for the credential verification result (success or failure)
- Return Verification Response from Cenda to the Verifier using the registered webhook URL
- Verifier uses the context ID included in the issuing response from Cenda to retrieve the issuance data
- Cenda retrieves the verification data related to the context ID
- Cenda returns the verification data to the Issuer
*Note: The Holders should avoid using the deep-link as a browser URL, because depending on the browser behaviour it might not trigger the digital wallet as expected. Instead the deep-link should be presented to the Holder in a format of QR-code, link or button on a page, etc.
Context
OIDC Interface Definition
Cenda's Open ID Connect interface can be used to verify credential-based proofs. See OIDC Interface Definition for details.