Package Exports
- @bedrock/vc-status
- @bedrock/vc-status/lib/index.js
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (@bedrock/vc-status) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
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
RevocationList2020Statustype.
Security
TBD
Install
- Node.js 18+ is required.
NPM
To install via NPM:
npm install --save @bedrock/vc-statusDevelopment
To install locally (for development):
git clone https://github.com/digitalbazaar/bedrock-vc-status.git
cd bedrock-vc-status
npm installUsage
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 OKPublish 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 ContentGet 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: support@digitalbazaar.com
License
Bedrock Non-Commercial License v1.0 © Digital Bazaar