Bedrock Verifiable Credentials Issuer API module (bedrock-vc-issuer)
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 12+ is required.
NPM
To install via NPM:
npm install --save bedrock-vc-issuer
Development
To install locally (for development):
git clone https://github.com/digitalbazaar/bedrock-vc-issuer.git
cd bedrock-vc-issuer
npm install
Usage
In lib/index.js
(or main.js
, as appropriate):
require('bedrock-vc-issuer');
Note: The use of bedrock-web-vc-issuer
client is recommended,
to create instances.
Issuer HTTP API
This module exposes the following API endpoints.
POST /vc-issuer/authenticate
DID Authentication - Example request:
{
"presentation": {
"type": "VerifiablePresentation",
"holder": "<account controller's DID>",
"proof": {
"challenge": "<challenge is required>",
"type": "...",
"proofPurpose": "authentication",
"created": "...",
"verificationMethod": "<key id>",
"proofValue": "..."
}
}
}
POST /vc-issuer/issue
Issue a Credential - Authorization
header is required.
Example request:
{
"credential": {
}
}
Example response:
{
"verifiableCredential": {
}
}
POST /credentials/:profileAgentId/issueCredential
Instance Issue Credential - Example request:
{
"credential": {
},
"options": {
"proofPurpose": "assertionMethod",
"assertionMethod": "<key id>",
"verificationMethod": "<key id>",
"credentialStatus": {
"type": "RevocationList2020Status"
}
}
}
POST /credentials/:profileAgentId/updateCredentialStatus
Update Credential Status - Example request:
{
"credentialId": "...",
"credentialStatus": {
"type": "RevocationList2020Status"
}
}
HTTP 200 OK
POST /vc-issuer/instances/:instanceId/rlc/:rlcId/publish
Publish RLC - Uses either bedrock-passport
authentication, or an Authorization
header bearer token.
Example request:
{
"profileAgent": {
}
}
Example response:
HTTP 204 No Content
GET /vc-issuer/instances/:instanceId/rlc/:rlcId
Get RLC - 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