A VC Issuer API library for use with Bedrock applications.
RevocationList2020Status
type.TBD
To install via NPM:
npm install --save @bedrock/vc-issuer
To install locally (for development):
git clone https://github.com/digitalbazaar/bedrock-vc-issuer.git
cd bedrock-vc-issuer
npm install
In lib/index.js
:
import '@bedrock/vc-issuer';
Note: The use of bedrock-web-vc-issuer
client is recommended,
to create instances.
This module exposes the following API endpoints.
POST /vc-issuer/authenticate
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
Authorization
header is required.
Example request:
{
"credential": {
}
}
Example response:
{
"verifiableCredential": {
}
}
POST /credentials/:profileAgentId/issueCredential
Example request:
{
"credential": {
},
"options": {
"proofPurpose": "assertionMethod",
"assertionMethod": "<key id>",
"verificationMethod": "<key id>",
"credentialStatus": {
"type": "RevocationList2020Status"
}
}
}
POST /credentials/:profileAgentId/updateCredentialStatus
Example request:
{
"credentialId": "...",
"credentialStatus": {
"type": "RevocationList2020Status"
}
}
HTTP 200 OK
POST /vc-issuer/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 /vc-issuer/instances/:instanceId/rlc/:rlcId
No authz required.
See the contribute file!
PRs accepted.
If editing the Readme, please conform to the standard-readme specification.
Commercial support for this library is available upon request from Digital Bazaar: support@digitalbazaar.com
Bedrock Non-Commercial License v1.0 © Digital Bazaar