Overview
TheconfigRepo section defines how VCVerifier manages service configurations, credential types, and trust relationships. This can be configured statically in YAML or dynamically via a Credentials Config Service.
ConfigRepo Settings
URL of the Credentials Config Service for dynamic configuration updates.When configured, VCVerifier periodically fetches service configurations from this endpoint.
Interval in seconds for fetching configuration updates from the config service.
If
configEndpoint is not configured, only static configuration from the YAML file will be used.Service Configuration
Array of statically configured services with their trust anchors and scopes.
Service Properties
Unique identifier for the service.
Default OIDC scope to use when none is specified in the authentication request.
Type of authorization to be provided in the redirect response.
Path for the authorization endpoint to be provided in redirects.
OIDC Scopes
Map of scope names to scope configurations. Each scope defines which credentials to request and how to trust them.
Scope Configuration
Array of credential configurations for this scope.
Presentation Definition following the DIF Presentation Exchange specification.Defines the format and constraints for requested credentials.
DC Query Language (DCQL) query for requesting specific credentials and claims.
When
true, flattens credential claims to plain JWT claims instead of keeping the credential/presentation structure.Credential Configuration
Each credential in a scope has the following properties:Type of the credential (e.g.,
VerifiableCredential, CustomerCredential).Trust Configuration
List of trusted participants registries to check if the credential issuer is a trusted participant.Each entry has:
type- Registry type (ebsiorgaia-x)url- URL of the registry
List of EBSI Trusted Issuers Registry compatible endpoints to verify that issuers are trusted and have permission to issue credentials with specific claims.
EBSI vs Gaia-X Registries
EBSI vs Gaia-X Registries
EBSI Trusted Issuers Registry:
- Standard EBSI-compliant registry
- Default type for backwards compatibility
- Supports any DID method
- Gaia-X Digital Clearing House registry
- Requires
did:webidentifiers - Issuers must provide valid
x5ulocation in theirpublicKeyJwk
Holder Verification
When
true, verifies that the credential holder matches the presenter.Claim path to retrieve the holder identifier from the credential.
Compliance Verification
When
true, requires a compliance credential accompanying this credential.JWT Inclusion
Whether to include this credential in the generated JWT.
When
true, embeds the complete credential. When false, only configured claims are included.Array of claims to include from the credential. Each entry has:
originalKey- Key path in the credentialnewKey- Key to use in the JWT (optional, defaults to originalKey)
Presentation Definition
The presentation definition follows the DIF Presentation Exchange specification:Input Descriptor
Unique identifier for the input descriptor.
Array of field constraints:
id- Field identifierpath- JSONPath array to the fieldoptional- Whether the field is optional (default:true)filter- Custom filter to apply (e.g., value constraints)
Credential format requirements. Common formats:
jwt_vc- JWT Verifiable Credentialldp_vc- JSON-LD Verifiable Credentialsd+jwt-vc- Selective Disclosure JWT VC
alg (algorithms) requirements.DCQL Query
DC Query Language provides fine-grained control over requested credentials:Array of credential queries.
Array of credential set queries for complex requirements.
Complete Example
Best Practices
Scope Design:
- Create separate scopes for different credential requirements
- Use descriptive scope names that reflect the credential type
- Configure
defaultOidcScopefor seamless user experience
Dynamic vs Static Configuration
Dynamic vs Static Configuration
When to use static configuration:
- Simple deployments with few services
- Fixed trust relationships
- Development and testing
- Multiple services with changing requirements
- Need for runtime configuration updates
- Production environments with evolving trust frameworks
- Multi-tenant scenarios
Next Steps
Verifier Configuration
Configure DID, keys, and validation modes
Templating
Customize the login page