# @inrupt/oidc-client-ext

> A module extending oidc-client-js with new features, such as dynamic client registration and DPoP support.

Latest version **5.0.0** (published 2026-06-03) · MIT license · 0 weekly downloads

## Install

```sh
npm install @inrupt/oidc-client-ext
pnpm add @inrupt/oidc-client-ext
yarn add @inrupt/oidc-client-ext
bun add @inrupt/oidc-client-ext
```

## Health

**Score 65/100 (B)** — status: active.

Positive: has types; esm support; no vulnerabilities; has provenance; high maintenance score.

Warnings: low downloads.

## Facts

| | |
|---|---|
| Version | 5.0.0 |
| Published | 2026-06-03 |
| First published | 2020-10-27 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | bundled |
| Module format | ESM + CommonJS |
| Dependencies | 4 |
| Unpacked size | 111.9 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| Provenance | attested (GitHub Actions) |
| GitHub stars | 77 |
| Maintainers | timbl, nseydoux, inrupt_ci, astrid.vazquez |

## Links

- npm: https://www.npmjs.com/package/@inrupt/oidc-client-ext
- Repository: https://github.com/inrupt/solid-client-authn-js
- Homepage: https://github.com/inrupt/solid-client-authn-js/tree/main/packages/oidc/
- Issues: https://github.com/inrupt/solid-client-authn-js/issues
- npm.io page: https://npm.io/package/@inrupt/oidc-client-ext

## Dependencies (4)

- [jose](https://npm.io/package/jose.md) ^6.2.3
- [uuid](https://npm.io/package/uuid.md) ^14.0.0
- [oidc-client-ts](https://npm.io/package/oidc-client-ts.md) ^3.5.0
- [@inrupt/solid-client-authn-core](https://npm.io/package/@inrupt/solid-client-authn-core.md) ^5.0.0

## Recent versions

- 5.0.0 (latest) — 2026-06-03
- 1.12.3-main-2788322036-11398-1659518697.0 (main) — 2022-08-03
- 1.12.3-ciremove-publish-website-workflow-2784521849-11397-1659466750.0 (ciremove-publish-website-workflow) — 2022-08-02
- 1.12.3-release-2773905896-11374-1659347618.0 (release) — 2022-08-01
- 1.12.2-choreimprove-engine-strictness-2773003795-11370-1659338596.0 (choreimprove-engine-strictness) — 2022-08-01
- 1.12.2-chorefix-vuln-2712032375-11248-1658409459.0 (chorefix-vuln) — 2022-07-21
- 1.12.2-chorefix-readme-example-link-2701228049-11236-1658273538.0 (chorefix-readme-example-link) — 2022-07-19
- 1.12.2-choredisable-production-e2e-2694400051-11224-1658191245.0 (choredisable-production-e2e) — 2022-07-19
- 1.12.2-dependabotnpmandyarnwebpack-5721-2648535353-11135-1657531182.0 (dependabotnpmandyarnwebpack-5721) — 2022-07-11
- 1.12.2-featwebworker-support-2639169291-11127-1657324386.0 (featwebworker-support) — 2022-07-08
- 1.12.2-fixGHSA-3j8f-xvm3-ffx4-2630547937-11123-1657207032.0 (fixGHSA-3j8f-xvm3-ffx4) — 2022-07-07
- 1.12.2-fixload-from-storage-client-identifier-2628440261-11120-1657185084.0 (fixload-from-storage-client-identifier) — 2022-07-07
- 1.12.2-fixsonar-dependabot-2574815324-11009-1656404726.0 (fixsonar-dependabot) — 2022-06-28
- 1.12.2-releasev1121-2570626881-10997-1656347733.0 (releasev1121) — 2022-06-27
- 1.12.1-choreupdate-release-instructions-2570458350-10985-1656345854.0 (choreupdate-release-instructions) — 2022-06-27
- … 3815 more at https://npm.io/package/@inrupt/oidc-client-ext/versions

## README

# oidc-client-ext

This library is built on top of [`oidc-client-js`](https://github.com/IdentityModel/oidc-client-js) (forked in [`@inrupt/oidc-clienr`](https://github.com/inrupt/oidc-client-js)), and adds the following features to it:

- Dynamic client registration
  [Dynamic Client Registration](https://openid.net/specs/openid-connect-registration-1_0.html) is part of the [OpenID](https://openid.net) specification and it allows OAuth client applications to dynamically register with an OAuth server.
  To learn more about how this works, you can have a look at [this page](https://curity.io/resources/architect/openid-connect/openid-connect-understanding-dcr/)

- DPoP tokens for authentication
  [DPoP](https://oauth.net/2/dpop/), or Demonstration of Proof of Possession, is part of the [OAuth 2.0](https://oauth.net/2/) spec and is an extension that describes a technique to cryptographically bind access tokens to a particular client when they are issued. This is one of many attempts at improving the security of Bearer Tokens by requiring the application using the token to authenticate itself.

This [proposed standard](https://tools.ietf.org/html/draft-fett-oauth-dpop-04) is still in draft status.
To learn more about how this works, you can have a look at [this page](https://curity.io/resources/architect/oauth/dpop-overview/)

## Other Inrupt Solid JavaScript Libraries

[`@inrupt/oidc-client-ext`](https://www.npmjs.com/package/@inrupt/oidc-client-ext) is part of a family open source JavaScript libraries designed to support developers building Solid applications.

### Solid JavaScript Authentication - solid-client-authn

`solid-client-authn` is a set of libraries designed to authenticate with Solid identity servers.
The libraries share a common API and include different modules for different deployment environments:

- `solid-client-authn-browser` can be used to help build web apps in the browser.
- `solid-client-authn-node` is **planned** to help build server-side and console-based apps.

@inrupt/solid-client-authn libraries are part of a family open source JavaScript libraries designed to support developers building Solid applications.

### Inrupt Solid JavaScript Client Libraries

#### Data access and permissions management - solid-client

[`@inrupt/solid-client`](https://docs.inrupt.com/client-libraries/solid-client-js/) allows developers to access data and manage permissions on data stored in Solid Pods.

#### Authentication - solid-client-authn

[`@inrupt/solid-client-authn`](https://github.com/inrupt/solid-client-authn) allows developers to authenticate against a Solid server. This is necessary when the resources on your Pod are not public.

#### Vocabularies and interoperability - solid-common-vocab-rdf

[`@inrupt/solid-common-vocab-rdf`](https://github.com/inrupt/solid-common-vocab-rdf) allows developers to build interoperable apps by reusing well-known vocabularies. These libraries provide vocabularies available as constants that you just have to import.

## Issues & Help

### Solid Community Forum

If you have questions about working with Solid or just want to share what you’re working on, visit the [Solid forum](https://forum.solidproject.org/). The Solid forum is a good place to meet the rest of the community.

### Bugs and Feature Requests

- For public feedback, bug reports, and feature requests please file an issue via [GitHub](https://github.com/inrupt/solid-client-authn/issues/).
- For non-public feedback or support inquiries please use the [Inrupt Service Desk](https://inrupt.atlassian.net/servicedesk).

### Node.js Support

See [Inrupt Solid Javascript Client
Libraries](https://docs.inrupt.com/developer-tools/javascript/client-libraries/#node-js-support).

### Documentation

- [Using the libraries from within the browser](./docs/browser.md)
- [Inrupt documentation Homepage](https://docs.inrupt.com/)

---
_Source: https://npm.io/package/@inrupt/oidc-client-ext · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
