JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 79
  • Score
    100M100P100Q67515F

Bedrock Verifiable Credential Status Service

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)

Build Status NPM Version

A VC Issuer API library for use with Bedrock applications.

Table of Contents

Background

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: support@digitalbazaar.com

License

Bedrock Non-Commercial License v1.0 © Digital Bazaar