When attempting to verify a credential, you need to communicate to a holder’s wallet what types of credentials and information you need to verify. In different interactions you may require a single credential, multiple credentials, or just some claims from a credential.
MATTR VII uses a presentation request flow to manage verification of holder data, comprising the following steps:
Step 1: Create a Presentation Template
This information is arranged in what's referred to as Presentation Templates. These templates define what type of credential and what information is requested by the verifier. The template is long-lived and is persisted on your tenant.
MATTR VII supports two types of templates:
Basic presentation template: If you want to simply get an entire credential from a wallet holder which includes all of its claims and details, create a basic presentation template using the
Selective disclosure presentation template: If you want to only get select claims from a credential, eg. just a
firstNameattribute from a student ID credential, create a selective-disclosure presentation template using the
QueryByFramemethod. Note that the credential you want to verify must be issued using a DID which has the
BLS12381G2key type. Refer to the following page to learn more about verifying selective disclosure credentials.
Step 2: Verifier creates a Presentation Request
When attempting to verify a credential from a specific holder, the template is used to create e Presentation Request. This short-lived entity is used by the holder's mobile wallet to display a list of credentials that match the verifier's request. The Presentation Request expires after five minutes by default and is not persisted on your tenant.
Presentation requests are created in accordance with your selected verification method:
Step 3: Wallet creates a Verifiable Presentation
The wallet holder can choose to select and send the requested credentials in the form of a Verifiable Presentation, which includes a cryptographic proof proving the holder was issued that credential.
Step 4: The verifier verifies the verifiable presentation
Once MATTR VII receives the holder's verifiable presentation it will perform verification checks, including checking for revocation status and then extract the claims. This standardized output will be sent as a JSON body to a defined callback URL, which can be consumed by your system.