mirror of
https://github.com/hanzoai/openid-client.git
synced 2026-09-24 17:01:10 +00:00
BREAKING CHANGE: openid-client v6.x is a complete rewrite of the openid-client module, this is the first time since 0.1.0 (8 years ago) that the API has drastically changed. The new module structure and API focuses on three core principles:
- runtime compatibility (adding support for Deno, Cloudflare Workers, Bun, and other Web API interoperable runtimes)
- tree-shakeability (bundles should not contain features that don't end up being used)
- less options (removing support for processing deprecated response types, cutting down on the number of combinations that need to handled)
To that end openid-client@6 no longer supports the full cartesian matrix of response types and response modes, it no longer supports issuing encrypted assertions, decrypting assertions is limited to only a few algorithms, it no longer supports Dynamic Client Registration or Management, and Self-Issued OpenID Provider responses are also not supported.
The new API makes basic setups simple while allowing some degree of complexity where needed.
openid-client@6 is an ESM module using ES2022 syntax and it depends on WebCryptoAPI and Fetch API globals being available in the JS runtime.
openid-client@6 is written in TypeScript and its exported types come with comment annotations.
(Node.js) Versions 20.x and newer have all the necessary globals.
(Node.js) CJS style `let client = require('openid-client')` is possible in versions where `process.features.require_module` is `true`. This is a new Node.js feature slated to be released without a CLI flag in 23.x and 22.x
36 lines
936 B
Markdown
36 lines
936 B
Markdown
# Interface: DecryptionKey
|
|
|
|
[💗 Help the project](https://github.com/sponsors/panva)
|
|
|
|
Support from the community to continue maintaining and improving this module is welcome. If you find the module useful, please consider supporting the project by [becoming a sponsor](https://github.com/sponsors/panva).
|
|
|
|
***
|
|
|
|
## Properties
|
|
|
|
### key
|
|
|
|
• **key**: [`CryptoKey`](https://developer.mozilla.org/docs/Web/API/CryptoKey)
|
|
|
|
An asymmetric private CryptoKey. Its algorithm must be compatible with a
|
|
supported JWE Key Management Algorithm Identifier
|
|
|
|
***
|
|
|
|
### alg?
|
|
|
|
• `optional` **alg**: `string`
|
|
|
|
The key's JWE Key Management Algorithm Identifier, this can be used to
|
|
limit ECDH and X25519 keys to only a specified ECDH-ES* JWE Key Management
|
|
Algorithm (The other (RSA) keys have a JWE Key Management Algorithm
|
|
Identifier fully specified by their CryptoKey algorithm).
|
|
|
|
***
|
|
|
|
### kid?
|
|
|
|
• `optional` **kid**: `string`
|
|
|
|
The key's JWK Key ID.
|