@bedrock/vc-status
v1.0.0
Published
Bedrock Verifiable Credential Status Service
Downloads
91
Readme
Bedrock Verifiable Credentials Status Service API module (bedrock-vc-status)
A VC Issuer API library for use with Bedrock applications.
Table of Contents
Background
- Verifiable Credentials HTTP API v0.3 specification.
- Supports
RevocationList2020Status
type.
Security
TBD
Install
- Node.js 18+ is required.
NPM
To install via NPM:
npm install --save @bedrock/vc-status
Development
To install locally (for development):
git clone https://github.com/digitalbazaar/bedrock-vc-status.git
cd bedrock-vc-status
npm install
Usage
In lib/index.js
:
import '@bedrock/vc-status';
Note: The use of bedrock-web-vc-status
client is recommended,
to create instances.
Issuer HTTP API
This module exposes the following API endpoints.
DID Authentication - POST /vc-status/authenticate
Example request:
{
"presentation": {
"type": "VerifiablePresentation",
"holder": "<account controller's DID>",
"proof": {
"challenge": "<challenge is required>",
"type": "...",
"proofPurpose": "authentication",
"created": "...",
"verificationMethod": "<key id>",
"proofValue": "..."
}
}
}
Issue a Credential - POST /vc-status/issue
Authorization
header is required.
Example request:
{
"credential": {
}
}
Example response:
{
"verifiableCredential": {
}
}
Instance Issue Credential - POST /credentials/:profileAgentId/issueCredential
Example request:
{
"credential": {
},
"options": {
"proofPurpose": "assertionMethod",
"assertionMethod": "<key id>",
"verificationMethod": "<key id>",
"credentialStatus": {
"type": "RevocationList2020Status"
}
}
}
Update Credential Status - POST /credentials/:profileAgentId/updateCredentialStatus
Example request:
{
"credentialId": "...",
"credentialStatus": {
"type": "RevocationList2020Status"
}
}
HTTP 200 OK
Publish RLC - POST /vc-status/instances/:instanceId/rlc/:rlcId/publish
Uses either bedrock-passport
authentication, or an Authorization
header bearer token.
Example request:
{
"profileAgent": {
}
}
Example response:
HTTP 204 No Content
Get RLC - GET /vc-status/instances/:instanceId/rlc/:rlcId
No authz required.
Contribute
See the contribute file!
PRs accepted.
If editing the Readme, please conform to the standard-readme specification.
Commercial Support
Commercial support for this library is available upon request from Digital Bazaar: [email protected]
License
Bedrock Non-Commercial License v1.0 © Digital Bazaar