To setup the verifier portal backend a few things may need to be considered and some configuration may be required, depending on your situation.
Since the verifier portal backend is implemented in the same service as the wallet backend, refer to the wallet backend setup section for details.
The configuration of the verifier portal backend can be adapted, by modifying the file
config/verifier-config.json
Configure the URLs via which the verifier portal UI and backend API will be reachable from an external source, e.g. a web browser, or the wallet backend responding to a credential presentation request:
The verifier portal supports the OIDC/SIOPv2 credential presentation flow, that is triggered directly from the verifier portal requesting credentials from an SSI wallet. To support this kind of verification flow, you need to configure the known wallets and how to connect to them:
This example shows the known wallet configuration for the walt.id web wallet, in verifier-config.json:
By default, the verifier backend will apply some basic verification policies to the verifiable presentations and credentials, presented by the wallet. The default verification policies are:
SignaturePolicy
checks the signature of the credential
ChallengePolicy
verifies that the presentation was signed against the challenge requested by the verifier backend
VpTokenClaimPolicy
verifies that the SIOP response (presentation from the wallet) matches the vp_token claim
In order to enforce other policies to be executed on the presented credentials, you can use the additionalPolicies
property in the verifier configuration.
This also allows for configuring custom dynamic policies, and supports specification of policy arguments.
The verifier backend supports the verification policy management commands provided by the SSI Kit, using the following CLI subcommand:
For details of using verification policies and creating custom dynamic policies, refer to the corresponding section of the SSI Kit documentation.
This example shows the configuration of additional policies in verifier-config.json:
Here's a complete example for the verifier-config.json:
Data, such as dids and keys, are currently stored in the verifier subfolder, like so:
<data_root>/data/verifier
In the future various options to configure the verifier data storage may be provided.
Since the verifier portal backend is implemented in the same service as the wallet backend, refer to the wallet backend setup section for details.