https://github.com/masterkale/simpledigicreds
A collection of TypeScript-first libraries for simpler Digital Credential presentation and verification. Supports modern browsers, Node, Deno, and more.
https://github.com/masterkale/simpledigicreds
Last synced: 12 months ago
JSON representation
A collection of TypeScript-first libraries for simpler Digital Credential presentation and verification. Supports modern browsers, Node, Deno, and more.
- Host: GitHub
- URL: https://github.com/masterkale/simpledigicreds
- Owner: MasterKale
- Created: 2024-12-16T05:30:07.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2024-12-16T06:21:20.000Z (over 1 year ago)
- Last Synced: 2024-12-24T22:48:01.333Z (over 1 year ago)
- Language: TypeScript
- Homepage:
- Size: 18.6 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# SimpleDigiCreds
- [Disclaimer](#disclaimer)
- [Overview](#overview)
- [Installation](#installation)
- [Supported Features](#supported-features)
- [OID4VP - All doc formats](#oid4vp---all-doc-formats)
- [OID4VP - SD-JWT-VC](#oid4vp---sd-jwt-vc)
- [Example Site](#example-site)
- [Contributions](#contributions)
- [Development](#development)
## 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](https://w3c-fedid.github.io/digital-credentials/). The following packages
are maintained here to achieve this:
- ~~[@simpledigicreds/browser](https://github.com/MasterKale/SimpleDigiCreds/tree/main/packages/browser)~~
(still pondering the necessity of this)
- [@simpledigicreds/server](https://github.com/MasterKale/SimpleDigiCreds/tree/main/packages/server)
## Installation
SimpleDigiCreds can be installed from **[NPM](https://www.npmjs.com/search?q=%40simpledigicreds)**
and **[JSR](https://jsr.io/@simpledigicreds)** 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](https://openid.net/specs/openid4vc-high-assurance-interoperability-profile-1_0-03.html#section-6))
- 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:
```sh
# 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](https://github.com/MasterKale/SimpleDigiCreds/issues/new/choose) 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](https://github.com/MasterKale/SimpleDigiCreds/issues/new/choose) 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:
```sh
$> deno install
```
To run unit tests for all workspace packages, use the `test` series of scripts:
```sh
# 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:
```sh
$> cd packages/browser/ && deno task test:watch
$> cd packages/server/ && deno task test:watch
```