Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/animo/oid4vc-ts

OpenID for Verifiable Credentials - TypeScript
https://github.com/animo/oid4vc-ts

Last synced: 3 days ago
JSON representation

OpenID for Verifiable Credentials - TypeScript

Awesome Lists containing this project

README

        





Animo Logo

OpenID for Verifiable Credentials - TypeScript

Powered by  



Animo Logo







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

---

## OAuth 2.0 - [`@animo-id/oauth2`](./packages/oauth2)

[![@animo-id/oauth2 version](https://img.shields.io/npm/v/@animo-id/oauth2)](https://npmjs.com/package/@animo-id/oauth2)

An implementation of the [OAuth 2.0 Authorization Framework](https://datatracker.ietf.org/doc/html/rfc6749), including extension specifications.

- [RFC 9126 - OAuth 2.0 Pushed Authorization Requests](https://datatracker.ietf.org/doc/html/rfc9126)
- [OAuth 2.0 for First-Party Applications - Draft 0](hhttps://www.ietf.org/archive/id/draft-ietf-oauth-first-party-apps-00.html)
- [RFC 7636 - Proof Key for Code Exchange by OAuth Public Clients](https://datatracker.ietf.org/doc/html/rfc7636)
- [RFC 9449 - OAuth 2.0 Demonstrating Proof of Possession (DPoP)](https://datatracker.ietf.org/doc/html/rfc9449)
- [RFC 7662 - OAuth 2.0 Token Introspection](https://datatracker.ietf.org/doc/html/rfc7662)
- [RFC 9068 JSON Web Token (JWT) Profile for OAuth 2.0 Access Tokens](https://datatracker.ietf.org/doc/html/rfc9068)
- [RFC 8707 - Resource Indicators for OAuth 2.0](https://www.rfc-editor.org/rfc/rfc8707.html)

```ts
import {
ResourceServer,
AuthorizationServer,
Oauth2Client,
} from "@animo-id/oauth2";
```

## OpenID for Verifiable Credential Issuance - [`@animo-id/oid4vc`](./packages/oid4vci)

[![@animo-id/oid4vci version](https://img.shields.io/npm/v/@animo-id/oid4vci)](https://npmjs.com/package/@animo-id/oid4vci)

An implementation of the [OpenID for Verifiable Credential Issuance](https://openid.net/specs/openid-4-verifiable-credential-issuance-1_0.html) 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.

```ts
import {
Oid4vciIssuer
Oid4vciClient,
} from "@animo-id/oid4vci";
```

## 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](./CONTRIBUTING.md).

## License

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