Skip to content

A collection of TypeScript-first libraries for simpler Digital Credential presentation and verification. Supports modern browsers, Node, Deno, and more.

Notifications You must be signed in to change notification settings

MasterKale/SimpleDigiCreds

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

75 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SimpleDigiCreds

Disclaimer

THIS PROJECT IS A WIP RIGHT NOW! THE CORE API MAY CHANGE MORE QUICKLY THAN YOU LIKE!

Overview

This project makes it easier to request presentations of ISO 18013-5 mDL and IETF SD-JWT-VC digital credentials using OID4VP (draft 24) via the Digital Credentials API. The following packages are maintained here to achieve this:

Installation

SimpleDigiCreds can be installed from NPM and JSR in Node LTS 22.x and higher, Deno 2.1 and higher projects, and other compatible runtimes (Cloudflare Workers, Bun, etc...)

See the packages' READMEs for more specific installation information.

Supported Features

OID4VP - All doc formats

  • Unencrypted requests
  • Unencrypted responses
  • Encrypted responses (following OID4VC HAIP)
  • Stateless presentation verification

OID4VP - SD-JWT-VC

  • Key binding verification

Example Site

An example site is included to help test credential presentation locally. Run the following command locally to get started:

# Deno 2.1+
$> deno task example:start

The site will be available at http://localhost:4000 to test out SimpleDigiCreds and the Digital Credentials API.

Contributions

The SimpleDigiCreds project is not currently open to external contributions.

Please submit an Issue and fill out the provided template with as much information as possible if you have found a bug in need of fixing.

You can also submit an Issue to request new features, or to suggest changes to existing features.

Development

Install the following before proceeding:

  • Deno 2.1+

After pulling down the code, set up dependencies:

$> deno install

To run unit tests for all workspace packages, use the test series of scripts:

# Run an individual package's tests
$> cd packages/browser/ && deno task test
$> cd packages/server/ && deno task test

Tests can be run in watch mode with the test:watch series of scripts:

$> cd packages/browser/ && deno task test:watch
$> cd packages/server/ && deno task test:watch

About

A collection of TypeScript-first libraries for simpler Digital Credential presentation and verification. Supports modern browsers, Node, Deno, and more.

Resources

Stars

Watchers

Forks