npm.io
0.5.6 • Published 1 week ago

@openid4vc/openid4vci

Licence
Apache-2.0
Version
0.5.6
Deps
3
Size
645 kB
Vulns
0
Weekly
0
Stars
29

@openid4vc/openid4vci

npm version License

An implementation of the OpenID for Verifiable Credential Issuance specification:

  • Authorization Code Flow and Pre-Authorized Code Flow
  • Credential format profiles vc+sd-jwt, dc+sd-jwt, mso_mdoc, jwt_vc_json, jwt_vc_json-ld, and ldp_vc (only object validation, no credential implementation)
  • Proof type jwt and attestation
  • V1.0 with backwards compatibility for draft 15, draft 14, draft 13 (ID1), and draft 11
  • Support presentation during issuance using Authorization Challenge and OpenID4VP
  • Create and verify wallet attestations based on attestation-based client authentication
  • Resolve and create signed credential issuer metadata

This package was previously developed in the oid4vc-ts repository. The @openid4vc/* packages are versioned together, separately from the other packages in this repository.

Installation

# Using npm
npm install @openid4vc/openid4vci

# Using pnpm
pnpm add @openid4vc/openid4vci

# Using yarn
yarn add @openid4vc/openid4vci

Usage

import { Openid4vciClient, Openid4vciIssuer } from '@openid4vc/openid4vci'

Dependencies

Platform Support

This library is platform agnostic and works in:

  • Node.js (>=22)
  • Browsers (modern browsers with ES2020 support)
  • React Native

The environment must provide an implementation of URL and URLSearchParams. Platform-specific functionality such as hashing, generating random bytes and signing is provided through callbacks. If no global fetch is available in your environment, it also needs to be provided through the callbacks.

Contributing

See the Contributing Guide for details on how to contribute to this project.

License

This project is licensed under the Apache License Version 2.0 (Apache-2.0).

Credits

This library was initially created by Animo as part of the SPRIN-D EUDI Wallet Prototypes Funke.

Keywords