Skip to content

Latest commit

 

History

History
102 lines (76 loc) · 4.52 KB

README.md

File metadata and controls

102 lines (76 loc) · 4.52 KB

OpenID for Verifiable Credentials - TypeScript

OAuth 2.0  |  OpenID for Verifiable Credential Issuance  |  OpenID for Verifiable Presentations  |  Supported Environments  |  Contributing  |  License  |  Credits


OAuth 2.0 - @openid4vc/oauth2

@openid4vc/oauth2 version

An implementation of the OAuth 2.0 Authorization Framework, including extension specifications.

import {
  ResourceServer,
  AuthorizationServer,
  Oauth2Client,
} from "@openid4vc/oauth2";

OpenID for Verifiable Credential Issuance - @openid4vc/openid4vci

@openid4vc/openid4vci version

An implementation of the OpenID for Verifiable Credential Issuance specification.

  • Authorization Code Flow and Pre-Authorized Code Flow
  • Credential format profiles vc+sd-jwt, mso_mdoc, jwt_vc_json, jwt_vc_json-ld, and ldp_vc (only object validation, no credential implementation)
  • Proof type jwt
  • Draft 14, with backwards compatibility for draft 13 (ID1), and draft 11
  • Support presentation during issuance using Authorization Challenge and OpenID4VP.
import {
  Openid4vciIssuer
  Openid4vciClient,
} from "@openid4vc/openid4vci";

OpenID for Verifiable Presentations - @openid4vc/openid4vp

@openid4vc/openid4vp version

An implementation of the OpenID for Verifiable Presentations specification.

  • Signed and unsigned requests
  • Support for respone mode direct_post, direct_post.jwt, dc_api and dc_api.jwt
  • No out of the box support for Presentation Exchange or DCQL, this needs to be provided using e.g. dcql-ts or PEX.
  • Transaction D
  • Supports Draft 24
import {
  Openid4vpVerifier
  Openid4vpClient,
} from "@openid4vc/openid4vp";

Supported Environments

This library is platform agnostic and support Node.JS, React Native and browsers out of the box, as long as it provides an implementation of URL and URLSearchParams. However because of this it is required to provide some callbacks for simple things like hashing, generate random bytes, etc. If no global fetch is available in your environment, this also need to be provided in the callbacks.

Contributing

Is there something you'd like to fix or add? Great, we love community contributions! To get involved, please follow our contribution guidelines.

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.