Overview
This module implements:- OpenID for Verifiable Credential Issuance (OID4VCI) - Issuer and holder roles
- OpenID for Verifiable Presentations (OID4VP) - Verifier and holder roles
- OAuth 2.0 - Authorization flows for credential issuance
Installation
Module Roles
The module supports three roles:- Issuer - Issue credentials via OID4VCI
- Holder - Receive and present credentials
- Verifier - Request and verify presentations via OID4VP
Registration
As Issuer
As Verifier
Combined Issuer and Verifier
Holder Only
Issuer Usage
Create Credential Offer
Issue Credential
Holder Usage
Receive Credential
Present Credential
Verifier Usage
Request Presentation
Verify Presentation
Configuration Options
Issuer Configuration
Verifier Configuration
Supported Credential Formats
jwt_vc_json- W3C Verifiable Credentials as JWTjwt_vc_json-ld- W3C VC JSON-LD as JWTldp_vc- W3C VC with Linked Data Proofssd-jwt-vc- SD-JWT Verifiable Credentials
Platform Considerations
Node.js
The module includes Express.js router support for HTTP endpoints:React Native
Use custom routers for mobile platforms as Express is not available.API Reference
Issuer API
agent.modules.openId4Vc.issuer.createCredentialOffer()agent.modules.openId4Vc.issuer.onCredentialRequest()
Holder API
agent.modules.openId4Vc.holder.resolveCredentialOffer()agent.modules.openId4Vc.holder.requestCredentials()agent.modules.openId4Vc.holder.resolveAuthorizationRequest()agent.modules.openId4Vc.holder.sendPresentation()
Verifier API
agent.modules.openId4Vc.verifier.createAuthorizationRequest()agent.modules.openId4Vc.verifier.getVerifiedPresentation()