Ezrah DIDComm Protocol: OpenID4VC Protocols
Ezrah supports the DIDComm implementation of two major OpenID for Verifiable Credential Protocols:
openid4vcp
: Requesting Verifiable Credentialsopenid4vcp-presentation
: Presenting Verifiable Credentials
This document outlines how to initiate and interact with these flows using Ezrah’s DIDComm protocol payload structure.
Protocol Types
openid4vcp
Used by an issuer (e.g., organization) to initiate a credential issuance process.
Example Payload
{
type: "https://docs.ezrah.co/docs/didcomm-protocols/openid4vcp",
id: verificationModel.id,
from: organization.identifier?.did,
body: {
goal_code: `Login with ${organization.name}`,
goal: verificationModel.purpose,
verification_model: verificationModel.id,
source: organization.name,
},
attachments: [
{
media_type: "application/json",
data: {
json: {
presentation: "string"
}
}
}
],
}
Fields
Field | Description |
---|---|
type | Protocol URI for openid4vcp |
id | Unique identifier for the verification request, typically the verificationModel.id |
from | DID of the requesting organization |
body.goal_code | Displayed message, e.g. Login with Acme Inc. |
body.goal | Purpose of the verification (e.g., login, KYC, registration) |
body.verification_model | Reference to the verification model |
body.source | Human-readable name of the organization |
attachments | Contains the presentation definition required for issuance |
openid4vcp-presentation
Used by a holder to present credentials in response to a request.
Expected Behavior
Upon receiving a openid4vcp
request:
- A wallet or agent will interpret the presentation definition and construct a Verifiable Presentation.
- The holder responds with a
openid4vcp-presentation
message.
Example Payload (Conceptual)
{
type: "https://docs.ezrah.co/docs/didcomm-protocols/openid4vcp-presentation",
id: "unique-uuid-id",
from: holderDid,
to: verifierDid,
body: {
},
attachments: [
{
format: "application/vc+ld+json",
data: {
base64: base64urlEncode(presentation)
}
}
]
}
Compatibility
- Compliant with DIDComm v2
- Based on OpenID for Verifiable Credential Issuance (OID4VCI)
- Presentation Exchange 2.0 compliant
Use Cases
- Decentralized Login
- Reusable KYC
- Verifiable Proof of Membership
- Onboarding Automation
- Trustless Access Control
- Credential Authentication
Last updated on