diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml new file mode 100644 index 0000000000..2aff957d6f --- /dev/null +++ b/.github/workflows/publish.yml @@ -0,0 +1,42 @@ +name: NPM Publish + +on: + release: + types: [published] + +jobs: + publish: + runs-on: ubuntu-latest + continue-on-error: true + strategy: + fail-fast: false + matrix: + prepare-script: + - browser + - node-cjs + - node-esm + - universal + steps: + - name: Checkout + uses: actions/checkout@v2 + - name: Setup node + uses: actions/setup-node@v2 + with: + node-version: 14 + registry-url: https://registry.npmjs.org + always-auth: true + - run: npm install --global npm@7 + - name: Load cached dist + uses: actions/cache@v2 + id: dist + with: + path: dist + key: dist-${{ hashFiles('src/**/*.ts') }}-${{ hashFiles('tsconfig/*.json') }} + - name: Prepare distribution + run: node tools/publish-${{ matrix.prepare-script }} + - run: npm whoami + env: + NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} + - run: npm publish + env: + NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index a7312b08eb..9bdc8495a3 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -4,9 +4,11 @@ on: push: paths-ignore: - "**.md" + - "tools/**" pull_request: paths-ignore: - "**.md" + - "tools/**" schedule: - cron: 0 11 * * 1-5 diff --git a/CHANGELOG.md b/CHANGELOG.md index 38ae5ebc78..caa5a4158e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,13 @@ All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines. +## [3.9.0](https://github.com/panva/jose/compare/v3.8.0...v3.9.0) (2021-03-15) + + +### Features + +* add named exports for all modules ([5cba6b0](https://github.com/panva/jose/commit/5cba6b0fdddd24c2e48623d8aaf48640b3279a43)) + ## [3.8.0](https://github.com/panva/jose/compare/v3.7.1...v3.8.0) (2021-03-12) diff --git a/README.md b/README.md index a2a32a1f4b..c48dc44017 100644 --- a/README.md +++ b/README.md @@ -54,31 +54,31 @@ npm install jose@npm:jose-browser-runtime ## Documentation - JSON Web Tokens (JWT) - - [Signing](docs/classes/_jwt_sign_.signjwt.md#readme) - - [Verification & Claims Set Validation](docs/functions/_jwt_verify_.jwtverify.md#readme) + - [Signing](docs/classes/jwt_sign.signjwt.md#readme) + - [Verification & Claims Set Validation](docs/functions/jwt_verify.jwtverify.md#readme) - Encrypted JSON Web Tokens - - [Encryption](docs/classes/_jwt_encrypt_.encryptjwt.md#readme) - - [Decryption & Claims Set Validation](docs/functions/_jwt_decrypt_.jwtdecrypt.md#readme) + - [Encryption](docs/classes/jwt_encrypt.encryptjwt.md#readme) + - [Decryption & Claims Set Validation](docs/functions/jwt_decrypt.jwtdecrypt.md#readme) - JSON Web Encryption (JWE) - - Encryption - [Compact](docs/classes/_jwe_compact_encrypt_.compactencrypt.md#readme), [Flattened](docs/classes/_jwe_flattened_encrypt_.flattenedencrypt.md#readme) - - Decryption - [Compact](docs/functions/_jwe_compact_decrypt_.compactdecrypt.md#readme), [Flattened](docs/functions/_jwe_flattened_decrypt_.flatteneddecrypt.md#readme), [General](docs/functions/_jwe_general_decrypt_.generaldecrypt.md#readme) + - Encryption - [Compact](docs/classes/jwe_compact_encrypt.compactencrypt.md#readme), [Flattened](docs/classes/jwe_flattened_encrypt.flattenedencrypt.md#readme) + - Decryption - [Compact](docs/functions/jwe_compact_decrypt.compactdecrypt.md#readme), [Flattened](docs/functions/jwe_flattened_decrypt.flatteneddecrypt.md#readme), [General](docs/functions/jwe_general_decrypt.generaldecrypt.md#readme) - JSON Web Signature (JWS) - - Signing - [Compact](docs/classes/_jws_compact_sign_.compactsign.md#readme), [Flattened](docs/classes/_jws_flattened_sign_.flattenedsign.md#readme), [General](docs/classes/_jws_general_sign_.generalsign.md#readme) - - Verification - [Compact](docs/functions/_jws_compact_verify_.compactverify.md#readme), [Flattened](docs/functions/_jws_flattened_verify_.flattenedverify.md#readme), [General](docs/functions/_jws_general_verify_.generalverify.md#readme) + - Signing - [Compact](docs/classes/jws_compact_sign.compactsign.md#readme), [Flattened](docs/classes/jws_flattened_sign.flattenedsign.md#readme), [General](docs/classes/jws_general_sign.generalsign.md#readme) + - Verification - [Compact](docs/functions/jws_compact_verify.compactverify.md#readme), [Flattened](docs/functions/jws_flattened_verify.flattenedverify.md#readme), [General](docs/functions/jws_general_verify.generalverify.md#readme) - JSON Web Key (JWK) - - [Parsing (JWK to KeyLike)](docs/functions/_jwk_parse_.parsejwk.md#readme) - - [Conversion (KeyLike to JWK)](docs/functions/_jwk_from_key_like_.fromkeylike.md#readme) - - [Thumbprints](docs/functions/_jwk_thumbprint_.calculatethumbprint.md#readme) - - [EmbeddedJWK](docs/functions/_jwk_embedded_.embeddedjwk.md#readme) + - [Parsing (JWK to KeyLike)](docs/functions/jwk_parse.parsejwk.md#readme) + - [Conversion (KeyLike to JWK)](docs/functions/jwk_from_key_like.fromkeylike.md#readme) + - [Thumbprints](docs/functions/jwk_thumbprint.calculatethumbprint.md#readme) + - [EmbeddedJWK](docs/functions/jwk_embedded.embeddedjwk.md#readme) - JSON Web Key Set (JWKS) - - [Verify using a remote JWKSet](docs/functions/_jwks_remote_.createremotejwkset.md#readme) + - [Verify using a remote JWKSet](docs/functions/jwks_remote.createremotejwkset.md#readme) - Key Pair or Secret Generation (Generate KeyLike) - - [Asymmetric Key Pair Generation](docs/functions/_util_generate_key_pair_.generatekeypair.md#readme) - - [Symmetric Secret Generation](docs/functions/_util_generate_secret_.generatesecret.md#readme) + - [Asymmetric Key Pair Generation](docs/functions/util_generate_key_pair.generatekeypair.md#readme) + - [Symmetric Secret Generation](docs/functions/util_generate_secret.generatesecret.md#readme) - Utilities - - [Decoding Token's Protected Header](docs/functions/_util_decode_protected_header_.decodeprotectedheader.md#readme) -- [Unsecured JWT](docs/classes/_jwt_unsecured_.unsecuredjwt.md#readme) -- [JOSE Errors](docs/modules/_util_errors_.md) + - [Decoding Token's Protected Header](docs/functions/util_decode_protected_header.decodeprotectedheader.md#readme) +- [Unsecured JWT](docs/classes/jwt_unsecured.unsecuredjwt.md#readme) +- [JOSE Errors](docs/modules/util_errors.md) ## Examples diff --git a/docs/README.md b/docs/README.md index af0630fa3b..ec0aa8964e 100644 --- a/docs/README.md +++ b/docs/README.md @@ -9,30 +9,30 @@ If you or your business use `jose`, please consider becoming a [sponsor][support ## Available modules - JSON Web Tokens (JWT) - - [Signing](classes/_jwt_sign_.signjwt.md#readme) - - [Verification & Claims Set Validation](functions/_jwt_verify_.jwtverify.md#readme) + - [Signing](classes/jwt_sign.signjwt.md#readme) + - [Verification & Claims Set Validation](functions/jwt_verify.jwtverify.md#readme) - Encrypted JSON Web Tokens - - [Encryption](classes/_jwt_encrypt_.encryptjwt.md#readme) - - [Decryption & Claims Set Validation](functions/_jwt_decrypt_.jwtdecrypt.md#readme) + - [Encryption](classes/jwt_encrypt.encryptjwt.md#readme) + - [Decryption & Claims Set Validation](functions/jwt_decrypt.jwtdecrypt.md#readme) - JSON Web Encryption (JWE) - - Encryption - [Compact](classes/_jwe_compact_encrypt_.compactencrypt.md#readme), [Flattened](classes/_jwe_flattened_encrypt_.flattenedencrypt.md#readme) - - Decryption - [Compact](functions/_jwe_compact_decrypt_.compactdecrypt.md#readme), [Flattened](functions/_jwe_flattened_decrypt_.flatteneddecrypt.md#readme), [General](functions/_jwe_general_decrypt_.generaldecrypt.md#readme) + - Encryption - [Compact](classes/jwe_compact_encrypt.compactencrypt.md#readme), [Flattened](classes/jwe_flattened_encrypt.flattenedencrypt.md#readme) + - Decryption - [Compact](functions/jwe_compact_decrypt.compactdecrypt.md#readme), [Flattened](functions/jwe_flattened_decrypt.flatteneddecrypt.md#readme), [General](functions/jwe_general_decrypt.generaldecrypt.md#readme) - JSON Web Signature (JWS) - - Signing - [Compact](classes/_jws_compact_sign_.compactsign.md#readme), [Flattened](classes/_jws_flattened_sign_.flattenedsign.md#readme), [General](classes/_jws_general_sign_.generalsign.md#readme) - - Verification - [Compact](functions/_jws_compact_verify_.compactverify.md#readme), [Flattened](functions/_jws_flattened_verify_.flattenedverify.md#readme), [General](functions/_jws_general_verify_.generalverify.md#readme) + - Signing - [Compact](classes/jws_compact_sign.compactsign.md#readme), [Flattened](classes/jws_flattened_sign.flattenedsign.md#readme), [General](classes/jws_general_sign.generalsign.md#readme) + - Verification - [Compact](functions/jws_compact_verify.compactverify.md#readme), [Flattened](functions/jws_flattened_verify.flattenedverify.md#readme), [General](functions/jws_general_verify.generalverify.md#readme) - JSON Web Key (JWK) - - [Parsing (JWK to KeyLike)](functions/_jwk_parse_.parsejwk.md#readme) - - [Conversion (KeyLike to JWK)](functions/_jwk_from_key_like_.fromkeylike.md#readme) - - [Thumbprints](functions/_jwk_thumbprint_.calculatethumbprint.md#readme) - - [EmbeddedJWK](functions/_jwk_embedded_.embeddedjwk.md#readme) + - [Parsing (JWK to KeyLike)](functions/jwk_parse.parsejwk.md#readme) + - [Conversion (KeyLike to JWK)](functions/jwk_from_key_like.fromkeylike.md#readme) + - [Thumbprints](functions/jwk_thumbprint.calculatethumbprint.md#readme) + - [EmbeddedJWK](functions/jwk_embedded.embeddedjwk.md#readme) - JSON Web Key Set (JWKS) - - [Verify using a remote JWKSet](functions/_jwks_remote_.createremotejwkset.md#readme) + - [Verify using a remote JWKSet](functions/jwks_remote.createremotejwkset.md#readme) - Key Pair or Secret Generation (Generate KeyLike) - - [Asymmetric Key Pair Generation](functions/_util_generate_key_pair_.generatekeypair.md#readme) - - [Symmetric Secret Generation](functions/_util_generate_secret_.generatesecret.md#readme) + - [Asymmetric Key Pair Generation](functions/util_generate_key_pair.generatekeypair.md#readme) + - [Symmetric Secret Generation](functions/util_generate_secret.generatesecret.md#readme) - Utilities - - [Decoding Token's Protected Header](functions/_util_decode_protected_header_.decodeprotectedheader.md#readme) -- [Unsecured JWT](classes/_jwt_unsecured_.unsecuredjwt.md#readme) -- [JOSE Errors](modules/_util_errors_.md) + - [Decoding Token's Protected Header](functions/util_decode_protected_header.decodeprotectedheader.md#readme) +- [Unsecured JWT](classes/jwt_unsecured.unsecuredjwt.md#readme) +- [JOSE Errors](modules/util_errors.md) [support-sponsor]: https://github.com/sponsors/panva diff --git a/docs/classes/_jwe_compact_encrypt_.compactencrypt.md b/docs/classes/_jwe_compact_encrypt_.compactencrypt.md deleted file mode 100644 index f87e123712..0000000000 --- a/docs/classes/_jwe_compact_encrypt_.compactencrypt.md +++ /dev/null @@ -1,164 +0,0 @@ -# Class: CompactEncrypt - -The CompactEncrypt class is a utility for creating Compact JWE strings. - -**`example`** -```js -// ESM import -import CompactEncrypt from 'jose/jwe/compact/encrypt' -``` - -**`example`** -```js -// CJS import -const { default: CompactEncrypt } = require('jose/jwe/compact/encrypt') -``` - -**`example`** -```js -// usage -import parseJwk from 'jose/jwk/parse' - -const encoder = new TextEncoder() - -const publicKey = await parseJwk({ - e: 'AQAB', - n: 'qpzYkTGRKSUcd12hZaJnYEKVLfdEsqu6HBAxZgRSvzLFj_zTSAEXjbf3fX47MPEHRw8NDcEXPjVOz84t4FTXYF2w2_LGWfp_myjV8pR6oUUncJjS7DhnUmTG5bpuK2HFXRMRJYz_iNR48xRJPMoY84jrnhdIFx8Tqv6w4ZHVyEvcvloPgwG3UjLidP6jmqbTiJtidVLnpQJRuFNFQJiluQXBZ1nOLC7raQshu7L9y0IatVU7vf0BPnmuSkcNNvmQkSta6ODQBPaL5-o5SW8H37vQjPDkrlJpreViNa3jqP5DB5HYUO-DMh4FegRv9gZWLDEvXpSd9A13YXCa9Q8K_w', - kty: 'RSA' -}, 'RSA-OAEP-256') - -const jwe = await new CompactEncrypt(encoder.encode('It’s a dangerous business, Frodo, going out your door.')) - .setProtectedHeader({ alg: 'RSA-OAEP-256', enc: 'A256GCM' }) - .encrypt(publicKey) - -console.log(jwe) -``` - -## Index - -### Constructors - -* [constructor](_jwe_compact_encrypt_.compactencrypt.md#constructor) - -### Methods - -* [encrypt](_jwe_compact_encrypt_.compactencrypt.md#encrypt) -* [setContentEncryptionKey](_jwe_compact_encrypt_.compactencrypt.md#setcontentencryptionkey) -* [setInitializationVector](_jwe_compact_encrypt_.compactencrypt.md#setinitializationvector) -* [setKeyManagementParameters](_jwe_compact_encrypt_.compactencrypt.md#setkeymanagementparameters) -* [setProtectedHeader](_jwe_compact_encrypt_.compactencrypt.md#setprotectedheader) - -## Constructors - -### constructor - -\+ **new CompactEncrypt**(`plaintext`: Uint8Array): [CompactEncrypt](_jwe_compact_encrypt_.compactencrypt.md) - -*Defined in [src/jwe/compact/encrypt.ts:45](https://github.com/panva/jose/blob/v3.8.0/src/jwe/compact/encrypt.ts#L45)* - -#### Parameters: - -Name | Type | Description | ------- | ------ | ------ | -`plaintext` | Uint8Array | Binary representation of the plaintext to encrypt. | - -**Returns:** [CompactEncrypt](_jwe_compact_encrypt_.compactencrypt.md) - -## Methods - -### encrypt - -▸ **encrypt**(`key`: [KeyLike](../types/_types_d_.keylike.md), `options?`: [EncryptOptions](../interfaces/_types_d_.encryptoptions.md)): Promise - -*Defined in [src/jwe/compact/encrypt.ts:108](https://github.com/panva/jose/blob/v3.8.0/src/jwe/compact/encrypt.ts#L108)* - -Encrypts and resolves the value of the Compact JWE string. - -#### Parameters: - -Name | Type | Description | ------- | ------ | ------ | -`key` | [KeyLike](../types/_types_d_.keylike.md) | Public Key or Secret to encrypt the JWE with. | -`options?` | [EncryptOptions](../interfaces/_types_d_.encryptoptions.md) | JWE Encryption options. | - -**Returns:** Promise - -___ - -### setContentEncryptionKey - -▸ **setContentEncryptionKey**(`cek`: Uint8Array): this - -*Defined in [src/jwe/compact/encrypt.ts:62](https://github.com/panva/jose/blob/v3.8.0/src/jwe/compact/encrypt.ts#L62)* - -Sets a content encryption key to use, by default a random suitable one -is generated for the JWE enc" (Encryption Algorithm) Header Parameter. -You do not need to invoke this method, it is only really intended for -test and vector validation purposes. - -#### Parameters: - -Name | Type | Description | ------- | ------ | ------ | -`cek` | Uint8Array | JWE Content Encryption Key. | - -**Returns:** this - -___ - -### setInitializationVector - -▸ **setInitializationVector**(`iv`: Uint8Array): this - -*Defined in [src/jwe/compact/encrypt.ts:75](https://github.com/panva/jose/blob/v3.8.0/src/jwe/compact/encrypt.ts#L75)* - -Sets the JWE Initialization Vector to use for content encryption, by default -a random suitable one is generated for the JWE enc" (Encryption Algorithm) -Header Parameter. You do not need to invoke this method, it is only really -intended for test and vector validation purposes. - -#### Parameters: - -Name | Type | Description | ------- | ------ | ------ | -`iv` | Uint8Array | JWE Initialization Vector. | - -**Returns:** this - -___ - -### setKeyManagementParameters - -▸ **setKeyManagementParameters**(`parameters`: [JWEKeyManagementHeaderParameters](../interfaces/_types_d_.jwekeymanagementheaderparameters.md)): this - -*Defined in [src/jwe/compact/encrypt.ts:97](https://github.com/panva/jose/blob/v3.8.0/src/jwe/compact/encrypt.ts#L97)* - -Sets the JWE Key Management parameters to be used when encrypting the Content -Encryption Key. You do not need to invoke this method, it is only really -intended for test and vector validation purposes. - -#### Parameters: - -Name | Type | Description | ------- | ------ | ------ | -`parameters` | [JWEKeyManagementHeaderParameters](../interfaces/_types_d_.jwekeymanagementheaderparameters.md) | JWE Key Management parameters. | - -**Returns:** this - -___ - -### setProtectedHeader - -▸ **setProtectedHeader**(`protectedHeader`: [JWEHeaderParameters](../interfaces/_types_d_.jweheaderparameters.md)): this - -*Defined in [src/jwe/compact/encrypt.ts:85](https://github.com/panva/jose/blob/v3.8.0/src/jwe/compact/encrypt.ts#L85)* - -Sets the JWE Protected Header on the CompactEncrypt object. - -#### Parameters: - -Name | Type | Description | ------- | ------ | ------ | -`protectedHeader` | [JWEHeaderParameters](../interfaces/_types_d_.jweheaderparameters.md) | JWE Protected Header object. | - -**Returns:** this diff --git a/docs/classes/_jwe_flattened_encrypt_.flattenedencrypt.md b/docs/classes/_jwe_flattened_encrypt_.flattenedencrypt.md deleted file mode 100644 index d1e0a31811..0000000000 --- a/docs/classes/_jwe_flattened_encrypt_.flattenedencrypt.md +++ /dev/null @@ -1,223 +0,0 @@ -# Class: FlattenedEncrypt - -The FlattenedEncrypt class is a utility for creating Flattened JWE -objects. - -**`example`** -```js -// ESM import -import FlattenedEncrypt from 'jose/jwe/flattened/encrypt' -``` - -**`example`** -```js -// CJS import -const { default: FlattenedEncrypt } = require('jose/jwe/flattened/encrypt') -``` - -**`example`** -```js -// usage -import parseJwk from 'jose/jwk/parse' - -const encoder = new TextEncoder() -const publicKey = await parseJwk({ - e: 'AQAB', - n: 'qpzYkTGRKSUcd12hZaJnYEKVLfdEsqu6HBAxZgRSvzLFj_zTSAEXjbf3fX47MPEHRw8NDcEXPjVOz84t4FTXYF2w2_LGWfp_myjV8pR6oUUncJjS7DhnUmTG5bpuK2HFXRMRJYz_iNR48xRJPMoY84jrnhdIFx8Tqv6w4ZHVyEvcvloPgwG3UjLidP6jmqbTiJtidVLnpQJRuFNFQJiluQXBZ1nOLC7raQshu7L9y0IatVU7vf0BPnmuSkcNNvmQkSta6ODQBPaL5-o5SW8H37vQjPDkrlJpreViNa3jqP5DB5HYUO-DMh4FegRv9gZWLDEvXpSd9A13YXCa9Q8K_w', - kty: 'RSA' -}, 'RSA-OAEP-256') - -const jwe = await new FlattenedEncrypt(encoder.encode('It’s a dangerous business, Frodo, going out your door.')) - .setProtectedHeader({ alg: 'RSA-OAEP-256', enc: 'A256GCM' }) - .setAdditionalAuthenticatedData(encoder.encode('The Fellowship of the Ring')) - .encrypt(publicKey) - -console.log(jwe) -``` - -## Index - -### Constructors - -* [constructor](_jwe_flattened_encrypt_.flattenedencrypt.md#constructor) - -### Methods - -* [encrypt](_jwe_flattened_encrypt_.flattenedencrypt.md#encrypt) -* [setAdditionalAuthenticatedData](_jwe_flattened_encrypt_.flattenedencrypt.md#setadditionalauthenticateddata) -* [setContentEncryptionKey](_jwe_flattened_encrypt_.flattenedencrypt.md#setcontentencryptionkey) -* [setInitializationVector](_jwe_flattened_encrypt_.flattenedencrypt.md#setinitializationvector) -* [setKeyManagementParameters](_jwe_flattened_encrypt_.flattenedencrypt.md#setkeymanagementparameters) -* [setProtectedHeader](_jwe_flattened_encrypt_.flattenedencrypt.md#setprotectedheader) -* [setSharedUnprotectedHeader](_jwe_flattened_encrypt_.flattenedencrypt.md#setsharedunprotectedheader) -* [setUnprotectedHeader](_jwe_flattened_encrypt_.flattenedencrypt.md#setunprotectedheader) - -## Constructors - -### constructor - -\+ **new FlattenedEncrypt**(`plaintext`: Uint8Array): [FlattenedEncrypt](_jwe_flattened_encrypt_.flattenedencrypt.md) - -*Defined in [src/jwe/flattened/encrypt.ts:75](https://github.com/panva/jose/blob/v3.8.0/src/jwe/flattened/encrypt.ts#L75)* - -#### Parameters: - -Name | Type | Description | ------- | ------ | ------ | -`plaintext` | Uint8Array | Binary representation of the plaintext to encrypt. | - -**Returns:** [FlattenedEncrypt](_jwe_flattened_encrypt_.flattenedencrypt.md) - -## Methods - -### encrypt - -▸ **encrypt**(`key`: [KeyLike](../types/_types_d_.keylike.md), `options?`: [EncryptOptions](../interfaces/_types_d_.encryptoptions.md)): Promise<[FlattenedJWE](../interfaces/_types_d_.flattenedjwe.md)\> - -*Defined in [src/jwe/flattened/encrypt.ts:187](https://github.com/panva/jose/blob/v3.8.0/src/jwe/flattened/encrypt.ts#L187)* - -Encrypts and resolves the value of the Flattened JWE object. - -#### Parameters: - -Name | Type | Description | ------- | ------ | ------ | -`key` | [KeyLike](../types/_types_d_.keylike.md) | Public Key or Secret to encrypt the JWE with. | -`options?` | [EncryptOptions](../interfaces/_types_d_.encryptoptions.md) | JWE Encryption options. | - -**Returns:** Promise<[FlattenedJWE](../interfaces/_types_d_.flattenedjwe.md)\> - -___ - -### setAdditionalAuthenticatedData - -▸ **setAdditionalAuthenticatedData**(`aad`: Uint8Array): this - -*Defined in [src/jwe/flattened/encrypt.ts:144](https://github.com/panva/jose/blob/v3.8.0/src/jwe/flattened/encrypt.ts#L144)* - -Sets the Additional Authenticated Data on the FlattenedEncrypt object. - -#### Parameters: - -Name | Type | Description | ------- | ------ | ------ | -`aad` | Uint8Array | Additional Authenticated Data. | - -**Returns:** this - -___ - -### setContentEncryptionKey - -▸ **setContentEncryptionKey**(`cek`: Uint8Array): this - -*Defined in [src/jwe/flattened/encrypt.ts:157](https://github.com/panva/jose/blob/v3.8.0/src/jwe/flattened/encrypt.ts#L157)* - -Sets a content encryption key to use, by default a random suitable one -is generated for the JWE enc" (Encryption Algorithm) Header Parameter. -You do not need to invoke this method, it is only really intended for -test and vector validation purposes. - -#### Parameters: - -Name | Type | Description | ------- | ------ | ------ | -`cek` | Uint8Array | JWE Content Encryption Key. | - -**Returns:** this - -___ - -### setInitializationVector - -▸ **setInitializationVector**(`iv`: Uint8Array): this - -*Defined in [src/jwe/flattened/encrypt.ts:173](https://github.com/panva/jose/blob/v3.8.0/src/jwe/flattened/encrypt.ts#L173)* - -Sets the JWE Initialization Vector to use for content encryption, by default -a random suitable one is generated for the JWE enc" (Encryption Algorithm) -Header Parameter. You do not need to invoke this method, it is only really -intended for test and vector validation purposes. - -#### Parameters: - -Name | Type | Description | ------- | ------ | ------ | -`iv` | Uint8Array | JWE Initialization Vector. | - -**Returns:** this - -___ - -### setKeyManagementParameters - -▸ **setKeyManagementParameters**(`parameters`: [JWEKeyManagementHeaderParameters](../interfaces/_types_d_.jwekeymanagementheaderparameters.md)): this - -*Defined in [src/jwe/flattened/encrypt.ts:92](https://github.com/panva/jose/blob/v3.8.0/src/jwe/flattened/encrypt.ts#L92)* - -Sets the JWE Key Management parameters to be used when encrypting. -Use of this is method is really only needed for ECDH-ES based algorithms -when utilizing the Agreement PartyUInfo or Agreement PartyVInfo parameters. -Other parameters will always be randomly generated when needed and missing. - -#### Parameters: - -Name | Type | Description | ------- | ------ | ------ | -`parameters` | [JWEKeyManagementHeaderParameters](../interfaces/_types_d_.jwekeymanagementheaderparameters.md) | JWE Key Management parameters. | - -**Returns:** this - -___ - -### setProtectedHeader - -▸ **setProtectedHeader**(`protectedHeader`: [JWEHeaderParameters](../interfaces/_types_d_.jweheaderparameters.md)): this - -*Defined in [src/jwe/flattened/encrypt.ts:105](https://github.com/panva/jose/blob/v3.8.0/src/jwe/flattened/encrypt.ts#L105)* - -Sets the JWE Protected Header on the FlattenedEncrypt object. - -#### Parameters: - -Name | Type | Description | ------- | ------ | ------ | -`protectedHeader` | [JWEHeaderParameters](../interfaces/_types_d_.jweheaderparameters.md) | JWE Protected Header. | - -**Returns:** this - -___ - -### setSharedUnprotectedHeader - -▸ **setSharedUnprotectedHeader**(`sharedUnprotectedHeader`: [JWEHeaderParameters](../interfaces/_types_d_.jweheaderparameters.md)): this - -*Defined in [src/jwe/flattened/encrypt.ts:118](https://github.com/panva/jose/blob/v3.8.0/src/jwe/flattened/encrypt.ts#L118)* - -Sets the JWE Shared Unprotected Header on the FlattenedEncrypt object. - -#### Parameters: - -Name | Type | Description | ------- | ------ | ------ | -`sharedUnprotectedHeader` | [JWEHeaderParameters](../interfaces/_types_d_.jweheaderparameters.md) | JWE Shared Unprotected Header. | - -**Returns:** this - -___ - -### setUnprotectedHeader - -▸ **setUnprotectedHeader**(`unprotectedHeader`: [JWEHeaderParameters](../interfaces/_types_d_.jweheaderparameters.md)): this - -*Defined in [src/jwe/flattened/encrypt.ts:131](https://github.com/panva/jose/blob/v3.8.0/src/jwe/flattened/encrypt.ts#L131)* - -Sets the JWE Per-Recipient Unprotected Header on the FlattenedEncrypt object. - -#### Parameters: - -Name | Type | Description | ------- | ------ | ------ | -`unprotectedHeader` | [JWEHeaderParameters](../interfaces/_types_d_.jweheaderparameters.md) | JWE Per-Recipient Unprotected Header. | - -**Returns:** this diff --git a/docs/classes/_jws_compact_sign_.compactsign.md b/docs/classes/_jws_compact_sign_.compactsign.md deleted file mode 100644 index 825346e966..0000000000 --- a/docs/classes/_jws_compact_sign_.compactsign.md +++ /dev/null @@ -1,101 +0,0 @@ -# Class: CompactSign - -The CompactSign class is a utility for creating Compact JWS strings. - -**`example`** -```js -// ESM import -import CompactSign from 'jose/jws/compact/sign' -``` - -**`example`** -```js -// CJS import -const { default: CompactSign } = require('jose/jws/compact/sign') -``` - -**`example`** -```js -// usage -import parseJwk from 'jose/jwk/parse' - -const encoder = new TextEncoder() -const privateKey = await parseJwk({ - alg: 'ES256', - crv: 'P-256', - kty: 'EC', - d: 'VhsfgSRKcvHCGpLyygMbO_YpXc7bVKwi12KQTE4yOR4', - x: 'ySK38C1jBdLwDsNWKzzBHqKYEE5Cgv-qjWvorUXk9fw', - y: '_LeQBw07cf5t57Iavn4j-BqJsAD1dpoz8gokd3sBsOo' -}) - -const jws = await new CompactSign(encoder.encode('It’s a dangerous business, Frodo, going out your door.')) - .setProtectedHeader({ alg: 'ES256' }) - .sign(privateKey) - -console.log(jws) -``` - -## Index - -### Constructors - -* [constructor](_jws_compact_sign_.compactsign.md#constructor) - -### Methods - -* [setProtectedHeader](_jws_compact_sign_.compactsign.md#setprotectedheader) -* [sign](_jws_compact_sign_.compactsign.md#sign) - -## Constructors - -### constructor - -\+ **new CompactSign**(`payload`: Uint8Array): [CompactSign](_jws_compact_sign_.compactsign.md) - -*Defined in [src/jws/compact/sign.ts:44](https://github.com/panva/jose/blob/v3.8.0/src/jws/compact/sign.ts#L44)* - -#### Parameters: - -Name | Type | Description | ------- | ------ | ------ | -`payload` | Uint8Array | Binary representation of the payload to sign. | - -**Returns:** [CompactSign](_jws_compact_sign_.compactsign.md) - -## Methods - -### setProtectedHeader - -▸ **setProtectedHeader**(`protectedHeader`: [JWSHeaderParameters](../interfaces/_types_d_.jwsheaderparameters.md)): this - -*Defined in [src/jws/compact/sign.ts:58](https://github.com/panva/jose/blob/v3.8.0/src/jws/compact/sign.ts#L58)* - -Sets the JWS Protected Header on the Sign object. - -#### Parameters: - -Name | Type | Description | ------- | ------ | ------ | -`protectedHeader` | [JWSHeaderParameters](../interfaces/_types_d_.jwsheaderparameters.md) | JWS Protected Header. | - -**Returns:** this - -___ - -### sign - -▸ **sign**(`key`: [KeyLike](../types/_types_d_.keylike.md), `options?`: [SignOptions](../interfaces/_types_d_.signoptions.md)): Promise - -*Defined in [src/jws/compact/sign.ts:69](https://github.com/panva/jose/blob/v3.8.0/src/jws/compact/sign.ts#L69)* - -Signs and resolves the value of the Compact JWS string. - -#### Parameters: - -Name | Type | Description | ------- | ------ | ------ | -`key` | [KeyLike](../types/_types_d_.keylike.md) | Private Key or Secret to sign the JWS with. | -`options?` | [SignOptions](../interfaces/_types_d_.signoptions.md) | JWS Sign options. | - -**Returns:** Promise diff --git a/docs/classes/_jws_flattened_sign_.flattenedsign.md b/docs/classes/_jws_flattened_sign_.flattenedsign.md deleted file mode 100644 index b15c09f182..0000000000 --- a/docs/classes/_jws_flattened_sign_.flattenedsign.md +++ /dev/null @@ -1,119 +0,0 @@ -# Class: FlattenedSign - -The FlattenedSign class is a utility for creating Flattened JWS objects. - -**`example`** -```js -// ESM import -import FlattenedSign from 'jose/jws/flattened/sign' -``` - -**`example`** -```js -// CJS import -const { default: FlattenedSign } = require('jose/jws/flattened/sign') -``` - -**`example`** -```js -// usage -import parseJwk from 'jose/jwk/parse' - -const encoder = new TextEncoder() -const privateKey = await parseJwk({ - alg: 'ES256', - crv: 'P-256', - kty: 'EC', - d: 'VhsfgSRKcvHCGpLyygMbO_YpXc7bVKwi12KQTE4yOR4', - x: 'ySK38C1jBdLwDsNWKzzBHqKYEE5Cgv-qjWvorUXk9fw', - y: '_LeQBw07cf5t57Iavn4j-BqJsAD1dpoz8gokd3sBsOo' -}) - -const jws = await new FlattenedSign(encoder.encode('It’s a dangerous business, Frodo, going out your door.')) - .setProtectedHeader({ alg: 'ES256' }) - .sign(privateKey) -console.log(jws) -``` - -## Index - -### Constructors - -* [constructor](_jws_flattened_sign_.flattenedsign.md#constructor) - -### Methods - -* [setProtectedHeader](_jws_flattened_sign_.flattenedsign.md#setprotectedheader) -* [setUnprotectedHeader](_jws_flattened_sign_.flattenedsign.md#setunprotectedheader) -* [sign](_jws_flattened_sign_.flattenedsign.md#sign) - -## Constructors - -### constructor - -\+ **new FlattenedSign**(`payload`: Uint8Array): [FlattenedSign](_jws_flattened_sign_.flattenedsign.md) - -*Defined in [src/jws/flattened/sign.ts:56](https://github.com/panva/jose/blob/v3.8.0/src/jws/flattened/sign.ts#L56)* - -#### Parameters: - -Name | Type | Description | ------- | ------ | ------ | -`payload` | Uint8Array | Binary representation of the payload to sign. | - -**Returns:** [FlattenedSign](_jws_flattened_sign_.flattenedsign.md) - -## Methods - -### setProtectedHeader - -▸ **setProtectedHeader**(`protectedHeader`: [JWSHeaderParameters](../interfaces/_types_d_.jwsheaderparameters.md)): this - -*Defined in [src/jws/flattened/sign.ts:70](https://github.com/panva/jose/blob/v3.8.0/src/jws/flattened/sign.ts#L70)* - -Sets the JWS Protected Header on the FlattenedSign object. - -#### Parameters: - -Name | Type | Description | ------- | ------ | ------ | -`protectedHeader` | [JWSHeaderParameters](../interfaces/_types_d_.jwsheaderparameters.md) | JWS Protected Header. | - -**Returns:** this - -___ - -### setUnprotectedHeader - -▸ **setUnprotectedHeader**(`unprotectedHeader`: [JWSHeaderParameters](../interfaces/_types_d_.jwsheaderparameters.md)): this - -*Defined in [src/jws/flattened/sign.ts:83](https://github.com/panva/jose/blob/v3.8.0/src/jws/flattened/sign.ts#L83)* - -Sets the JWS Unprotected Header on the FlattenedSign object. - -#### Parameters: - -Name | Type | Description | ------- | ------ | ------ | -`unprotectedHeader` | [JWSHeaderParameters](../interfaces/_types_d_.jwsheaderparameters.md) | JWS Unprotected Header. | - -**Returns:** this - -___ - -### sign - -▸ **sign**(`key`: [KeyLike](../types/_types_d_.keylike.md), `options?`: [SignOptions](../interfaces/_types_d_.signoptions.md)): Promise<[FlattenedJWS](../interfaces/_types_d_.flattenedjws.md)\> - -*Defined in [src/jws/flattened/sign.ts:97](https://github.com/panva/jose/blob/v3.8.0/src/jws/flattened/sign.ts#L97)* - -Signs and resolves the value of the Flattened JWS object. - -#### Parameters: - -Name | Type | Description | ------- | ------ | ------ | -`key` | [KeyLike](../types/_types_d_.keylike.md) | Private Key or Secret to sign the JWS with. | -`options?` | [SignOptions](../interfaces/_types_d_.signoptions.md) | JWS Sign options. | - -**Returns:** Promise<[FlattenedJWS](../interfaces/_types_d_.flattenedjws.md)\> diff --git a/docs/classes/_jwt_encrypt_.encryptjwt.md b/docs/classes/_jwt_encrypt_.encryptjwt.md deleted file mode 100644 index 553ce62a91..0000000000 --- a/docs/classes/_jwt_encrypt_.encryptjwt.md +++ /dev/null @@ -1,340 +0,0 @@ -# Class: EncryptJWT - -The EncryptJWT class is a utility for creating Compact JWE formatted JWT strings. - -**`example`** -```js -// ESM import -import EncryptJWT from 'jose/jwt/encrypt' -``` - -**`example`** -```js -// CJS import -const { default: EncryptJWT } = require('jose/jwt/encrypt') -``` - -**`example`** -```js -// usage -const secretKey = Uint8Array.from([ - 206, 203, 53, 165, 235, 214, 153, 188, - 248, 225, 1, 132, 105, 204, 75, 42, - 186, 185, 24, 223, 136, 66, 116, 59, - 183, 155, 52, 52, 101, 167, 201, 85 -]) -const jwt = await new EncryptJWT({ 'urn:example:claim': true }) - .setProtectedHeader({ alg: 'dir', enc: 'A256GCM' }) - .setIssuedAt() - .setIssuer('urn:example:issuer') - .setAudience('urn:example:audience') - .setExpirationTime('2h') - .encrypt(secretKey) - -console.log(jwt) -``` - -## Index - -### Constructors - -* [constructor](_jwt_encrypt_.encryptjwt.md#constructor) - -### Methods - -* [encrypt](_jwt_encrypt_.encryptjwt.md#encrypt) -* [replicateAudienceAsHeader](_jwt_encrypt_.encryptjwt.md#replicateaudienceasheader) -* [replicateIssuerAsHeader](_jwt_encrypt_.encryptjwt.md#replicateissuerasheader) -* [replicateSubjectAsHeader](_jwt_encrypt_.encryptjwt.md#replicatesubjectasheader) -* [setAudience](_jwt_encrypt_.encryptjwt.md#setaudience) -* [setContentEncryptionKey](_jwt_encrypt_.encryptjwt.md#setcontentencryptionkey) -* [setExpirationTime](_jwt_encrypt_.encryptjwt.md#setexpirationtime) -* [setInitializationVector](_jwt_encrypt_.encryptjwt.md#setinitializationvector) -* [setIssuedAt](_jwt_encrypt_.encryptjwt.md#setissuedat) -* [setIssuer](_jwt_encrypt_.encryptjwt.md#setissuer) -* [setJti](_jwt_encrypt_.encryptjwt.md#setjti) -* [setKeyManagementParameters](_jwt_encrypt_.encryptjwt.md#setkeymanagementparameters) -* [setNotBefore](_jwt_encrypt_.encryptjwt.md#setnotbefore) -* [setProtectedHeader](_jwt_encrypt_.encryptjwt.md#setprotectedheader) -* [setSubject](_jwt_encrypt_.encryptjwt.md#setsubject) - -## Constructors - -### constructor - -\+ **new EncryptJWT**(`payload`: [JWTPayload](../interfaces/_types_d_.jwtpayload.md)): [EncryptJWT](_jwt_encrypt_.encryptjwt.md) - -*Defined in [src/lib/jwt_producer.ts:10](https://github.com/panva/jose/blob/v3.8.0/src/lib/jwt_producer.ts#L10)* - -#### Parameters: - -Name | Type | Description | ------- | ------ | ------ | -`payload` | [JWTPayload](../interfaces/_types_d_.jwtpayload.md) | The JWT Claims Set object. | - -**Returns:** [EncryptJWT](_jwt_encrypt_.encryptjwt.md) - -## Methods - -### encrypt - -▸ **encrypt**(`key`: [KeyLike](../types/_types_d_.keylike.md), `options?`: [EncryptOptions](../interfaces/_types_d_.encryptoptions.md)): Promise - -*Defined in [src/jwt/encrypt.ts:160](https://github.com/panva/jose/blob/v3.8.0/src/jwt/encrypt.ts#L160)* - -Encrypts and returns the JWT. - -#### Parameters: - -Name | Type | Description | ------- | ------ | ------ | -`key` | [KeyLike](../types/_types_d_.keylike.md) | Public Key or Secret to encrypt the JWT with. | -`options?` | [EncryptOptions](../interfaces/_types_d_.encryptoptions.md) | JWE Encryption options. | - -**Returns:** Promise - -___ - -### replicateAudienceAsHeader - -▸ **replicateAudienceAsHeader**(): this - -*Defined in [src/jwt/encrypt.ts:149](https://github.com/panva/jose/blob/v3.8.0/src/jwt/encrypt.ts#L149)* - -Replicates the "aud" (Audience) Claim as a JWE Protected Header Parameter as per -[RFC7519#section-5.3](https://tools.ietf.org/html/rfc7519#section-5.3). - -**Returns:** this - -___ - -### replicateIssuerAsHeader - -▸ **replicateIssuerAsHeader**(): this - -*Defined in [src/jwt/encrypt.ts:131](https://github.com/panva/jose/blob/v3.8.0/src/jwt/encrypt.ts#L131)* - -Replicates the "iss" (Issuer) Claim as a JWE Protected Header Parameter as per -[RFC7519#section-5.3](https://tools.ietf.org/html/rfc7519#section-5.3). - -**Returns:** this - -___ - -### replicateSubjectAsHeader - -▸ **replicateSubjectAsHeader**(): this - -*Defined in [src/jwt/encrypt.ts:140](https://github.com/panva/jose/blob/v3.8.0/src/jwt/encrypt.ts#L140)* - -Replicates the "sub" (Subject) Claim as a JWE Protected Header Parameter as per -[RFC7519#section-5.3](https://tools.ietf.org/html/rfc7519#section-5.3). - -**Returns:** this - -___ - -### setAudience - -▸ **setAudience**(`audience`: string \| string[]): this - -*Defined in [src/lib/jwt_producer.ts:47](https://github.com/panva/jose/blob/v3.8.0/src/lib/jwt_producer.ts#L47)* - -Set "aud" (Audience) Claim. - -#### Parameters: - -Name | Type | Description | ------- | ------ | ------ | -`audience` | string \| string[] | "aud" (Audience) Claim value to set on the JWT Claims Set. | - -**Returns:** this - -___ - -### setContentEncryptionKey - -▸ **setContentEncryptionKey**(`cek`: Uint8Array): this - -*Defined in [src/jwt/encrypt.ts:103](https://github.com/panva/jose/blob/v3.8.0/src/jwt/encrypt.ts#L103)* - -Sets a content encryption key to use, by default a random suitable one -is generated for the JWE enc" (Encryption Algorithm) Header Parameter. -You do not need to invoke this method, it is only really intended for -test and vector validation purposes. - -#### Parameters: - -Name | Type | Description | ------- | ------ | ------ | -`cek` | Uint8Array | JWE Content Encryption Key. | - -**Returns:** this - -___ - -### setExpirationTime - -▸ **setExpirationTime**(`input`: number \| string): this - -*Defined in [src/lib/jwt_producer.ts:85](https://github.com/panva/jose/blob/v3.8.0/src/lib/jwt_producer.ts#L85)* - -Set "exp" (Expiration Time) Claim. - -#### Parameters: - -Name | Type | Description | ------- | ------ | ------ | -`input` | number \| string | "exp" (Expiration Time) Claim value to set on the JWT Claims Set. When number is passed that is used as a value, when string is passed it is resolved to a time span and added to the current timestamp. | - -**Returns:** this - -___ - -### setInitializationVector - -▸ **setInitializationVector**(`iv`: Uint8Array): this - -*Defined in [src/jwt/encrypt.ts:119](https://github.com/panva/jose/blob/v3.8.0/src/jwt/encrypt.ts#L119)* - -Sets the JWE Initialization Vector to use for content encryption, by default -a random suitable one is generated for the JWE enc" (Encryption Algorithm) -Header Parameter. You do not need to invoke this method, it is only really -intended for test and vector validation purposes. - -#### Parameters: - -Name | Type | Description | ------- | ------ | ------ | -`iv` | Uint8Array | JWE Initialization Vector. | - -**Returns:** this - -___ - -### setIssuedAt - -▸ **setIssuedAt**(`input?`: number): this - -*Defined in [src/lib/jwt_producer.ts:100](https://github.com/panva/jose/blob/v3.8.0/src/lib/jwt_producer.ts#L100)* - -Set "iat" (Issued At) Claim. - -#### Parameters: - -Name | Type | Description | ------- | ------ | ------ | -`input?` | number | "iat" (Issued At) Claim value to set on the JWT Claims Set. Default is current timestamp. | - -**Returns:** this - -___ - -### setIssuer - -▸ **setIssuer**(`issuer`: string): this - -*Defined in [src/lib/jwt_producer.ts:27](https://github.com/panva/jose/blob/v3.8.0/src/lib/jwt_producer.ts#L27)* - -Set "iss" (Issuer) Claim. - -#### Parameters: - -Name | Type | Description | ------- | ------ | ------ | -`issuer` | string | "Issuer" Claim value to set on the JWT Claims Set. | - -**Returns:** this - -___ - -### setJti - -▸ **setJti**(`jwtId`: string): this - -*Defined in [src/lib/jwt_producer.ts:57](https://github.com/panva/jose/blob/v3.8.0/src/lib/jwt_producer.ts#L57)* - -Set "jti" (JWT ID) Claim. - -#### Parameters: - -Name | Type | Description | ------- | ------ | ------ | -`jwtId` | string | "jti" (JWT ID) Claim value to set on the JWT Claims Set. | - -**Returns:** this - -___ - -### setKeyManagementParameters - -▸ **setKeyManagementParameters**(`parameters`: [JWEKeyManagementHeaderParameters](../interfaces/_types_d_.jwekeymanagementheaderparameters.md)): this - -*Defined in [src/jwt/encrypt.ts:87](https://github.com/panva/jose/blob/v3.8.0/src/jwt/encrypt.ts#L87)* - -Sets the JWE Key Management parameters to be used when encrypting. -Use of this is method is really only needed for ECDH-ES based algorithms -when utilizing the Agreement PartyUInfo or Agreement PartyVInfo parameters. -Other parameters will always be randomly generated when needed and missing. - -#### Parameters: - -Name | Type | Description | ------- | ------ | ------ | -`parameters` | [JWEKeyManagementHeaderParameters](../interfaces/_types_d_.jwekeymanagementheaderparameters.md) | JWE Key Management parameters. | - -**Returns:** this - -___ - -### setNotBefore - -▸ **setNotBefore**(`input`: number \| string): this - -*Defined in [src/lib/jwt_producer.ts:69](https://github.com/panva/jose/blob/v3.8.0/src/lib/jwt_producer.ts#L69)* - -Set "nbf" (Not Before) Claim. - -#### Parameters: - -Name | Type | Description | ------- | ------ | ------ | -`input` | number \| string | "nbf" (Not Before) Claim value to set on the JWT Claims Set. When number is passed that is used as a value, when string is passed it is resolved to a time span and added to the current timestamp. | - -**Returns:** this - -___ - -### setProtectedHeader - -▸ **setProtectedHeader**(`protectedHeader`: [JWEHeaderParameters](../interfaces/_types_d_.jweheaderparameters.md)): this - -*Defined in [src/jwt/encrypt.ts:71](https://github.com/panva/jose/blob/v3.8.0/src/jwt/encrypt.ts#L71)* - -Sets the JWE Protected Header on the EncryptJWT object. - -#### Parameters: - -Name | Type | Description | ------- | ------ | ------ | -`protectedHeader` | [JWEHeaderParameters](../interfaces/_types_d_.jweheaderparameters.md) | JWE Protected Header. Must contain an "alg" (JWE Algorithm) and "enc" (JWE Encryption Algorithm) properties. | - -**Returns:** this - -___ - -### setSubject - -▸ **setSubject**(`subject`: string): this - -*Defined in [src/lib/jwt_producer.ts:37](https://github.com/panva/jose/blob/v3.8.0/src/lib/jwt_producer.ts#L37)* - -Set "sub" (Subject) Claim. - -#### Parameters: - -Name | Type | Description | ------- | ------ | ------ | -`subject` | string | "sub" (Subject) Claim value to set on the JWT Claims Set. | - -**Returns:** this diff --git a/docs/classes/_jwt_sign_.signjwt.md b/docs/classes/_jwt_sign_.signjwt.md deleted file mode 100644 index 9fc35a69d8..0000000000 --- a/docs/classes/_jwt_sign_.signjwt.md +++ /dev/null @@ -1,237 +0,0 @@ -# Class: SignJWT - -The SignJWT class is a utility for creating Compact JWS formatted JWT strings. - -**`example`** -```js -// ESM import -import SignJWT from 'jose/jwt/sign' -``` - -**`example`** -```js -// CJS import -const { default: SignJWT } = require('jose/jwt/sign') -``` - -**`example`** -```js -// usage -import parseJwk from 'jose/jwk/parse' - -const privateKey = await parseJwk({ - alg: 'ES256', - crv: 'P-256', - kty: 'EC', - d: 'VhsfgSRKcvHCGpLyygMbO_YpXc7bVKwi12KQTE4yOR4', - x: 'ySK38C1jBdLwDsNWKzzBHqKYEE5Cgv-qjWvorUXk9fw', - y: '_LeQBw07cf5t57Iavn4j-BqJsAD1dpoz8gokd3sBsOo' -}) - -const jwt = await new SignJWT({ 'urn:example:claim': true }) - .setProtectedHeader({ alg: 'ES256' }) - .setIssuedAt() - .setIssuer('urn:example:issuer') - .setAudience('urn:example:audience') - .setExpirationTime('2h') - .sign(privateKey) - -console.log(jwt) -``` - -## Index - -### Constructors - -* [constructor](_jwt_sign_.signjwt.md#constructor) - -### Methods - -* [setAudience](_jwt_sign_.signjwt.md#setaudience) -* [setExpirationTime](_jwt_sign_.signjwt.md#setexpirationtime) -* [setIssuedAt](_jwt_sign_.signjwt.md#setissuedat) -* [setIssuer](_jwt_sign_.signjwt.md#setissuer) -* [setJti](_jwt_sign_.signjwt.md#setjti) -* [setNotBefore](_jwt_sign_.signjwt.md#setnotbefore) -* [setProtectedHeader](_jwt_sign_.signjwt.md#setprotectedheader) -* [setSubject](_jwt_sign_.signjwt.md#setsubject) -* [sign](_jwt_sign_.signjwt.md#sign) - -## Constructors - -### constructor - -\+ **new SignJWT**(`payload`: [JWTPayload](../interfaces/_types_d_.jwtpayload.md)): [SignJWT](_jwt_sign_.signjwt.md) - -*Defined in [src/lib/jwt_producer.ts:10](https://github.com/panva/jose/blob/v3.8.0/src/lib/jwt_producer.ts#L10)* - -#### Parameters: - -Name | Type | Description | ------- | ------ | ------ | -`payload` | [JWTPayload](../interfaces/_types_d_.jwtpayload.md) | The JWT Claims Set object. | - -**Returns:** [SignJWT](_jwt_sign_.signjwt.md) - -## Methods - -### setAudience - -▸ **setAudience**(`audience`: string \| string[]): this - -*Defined in [src/lib/jwt_producer.ts:47](https://github.com/panva/jose/blob/v3.8.0/src/lib/jwt_producer.ts#L47)* - -Set "aud" (Audience) Claim. - -#### Parameters: - -Name | Type | Description | ------- | ------ | ------ | -`audience` | string \| string[] | "aud" (Audience) Claim value to set on the JWT Claims Set. | - -**Returns:** this - -___ - -### setExpirationTime - -▸ **setExpirationTime**(`input`: number \| string): this - -*Defined in [src/lib/jwt_producer.ts:85](https://github.com/panva/jose/blob/v3.8.0/src/lib/jwt_producer.ts#L85)* - -Set "exp" (Expiration Time) Claim. - -#### Parameters: - -Name | Type | Description | ------- | ------ | ------ | -`input` | number \| string | "exp" (Expiration Time) Claim value to set on the JWT Claims Set. When number is passed that is used as a value, when string is passed it is resolved to a time span and added to the current timestamp. | - -**Returns:** this - -___ - -### setIssuedAt - -▸ **setIssuedAt**(`input?`: number): this - -*Defined in [src/lib/jwt_producer.ts:100](https://github.com/panva/jose/blob/v3.8.0/src/lib/jwt_producer.ts#L100)* - -Set "iat" (Issued At) Claim. - -#### Parameters: - -Name | Type | Description | ------- | ------ | ------ | -`input?` | number | "iat" (Issued At) Claim value to set on the JWT Claims Set. Default is current timestamp. | - -**Returns:** this - -___ - -### setIssuer - -▸ **setIssuer**(`issuer`: string): this - -*Defined in [src/lib/jwt_producer.ts:27](https://github.com/panva/jose/blob/v3.8.0/src/lib/jwt_producer.ts#L27)* - -Set "iss" (Issuer) Claim. - -#### Parameters: - -Name | Type | Description | ------- | ------ | ------ | -`issuer` | string | "Issuer" Claim value to set on the JWT Claims Set. | - -**Returns:** this - -___ - -### setJti - -▸ **setJti**(`jwtId`: string): this - -*Defined in [src/lib/jwt_producer.ts:57](https://github.com/panva/jose/blob/v3.8.0/src/lib/jwt_producer.ts#L57)* - -Set "jti" (JWT ID) Claim. - -#### Parameters: - -Name | Type | Description | ------- | ------ | ------ | -`jwtId` | string | "jti" (JWT ID) Claim value to set on the JWT Claims Set. | - -**Returns:** this - -___ - -### setNotBefore - -▸ **setNotBefore**(`input`: number \| string): this - -*Defined in [src/lib/jwt_producer.ts:69](https://github.com/panva/jose/blob/v3.8.0/src/lib/jwt_producer.ts#L69)* - -Set "nbf" (Not Before) Claim. - -#### Parameters: - -Name | Type | Description | ------- | ------ | ------ | -`input` | number \| string | "nbf" (Not Before) Claim value to set on the JWT Claims Set. When number is passed that is used as a value, when string is passed it is resolved to a time span and added to the current timestamp. | - -**Returns:** this - -___ - -### setProtectedHeader - -▸ **setProtectedHeader**(`protectedHeader`: [JWSHeaderParameters](../interfaces/_types_d_.jwsheaderparameters.md)): this - -*Defined in [src/jwt/sign.ts:57](https://github.com/panva/jose/blob/v3.8.0/src/jwt/sign.ts#L57)* - -Sets the JWS Protected Header on the SignJWT object. - -#### Parameters: - -Name | Type | Description | ------- | ------ | ------ | -`protectedHeader` | [JWSHeaderParameters](../interfaces/_types_d_.jwsheaderparameters.md) | JWS Protected Header. | - -**Returns:** this - -___ - -### setSubject - -▸ **setSubject**(`subject`: string): this - -*Defined in [src/lib/jwt_producer.ts:37](https://github.com/panva/jose/blob/v3.8.0/src/lib/jwt_producer.ts#L37)* - -Set "sub" (Subject) Claim. - -#### Parameters: - -Name | Type | Description | ------- | ------ | ------ | -`subject` | string | "sub" (Subject) Claim value to set on the JWT Claims Set. | - -**Returns:** this - -___ - -### sign - -▸ **sign**(`key`: [KeyLike](../types/_types_d_.keylike.md), `options?`: [SignOptions](../interfaces/_types_d_.signoptions.md)): Promise - -*Defined in [src/jwt/sign.ts:68](https://github.com/panva/jose/blob/v3.8.0/src/jwt/sign.ts#L68)* - -Signs and returns the JWT. - -#### Parameters: - -Name | Type | Description | ------- | ------ | ------ | -`key` | [KeyLike](../types/_types_d_.keylike.md) | Private Key or Secret to sign the JWT with. | -`options?` | [SignOptions](../interfaces/_types_d_.signoptions.md) | JWT Sign options. | - -**Returns:** Promise diff --git a/docs/classes/_jwt_unsecured_.unsecuredjwt.md b/docs/classes/_jwt_unsecured_.unsecuredjwt.md deleted file mode 100644 index 13c6bb08bb..0000000000 --- a/docs/classes/_jwt_unsecured_.unsecuredjwt.md +++ /dev/null @@ -1,246 +0,0 @@ -# Class: UnsecuredJWT - -The UnsecuredJWT class is a utility for dealing with `{ "alg": "none" }` Unsecured JWTs. - -**`example`** -```js -// ESM import -import UnsecuredJWT from 'jose/jwt/unsecured' -``` - -**`example`** -```js -// CJS import -const { default: UnsecuredJWT } = require('jose/jwt/unsecured') -``` - -**`example`** -```js -// encoding - -const unsecuredJwt = new UnsecuredJWT({ 'urn:example:claim': true }) - .setIssuedAt() - .setIssuer('urn:example:issuer') - .setAudience('urn:example:audience') - .setExpirationTime('2h') - .encode() - -console.log(unsecuredJwt) -``` - -**`example`** -```js -// decoding - -const payload = new UnsecuredJWT.decode(jwt, { - issuer: 'urn:example:issuer', - audience: 'urn:example:audience' -}) - -console.log(payload) -``` - -## Index - -### Constructors - -* [constructor](_jwt_unsecured_.unsecuredjwt.md#constructor) - -### Methods - -* [encode](_jwt_unsecured_.unsecuredjwt.md#encode) -* [setAudience](_jwt_unsecured_.unsecuredjwt.md#setaudience) -* [setExpirationTime](_jwt_unsecured_.unsecuredjwt.md#setexpirationtime) -* [setIssuedAt](_jwt_unsecured_.unsecuredjwt.md#setissuedat) -* [setIssuer](_jwt_unsecured_.unsecuredjwt.md#setissuer) -* [setJti](_jwt_unsecured_.unsecuredjwt.md#setjti) -* [setNotBefore](_jwt_unsecured_.unsecuredjwt.md#setnotbefore) -* [setSubject](_jwt_unsecured_.unsecuredjwt.md#setsubject) -* [decode](_jwt_unsecured_.unsecuredjwt.md#decode) - -## Constructors - -### constructor - -\+ **new UnsecuredJWT**(`payload`: [JWTPayload](../interfaces/_types_d_.jwtpayload.md)): [UnsecuredJWT](_jwt_unsecured_.unsecuredjwt.md) - -*Defined in [src/lib/jwt_producer.ts:10](https://github.com/panva/jose/blob/v3.8.0/src/lib/jwt_producer.ts#L10)* - -#### Parameters: - -Name | Type | Description | ------- | ------ | ------ | -`payload` | [JWTPayload](../interfaces/_types_d_.jwtpayload.md) | The JWT Claims Set object. | - -**Returns:** [UnsecuredJWT](_jwt_unsecured_.unsecuredjwt.md) - -## Methods - -### encode - -▸ **encode**(): string - -*Defined in [src/jwt/unsecured.ts:55](https://github.com/panva/jose/blob/v3.8.0/src/jwt/unsecured.ts#L55)* - -Encodes the Unsecured JWT. - -**Returns:** string - -___ - -### setAudience - -▸ **setAudience**(`audience`: string \| string[]): this - -*Defined in [src/lib/jwt_producer.ts:47](https://github.com/panva/jose/blob/v3.8.0/src/lib/jwt_producer.ts#L47)* - -Set "aud" (Audience) Claim. - -#### Parameters: - -Name | Type | Description | ------- | ------ | ------ | -`audience` | string \| string[] | "aud" (Audience) Claim value to set on the JWT Claims Set. | - -**Returns:** this - -___ - -### setExpirationTime - -▸ **setExpirationTime**(`input`: number \| string): this - -*Defined in [src/lib/jwt_producer.ts:85](https://github.com/panva/jose/blob/v3.8.0/src/lib/jwt_producer.ts#L85)* - -Set "exp" (Expiration Time) Claim. - -#### Parameters: - -Name | Type | Description | ------- | ------ | ------ | -`input` | number \| string | "exp" (Expiration Time) Claim value to set on the JWT Claims Set. When number is passed that is used as a value, when string is passed it is resolved to a time span and added to the current timestamp. | - -**Returns:** this - -___ - -### setIssuedAt - -▸ **setIssuedAt**(`input?`: number): this - -*Defined in [src/lib/jwt_producer.ts:100](https://github.com/panva/jose/blob/v3.8.0/src/lib/jwt_producer.ts#L100)* - -Set "iat" (Issued At) Claim. - -#### Parameters: - -Name | Type | Description | ------- | ------ | ------ | -`input?` | number | "iat" (Issued At) Claim value to set on the JWT Claims Set. Default is current timestamp. | - -**Returns:** this - -___ - -### setIssuer - -▸ **setIssuer**(`issuer`: string): this - -*Defined in [src/lib/jwt_producer.ts:27](https://github.com/panva/jose/blob/v3.8.0/src/lib/jwt_producer.ts#L27)* - -Set "iss" (Issuer) Claim. - -#### Parameters: - -Name | Type | Description | ------- | ------ | ------ | -`issuer` | string | "Issuer" Claim value to set on the JWT Claims Set. | - -**Returns:** this - -___ - -### setJti - -▸ **setJti**(`jwtId`: string): this - -*Defined in [src/lib/jwt_producer.ts:57](https://github.com/panva/jose/blob/v3.8.0/src/lib/jwt_producer.ts#L57)* - -Set "jti" (JWT ID) Claim. - -#### Parameters: - -Name | Type | Description | ------- | ------ | ------ | -`jwtId` | string | "jti" (JWT ID) Claim value to set on the JWT Claims Set. | - -**Returns:** this - -___ - -### setNotBefore - -▸ **setNotBefore**(`input`: number \| string): this - -*Defined in [src/lib/jwt_producer.ts:69](https://github.com/panva/jose/blob/v3.8.0/src/lib/jwt_producer.ts#L69)* - -Set "nbf" (Not Before) Claim. - -#### Parameters: - -Name | Type | Description | ------- | ------ | ------ | -`input` | number \| string | "nbf" (Not Before) Claim value to set on the JWT Claims Set. When number is passed that is used as a value, when string is passed it is resolved to a time span and added to the current timestamp. | - -**Returns:** this - -___ - -### setSubject - -▸ **setSubject**(`subject`: string): this - -*Defined in [src/lib/jwt_producer.ts:37](https://github.com/panva/jose/blob/v3.8.0/src/lib/jwt_producer.ts#L37)* - -Set "sub" (Subject) Claim. - -#### Parameters: - -Name | Type | Description | ------- | ------ | ------ | -`subject` | string | "sub" (Subject) Claim value to set on the JWT Claims Set. | - -**Returns:** this - -___ - -### decode - -▸ `Static`**decode**(`jwt`: string, `options?`: [JWTClaimVerificationOptions](../interfaces/_types_d_.jwtclaimverificationoptions.md)): object - -*Defined in [src/jwt/unsecured.ts:77](https://github.com/panva/jose/blob/v3.8.0/src/jwt/unsecured.ts#L77)* - -Decodes an unsecured JWT. - -**`example`** -```js -// decoding -const { payload, header } = UnsecuredJWT.decode(unsecuredJwt) - -console.log(header) -console.log(payload) -``` - -#### Parameters: - -Name | Type | Description | ------- | ------ | ------ | -`jwt` | string | Unsecured JWT to decode the payload of. | -`options?` | [JWTClaimVerificationOptions](../interfaces/_types_d_.jwtclaimverificationoptions.md) | JWT Claims Set validation options. | - -**Returns:** object - -Name | Type | ------- | ------ | -`header` | [JWSHeaderParameters](../interfaces/_types_d_.jwsheaderparameters.md) | -`payload` | [JWTPayload](../interfaces/_types_d_.jwtpayload.md) | diff --git a/docs/classes/_util_errors_.josealgnotallowed.md b/docs/classes/_util_errors_.josealgnotallowed.md deleted file mode 100644 index ebf6972080..0000000000 --- a/docs/classes/_util_errors_.josealgnotallowed.md +++ /dev/null @@ -1,66 +0,0 @@ -# Class: JOSEAlgNotAllowed - -An error subclass thrown when a JOSE Algorithm is not allowed per developer preference. - -## Index - -### Constructors - -* [constructor](_util_errors_.josealgnotallowed.md#constructor) - -### Properties - -* [code](_util_errors_.josealgnotallowed.md#code) -* [message](_util_errors_.josealgnotallowed.md#message) -* [name](_util_errors_.josealgnotallowed.md#name) -* [stack](_util_errors_.josealgnotallowed.md#stack) - -## Constructors - -### constructor - -\+ **new JOSEAlgNotAllowed**(`message?`: string): [JOSEAlgNotAllowed](_util_errors_.josealgnotallowed.md) - -*Defined in [src/util/errors.ts:11](https://github.com/panva/jose/blob/v3.8.0/src/util/errors.ts#L11)* - -#### Parameters: - -Name | Type | ------- | ------ | -`message?` | string | - -**Returns:** [JOSEAlgNotAllowed](_util_errors_.josealgnotallowed.md) - -## Properties - -### code - -• **code**: string = "ERR\_JOSE\_ALG\_NOT\_ALLOWED" - -*Overrides [JOSEError](_util_errors_.joseerror.md).[code](_util_errors_.joseerror.md#code)* - -*Defined in [src/util/errors.ts:49](https://github.com/panva/jose/blob/v3.8.0/src/util/errors.ts#L49)* - -___ - -### message - -• **message**: string - -*Defined in node_modules/typescript/lib/lib.es5.d.ts:974* - -___ - -### name - -• **name**: string - -*Defined in node_modules/typescript/lib/lib.es5.d.ts:973* - -___ - -### stack - -• `Optional` **stack**: string - -*Defined in node_modules/typescript/lib/lib.es5.d.ts:975* diff --git a/docs/classes/_util_errors_.joseerror.md b/docs/classes/_util_errors_.joseerror.md deleted file mode 100644 index 00ea342ab9..0000000000 --- a/docs/classes/_util_errors_.joseerror.md +++ /dev/null @@ -1,76 +0,0 @@ -# Class: JOSEError - -A generic Error subclass that all other specific -JOSE Error subclasses inherit from. - -## Index - -### Constructors - -* [constructor](_util_errors_.joseerror.md#constructor) - -### Properties - -* [code](_util_errors_.joseerror.md#code) -* [message](_util_errors_.joseerror.md#message) -* [name](_util_errors_.joseerror.md#name) -* [stack](_util_errors_.joseerror.md#stack) -* [Error](_util_errors_.joseerror.md#error) - -## Constructors - -### constructor - -\+ **new JOSEError**(`message?`: string): [JOSEError](_util_errors_.joseerror.md) - -*Defined in [src/util/errors.ts:11](https://github.com/panva/jose/blob/v3.8.0/src/util/errors.ts#L11)* - -#### Parameters: - -Name | Type | ------- | ------ | -`message?` | string | - -**Returns:** [JOSEError](_util_errors_.joseerror.md) - -## Properties - -### code - -• **code**: string = "ERR\_JOSE\_GENERIC" - -*Defined in [src/util/errors.ts:11](https://github.com/panva/jose/blob/v3.8.0/src/util/errors.ts#L11)* - -A unique error code for the particular error subclass. - -___ - -### message - -• **message**: string - -*Defined in node_modules/typescript/lib/lib.es5.d.ts:974* - -___ - -### name - -• **name**: string - -*Defined in node_modules/typescript/lib/lib.es5.d.ts:973* - -___ - -### stack - -• `Optional` **stack**: string - -*Defined in node_modules/typescript/lib/lib.es5.d.ts:975* - -___ - -### Error - -▪ `Static` **Error**: ErrorConstructor - -*Defined in node_modules/typescript/lib/lib.es5.d.ts:984* diff --git a/docs/classes/_util_errors_.josenotsupported.md b/docs/classes/_util_errors_.josenotsupported.md deleted file mode 100644 index 619aea9e28..0000000000 --- a/docs/classes/_util_errors_.josenotsupported.md +++ /dev/null @@ -1,67 +0,0 @@ -# Class: JOSENotSupported - -An error subclass thrown when a particular feature or algorithm is not supported by this -implementation or JOSE in general. - -## Index - -### Constructors - -* [constructor](_util_errors_.josenotsupported.md#constructor) - -### Properties - -* [code](_util_errors_.josenotsupported.md#code) -* [message](_util_errors_.josenotsupported.md#message) -* [name](_util_errors_.josenotsupported.md#name) -* [stack](_util_errors_.josenotsupported.md#stack) - -## Constructors - -### constructor - -\+ **new JOSENotSupported**(`message?`: string): [JOSENotSupported](_util_errors_.josenotsupported.md) - -*Defined in [src/util/errors.ts:11](https://github.com/panva/jose/blob/v3.8.0/src/util/errors.ts#L11)* - -#### Parameters: - -Name | Type | ------- | ------ | -`message?` | string | - -**Returns:** [JOSENotSupported](_util_errors_.josenotsupported.md) - -## Properties - -### code - -• **code**: string = "ERR\_JOSE\_NOT\_SUPPORTED" - -*Overrides [JOSEError](_util_errors_.joseerror.md).[code](_util_errors_.joseerror.md#code)* - -*Defined in [src/util/errors.ts:57](https://github.com/panva/jose/blob/v3.8.0/src/util/errors.ts#L57)* - -___ - -### message - -• **message**: string - -*Defined in node_modules/typescript/lib/lib.es5.d.ts:974* - -___ - -### name - -• **name**: string - -*Defined in node_modules/typescript/lib/lib.es5.d.ts:973* - -___ - -### stack - -• `Optional` **stack**: string - -*Defined in node_modules/typescript/lib/lib.es5.d.ts:975* diff --git a/docs/classes/_util_errors_.jwedecryptionfailed.md b/docs/classes/_util_errors_.jwedecryptionfailed.md deleted file mode 100644 index f16d233948..0000000000 --- a/docs/classes/_util_errors_.jwedecryptionfailed.md +++ /dev/null @@ -1,68 +0,0 @@ -# Class: JWEDecryptionFailed - -An error subclass thrown when a JWE ciphertext decryption fails. - -## Index - -### Constructors - -* [constructor](_util_errors_.jwedecryptionfailed.md#constructor) - -### Properties - -* [code](_util_errors_.jwedecryptionfailed.md#code) -* [message](_util_errors_.jwedecryptionfailed.md#message) -* [name](_util_errors_.jwedecryptionfailed.md#name) -* [stack](_util_errors_.jwedecryptionfailed.md#stack) - -## Constructors - -### constructor - -\+ **new JWEDecryptionFailed**(`message?`: string): [JWEDecryptionFailed](_util_errors_.jwedecryptionfailed.md) - -*Defined in [src/util/errors.ts:11](https://github.com/panva/jose/blob/v3.8.0/src/util/errors.ts#L11)* - -#### Parameters: - -Name | Type | ------- | ------ | -`message?` | string | - -**Returns:** [JWEDecryptionFailed](_util_errors_.jwedecryptionfailed.md) - -## Properties - -### code - -• **code**: string = "ERR\_JWE\_DECRYPTION\_FAILED" - -*Overrides [JOSEError](_util_errors_.joseerror.md).[code](_util_errors_.joseerror.md#code)* - -*Defined in [src/util/errors.ts:64](https://github.com/panva/jose/blob/v3.8.0/src/util/errors.ts#L64)* - -___ - -### message - -• **message**: string = "decryption operation failed" - -*Overrides [JOSEError](_util_errors_.joseerror.md).[message](_util_errors_.joseerror.md#message)* - -*Defined in [src/util/errors.ts:66](https://github.com/panva/jose/blob/v3.8.0/src/util/errors.ts#L66)* - -___ - -### name - -• **name**: string - -*Defined in node_modules/typescript/lib/lib.es5.d.ts:973* - -___ - -### stack - -• `Optional` **stack**: string - -*Defined in node_modules/typescript/lib/lib.es5.d.ts:975* diff --git a/docs/classes/_util_errors_.jweinvalid.md b/docs/classes/_util_errors_.jweinvalid.md deleted file mode 100644 index dcde5949b2..0000000000 --- a/docs/classes/_util_errors_.jweinvalid.md +++ /dev/null @@ -1,66 +0,0 @@ -# Class: JWEInvalid - -An error subclass thrown when a JWE is invalid. - -## Index - -### Constructors - -* [constructor](_util_errors_.jweinvalid.md#constructor) - -### Properties - -* [code](_util_errors_.jweinvalid.md#code) -* [message](_util_errors_.jweinvalid.md#message) -* [name](_util_errors_.jweinvalid.md#name) -* [stack](_util_errors_.jweinvalid.md#stack) - -## Constructors - -### constructor - -\+ **new JWEInvalid**(`message?`: string): [JWEInvalid](_util_errors_.jweinvalid.md) - -*Defined in [src/util/errors.ts:11](https://github.com/panva/jose/blob/v3.8.0/src/util/errors.ts#L11)* - -#### Parameters: - -Name | Type | ------- | ------ | -`message?` | string | - -**Returns:** [JWEInvalid](_util_errors_.jweinvalid.md) - -## Properties - -### code - -• **code**: string = "ERR\_JWE\_INVALID" - -*Overrides [JOSEError](_util_errors_.joseerror.md).[code](_util_errors_.joseerror.md#code)* - -*Defined in [src/util/errors.ts:73](https://github.com/panva/jose/blob/v3.8.0/src/util/errors.ts#L73)* - -___ - -### message - -• **message**: string - -*Defined in node_modules/typescript/lib/lib.es5.d.ts:974* - -___ - -### name - -• **name**: string - -*Defined in node_modules/typescript/lib/lib.es5.d.ts:973* - -___ - -### stack - -• `Optional` **stack**: string - -*Defined in node_modules/typescript/lib/lib.es5.d.ts:975* diff --git a/docs/classes/_util_errors_.jwkinvalid.md b/docs/classes/_util_errors_.jwkinvalid.md deleted file mode 100644 index 69cdaeb79e..0000000000 --- a/docs/classes/_util_errors_.jwkinvalid.md +++ /dev/null @@ -1,66 +0,0 @@ -# Class: JWKInvalid - -An error subclass thrown when a JWK is invalid. - -## Index - -### Constructors - -* [constructor](_util_errors_.jwkinvalid.md#constructor) - -### Properties - -* [code](_util_errors_.jwkinvalid.md#code) -* [message](_util_errors_.jwkinvalid.md#message) -* [name](_util_errors_.jwkinvalid.md#name) -* [stack](_util_errors_.jwkinvalid.md#stack) - -## Constructors - -### constructor - -\+ **new JWKInvalid**(`message?`: string): [JWKInvalid](_util_errors_.jwkinvalid.md) - -*Defined in [src/util/errors.ts:11](https://github.com/panva/jose/blob/v3.8.0/src/util/errors.ts#L11)* - -#### Parameters: - -Name | Type | ------- | ------ | -`message?` | string | - -**Returns:** [JWKInvalid](_util_errors_.jwkinvalid.md) - -## Properties - -### code - -• **code**: string = "ERR\_JWK\_INVALID" - -*Overrides [JOSEError](_util_errors_.joseerror.md).[code](_util_errors_.joseerror.md#code)* - -*Defined in [src/util/errors.ts:94](https://github.com/panva/jose/blob/v3.8.0/src/util/errors.ts#L94)* - -___ - -### message - -• **message**: string - -*Defined in node_modules/typescript/lib/lib.es5.d.ts:974* - -___ - -### name - -• **name**: string - -*Defined in node_modules/typescript/lib/lib.es5.d.ts:973* - -___ - -### stack - -• `Optional` **stack**: string - -*Defined in node_modules/typescript/lib/lib.es5.d.ts:975* diff --git a/docs/classes/_util_errors_.jwksinvalid.md b/docs/classes/_util_errors_.jwksinvalid.md deleted file mode 100644 index b4f99c484c..0000000000 --- a/docs/classes/_util_errors_.jwksinvalid.md +++ /dev/null @@ -1,66 +0,0 @@ -# Class: JWKSInvalid - -An error subclass thrown when a JWKS is invalid. - -## Index - -### Constructors - -* [constructor](_util_errors_.jwksinvalid.md#constructor) - -### Properties - -* [code](_util_errors_.jwksinvalid.md#code) -* [message](_util_errors_.jwksinvalid.md#message) -* [name](_util_errors_.jwksinvalid.md#name) -* [stack](_util_errors_.jwksinvalid.md#stack) - -## Constructors - -### constructor - -\+ **new JWKSInvalid**(`message?`: string): [JWKSInvalid](_util_errors_.jwksinvalid.md) - -*Defined in [src/util/errors.ts:11](https://github.com/panva/jose/blob/v3.8.0/src/util/errors.ts#L11)* - -#### Parameters: - -Name | Type | ------- | ------ | -`message?` | string | - -**Returns:** [JWKSInvalid](_util_errors_.jwksinvalid.md) - -## Properties - -### code - -• **code**: string = "ERR\_JWKS\_INVALID" - -*Overrides [JOSEError](_util_errors_.joseerror.md).[code](_util_errors_.joseerror.md#code)* - -*Defined in [src/util/errors.ts:101](https://github.com/panva/jose/blob/v3.8.0/src/util/errors.ts#L101)* - -___ - -### message - -• **message**: string - -*Defined in node_modules/typescript/lib/lib.es5.d.ts:974* - -___ - -### name - -• **name**: string - -*Defined in node_modules/typescript/lib/lib.es5.d.ts:973* - -___ - -### stack - -• `Optional` **stack**: string - -*Defined in node_modules/typescript/lib/lib.es5.d.ts:975* diff --git a/docs/classes/_util_errors_.jwksmultiplematchingkeys.md b/docs/classes/_util_errors_.jwksmultiplematchingkeys.md deleted file mode 100644 index acde149c54..0000000000 --- a/docs/classes/_util_errors_.jwksmultiplematchingkeys.md +++ /dev/null @@ -1,68 +0,0 @@ -# Class: JWKSMultipleMatchingKeys - -An error subclass thrown when multiple keys match from a JWKS. - -## Index - -### Constructors - -* [constructor](_util_errors_.jwksmultiplematchingkeys.md#constructor) - -### Properties - -* [code](_util_errors_.jwksmultiplematchingkeys.md#code) -* [message](_util_errors_.jwksmultiplematchingkeys.md#message) -* [name](_util_errors_.jwksmultiplematchingkeys.md#name) -* [stack](_util_errors_.jwksmultiplematchingkeys.md#stack) - -## Constructors - -### constructor - -\+ **new JWKSMultipleMatchingKeys**(`message?`: string): [JWKSMultipleMatchingKeys](_util_errors_.jwksmultiplematchingkeys.md) - -*Defined in [src/util/errors.ts:11](https://github.com/panva/jose/blob/v3.8.0/src/util/errors.ts#L11)* - -#### Parameters: - -Name | Type | ------- | ------ | -`message?` | string | - -**Returns:** [JWKSMultipleMatchingKeys](_util_errors_.jwksmultiplematchingkeys.md) - -## Properties - -### code - -• **code**: string = "ERR\_JWKS\_MULTIPLE\_MATCHING\_KEYS" - -*Overrides [JOSEError](_util_errors_.joseerror.md).[code](_util_errors_.joseerror.md#code)* - -*Defined in [src/util/errors.ts:117](https://github.com/panva/jose/blob/v3.8.0/src/util/errors.ts#L117)* - -___ - -### message - -• **message**: string = "multiple matching keys found in the JSON Web Key Set" - -*Overrides [JOSEError](_util_errors_.joseerror.md).[message](_util_errors_.joseerror.md#message)* - -*Defined in [src/util/errors.ts:119](https://github.com/panva/jose/blob/v3.8.0/src/util/errors.ts#L119)* - -___ - -### name - -• **name**: string - -*Defined in node_modules/typescript/lib/lib.es5.d.ts:973* - -___ - -### stack - -• `Optional` **stack**: string - -*Defined in node_modules/typescript/lib/lib.es5.d.ts:975* diff --git a/docs/classes/_util_errors_.jwksnomatchingkey.md b/docs/classes/_util_errors_.jwksnomatchingkey.md deleted file mode 100644 index dade5ec811..0000000000 --- a/docs/classes/_util_errors_.jwksnomatchingkey.md +++ /dev/null @@ -1,68 +0,0 @@ -# Class: JWKSNoMatchingKey - -An error subclass thrown when no keys match from a JWKS. - -## Index - -### Constructors - -* [constructor](_util_errors_.jwksnomatchingkey.md#constructor) - -### Properties - -* [code](_util_errors_.jwksnomatchingkey.md#code) -* [message](_util_errors_.jwksnomatchingkey.md#message) -* [name](_util_errors_.jwksnomatchingkey.md#name) -* [stack](_util_errors_.jwksnomatchingkey.md#stack) - -## Constructors - -### constructor - -\+ **new JWKSNoMatchingKey**(`message?`: string): [JWKSNoMatchingKey](_util_errors_.jwksnomatchingkey.md) - -*Defined in [src/util/errors.ts:11](https://github.com/panva/jose/blob/v3.8.0/src/util/errors.ts#L11)* - -#### Parameters: - -Name | Type | ------- | ------ | -`message?` | string | - -**Returns:** [JWKSNoMatchingKey](_util_errors_.jwksnomatchingkey.md) - -## Properties - -### code - -• **code**: string = "ERR\_JWKS\_NO\_MATCHING\_KEY" - -*Overrides [JOSEError](_util_errors_.joseerror.md).[code](_util_errors_.joseerror.md#code)* - -*Defined in [src/util/errors.ts:108](https://github.com/panva/jose/blob/v3.8.0/src/util/errors.ts#L108)* - -___ - -### message - -• **message**: string = "no applicable key found in the JSON Web Key Set" - -*Overrides [JOSEError](_util_errors_.joseerror.md).[message](_util_errors_.joseerror.md#message)* - -*Defined in [src/util/errors.ts:110](https://github.com/panva/jose/blob/v3.8.0/src/util/errors.ts#L110)* - -___ - -### name - -• **name**: string - -*Defined in node_modules/typescript/lib/lib.es5.d.ts:973* - -___ - -### stack - -• `Optional` **stack**: string - -*Defined in node_modules/typescript/lib/lib.es5.d.ts:975* diff --git a/docs/classes/_util_errors_.jwsinvalid.md b/docs/classes/_util_errors_.jwsinvalid.md deleted file mode 100644 index 0faeef3c15..0000000000 --- a/docs/classes/_util_errors_.jwsinvalid.md +++ /dev/null @@ -1,66 +0,0 @@ -# Class: JWSInvalid - -An error subclass thrown when a JWS is invalid. - -## Index - -### Constructors - -* [constructor](_util_errors_.jwsinvalid.md#constructor) - -### Properties - -* [code](_util_errors_.jwsinvalid.md#code) -* [message](_util_errors_.jwsinvalid.md#message) -* [name](_util_errors_.jwsinvalid.md#name) -* [stack](_util_errors_.jwsinvalid.md#stack) - -## Constructors - -### constructor - -\+ **new JWSInvalid**(`message?`: string): [JWSInvalid](_util_errors_.jwsinvalid.md) - -*Defined in [src/util/errors.ts:11](https://github.com/panva/jose/blob/v3.8.0/src/util/errors.ts#L11)* - -#### Parameters: - -Name | Type | ------- | ------ | -`message?` | string | - -**Returns:** [JWSInvalid](_util_errors_.jwsinvalid.md) - -## Properties - -### code - -• **code**: string = "ERR\_JWS\_INVALID" - -*Overrides [JOSEError](_util_errors_.joseerror.md).[code](_util_errors_.joseerror.md#code)* - -*Defined in [src/util/errors.ts:80](https://github.com/panva/jose/blob/v3.8.0/src/util/errors.ts#L80)* - -___ - -### message - -• **message**: string - -*Defined in node_modules/typescript/lib/lib.es5.d.ts:974* - -___ - -### name - -• **name**: string - -*Defined in node_modules/typescript/lib/lib.es5.d.ts:973* - -___ - -### stack - -• `Optional` **stack**: string - -*Defined in node_modules/typescript/lib/lib.es5.d.ts:975* diff --git a/docs/classes/_util_errors_.jwssignatureverificationfailed.md b/docs/classes/_util_errors_.jwssignatureverificationfailed.md deleted file mode 100644 index 6336b66500..0000000000 --- a/docs/classes/_util_errors_.jwssignatureverificationfailed.md +++ /dev/null @@ -1,68 +0,0 @@ -# Class: JWSSignatureVerificationFailed - -An error subclass thrown when JWS signature verification fails. - -## Index - -### Constructors - -* [constructor](_util_errors_.jwssignatureverificationfailed.md#constructor) - -### Properties - -* [code](_util_errors_.jwssignatureverificationfailed.md#code) -* [message](_util_errors_.jwssignatureverificationfailed.md#message) -* [name](_util_errors_.jwssignatureverificationfailed.md#name) -* [stack](_util_errors_.jwssignatureverificationfailed.md#stack) - -## Constructors - -### constructor - -\+ **new JWSSignatureVerificationFailed**(`message?`: string): [JWSSignatureVerificationFailed](_util_errors_.jwssignatureverificationfailed.md) - -*Defined in [src/util/errors.ts:11](https://github.com/panva/jose/blob/v3.8.0/src/util/errors.ts#L11)* - -#### Parameters: - -Name | Type | ------- | ------ | -`message?` | string | - -**Returns:** [JWSSignatureVerificationFailed](_util_errors_.jwssignatureverificationfailed.md) - -## Properties - -### code - -• **code**: string = "ERR\_JWS\_SIGNATURE\_VERIFICATION\_FAILED" - -*Overrides [JOSEError](_util_errors_.joseerror.md).[code](_util_errors_.joseerror.md#code)* - -*Defined in [src/util/errors.ts:126](https://github.com/panva/jose/blob/v3.8.0/src/util/errors.ts#L126)* - -___ - -### message - -• **message**: string = "signature verification failed" - -*Overrides [JOSEError](_util_errors_.joseerror.md).[message](_util_errors_.joseerror.md#message)* - -*Defined in [src/util/errors.ts:128](https://github.com/panva/jose/blob/v3.8.0/src/util/errors.ts#L128)* - -___ - -### name - -• **name**: string - -*Defined in node_modules/typescript/lib/lib.es5.d.ts:973* - -___ - -### stack - -• `Optional` **stack**: string - -*Defined in node_modules/typescript/lib/lib.es5.d.ts:975* diff --git a/docs/classes/_util_errors_.jwtclaimvalidationfailed.md b/docs/classes/_util_errors_.jwtclaimvalidationfailed.md deleted file mode 100644 index b9577e651a..0000000000 --- a/docs/classes/_util_errors_.jwtclaimvalidationfailed.md +++ /dev/null @@ -1,92 +0,0 @@ -# Class: JWTClaimValidationFailed - -An error subclass thrown when a JWT Claim Set member validation fails. - -## Index - -### Constructors - -* [constructor](_util_errors_.jwtclaimvalidationfailed.md#constructor) - -### Properties - -* [claim](_util_errors_.jwtclaimvalidationfailed.md#claim) -* [code](_util_errors_.jwtclaimvalidationfailed.md#code) -* [message](_util_errors_.jwtclaimvalidationfailed.md#message) -* [name](_util_errors_.jwtclaimvalidationfailed.md#name) -* [reason](_util_errors_.jwtclaimvalidationfailed.md#reason) -* [stack](_util_errors_.jwtclaimvalidationfailed.md#stack) - -## Constructors - -### constructor - -\+ **new JWTClaimValidationFailed**(`message`: string, `claim?`: string, `reason?`: string): [JWTClaimValidationFailed](_util_errors_.jwtclaimvalidationfailed.md) - -*Overrides [JOSEError](_util_errors_.joseerror.md).[constructor](_util_errors_.joseerror.md#constructor)* - -*Defined in [src/util/errors.ts:36](https://github.com/panva/jose/blob/v3.8.0/src/util/errors.ts#L36)* - -#### Parameters: - -Name | Type | Default value | ------- | ------ | ------ | -`message` | string | - | -`claim` | string | "unspecified" | -`reason` | string | "unspecified" | - -**Returns:** [JWTClaimValidationFailed](_util_errors_.jwtclaimvalidationfailed.md) - -## Properties - -### claim - -• **claim**: string - -*Defined in [src/util/errors.ts:31](https://github.com/panva/jose/blob/v3.8.0/src/util/errors.ts#L31)* - -The Claim for which the validation failed. - -___ - -### code - -• **code**: string = "ERR\_JWT\_CLAIM\_VALIDATION\_FAILED" - -*Overrides [JOSEError](_util_errors_.joseerror.md).[code](_util_errors_.joseerror.md#code)* - -*Defined in [src/util/errors.ts:26](https://github.com/panva/jose/blob/v3.8.0/src/util/errors.ts#L26)* - -___ - -### message - -• **message**: string - -*Defined in node_modules/typescript/lib/lib.es5.d.ts:974* - -___ - -### name - -• **name**: string - -*Defined in node_modules/typescript/lib/lib.es5.d.ts:973* - -___ - -### reason - -• **reason**: string - -*Defined in [src/util/errors.ts:36](https://github.com/panva/jose/blob/v3.8.0/src/util/errors.ts#L36)* - -Reason code for the validation failure. - -___ - -### stack - -• `Optional` **stack**: string - -*Defined in node_modules/typescript/lib/lib.es5.d.ts:975* diff --git a/docs/classes/_util_errors_.jwtexpired.md b/docs/classes/_util_errors_.jwtexpired.md deleted file mode 100644 index 992f408699..0000000000 --- a/docs/classes/_util_errors_.jwtexpired.md +++ /dev/null @@ -1,92 +0,0 @@ -# Class: JWTExpired - -An error subclass thrown when a JWT is expired. - -## Index - -### Constructors - -* [constructor](_util_errors_.jwtexpired.md#constructor) - -### Properties - -* [claim](_util_errors_.jwtexpired.md#claim) -* [code](_util_errors_.jwtexpired.md#code) -* [message](_util_errors_.jwtexpired.md#message) -* [name](_util_errors_.jwtexpired.md#name) -* [reason](_util_errors_.jwtexpired.md#reason) -* [stack](_util_errors_.jwtexpired.md#stack) - -## Constructors - -### constructor - -\+ **new JWTExpired**(`message`: string, `claim?`: string, `reason?`: string): [JWTExpired](_util_errors_.jwtexpired.md) - -*Overrides [JOSEError](_util_errors_.joseerror.md).[constructor](_util_errors_.joseerror.md#constructor)* - -*Defined in [src/util/errors.ts:36](https://github.com/panva/jose/blob/v3.8.0/src/util/errors.ts#L36)* - -#### Parameters: - -Name | Type | Default value | ------- | ------ | ------ | -`message` | string | - | -`claim` | string | "unspecified" | -`reason` | string | "unspecified" | - -**Returns:** [JWTExpired](_util_errors_.jwtexpired.md) - -## Properties - -### claim - -• **claim**: string - -*Defined in [src/util/errors.ts:31](https://github.com/panva/jose/blob/v3.8.0/src/util/errors.ts#L31)* - -The Claim for which the validation failed. - -___ - -### code - -• **code**: string = "ERR\_JWT\_EXPIRED" - -*Overrides [JWTClaimValidationFailed](_util_errors_.jwtclaimvalidationfailed.md).[code](_util_errors_.jwtclaimvalidationfailed.md#code)* - -*Defined in [src/util/errors.ts:135](https://github.com/panva/jose/blob/v3.8.0/src/util/errors.ts#L135)* - -___ - -### message - -• **message**: string - -*Defined in node_modules/typescript/lib/lib.es5.d.ts:974* - -___ - -### name - -• **name**: string - -*Defined in node_modules/typescript/lib/lib.es5.d.ts:973* - -___ - -### reason - -• **reason**: string - -*Defined in [src/util/errors.ts:36](https://github.com/panva/jose/blob/v3.8.0/src/util/errors.ts#L36)* - -Reason code for the validation failure. - -___ - -### stack - -• `Optional` **stack**: string - -*Defined in node_modules/typescript/lib/lib.es5.d.ts:975* diff --git a/docs/classes/_util_errors_.jwtinvalid.md b/docs/classes/_util_errors_.jwtinvalid.md deleted file mode 100644 index 25aef31fec..0000000000 --- a/docs/classes/_util_errors_.jwtinvalid.md +++ /dev/null @@ -1,66 +0,0 @@ -# Class: JWTInvalid - -An error subclass thrown when a JWT is invalid. - -## Index - -### Constructors - -* [constructor](_util_errors_.jwtinvalid.md#constructor) - -### Properties - -* [code](_util_errors_.jwtinvalid.md#code) -* [message](_util_errors_.jwtinvalid.md#message) -* [name](_util_errors_.jwtinvalid.md#name) -* [stack](_util_errors_.jwtinvalid.md#stack) - -## Constructors - -### constructor - -\+ **new JWTInvalid**(`message?`: string): [JWTInvalid](_util_errors_.jwtinvalid.md) - -*Defined in [src/util/errors.ts:11](https://github.com/panva/jose/blob/v3.8.0/src/util/errors.ts#L11)* - -#### Parameters: - -Name | Type | ------- | ------ | -`message?` | string | - -**Returns:** [JWTInvalid](_util_errors_.jwtinvalid.md) - -## Properties - -### code - -• **code**: string = "ERR\_JWT\_INVALID" - -*Overrides [JOSEError](_util_errors_.joseerror.md).[code](_util_errors_.joseerror.md#code)* - -*Defined in [src/util/errors.ts:87](https://github.com/panva/jose/blob/v3.8.0/src/util/errors.ts#L87)* - -___ - -### message - -• **message**: string - -*Defined in node_modules/typescript/lib/lib.es5.d.ts:974* - -___ - -### name - -• **name**: string - -*Defined in node_modules/typescript/lib/lib.es5.d.ts:973* - -___ - -### stack - -• `Optional` **stack**: string - -*Defined in node_modules/typescript/lib/lib.es5.d.ts:975* diff --git a/docs/classes/jwe_compact_encrypt.compactencrypt.md b/docs/classes/jwe_compact_encrypt.compactencrypt.md new file mode 100644 index 0000000000..f484a9bf03 --- /dev/null +++ b/docs/classes/jwe_compact_encrypt.compactencrypt.md @@ -0,0 +1,166 @@ +# Class: CompactEncrypt + +[jwe/compact/encrypt](../modules/jwe_compact_encrypt.md).CompactEncrypt + +The CompactEncrypt class is a utility for creating Compact JWE strings. + +**`example`** +```js +// ESM import +import { CompactEncrypt } from 'jose/jwe/compact/encrypt' +``` + +**`example`** +```js +// CJS import +const { CompactEncrypt } = require('jose/jwe/compact/encrypt') +``` + +**`example`** +```js +// usage +import { parseJwk } from 'jose/jwk/parse' + +const encoder = new TextEncoder() + +const publicKey = await parseJwk({ + e: 'AQAB', + n: 'qpzYkTGRKSUcd12hZaJnYEKVLfdEsqu6HBAxZgRSvzLFj_zTSAEXjbf3fX47MPEHRw8NDcEXPjVOz84t4FTXYF2w2_LGWfp_myjV8pR6oUUncJjS7DhnUmTG5bpuK2HFXRMRJYz_iNR48xRJPMoY84jrnhdIFx8Tqv6w4ZHVyEvcvloPgwG3UjLidP6jmqbTiJtidVLnpQJRuFNFQJiluQXBZ1nOLC7raQshu7L9y0IatVU7vf0BPnmuSkcNNvmQkSta6ODQBPaL5-o5SW8H37vQjPDkrlJpreViNa3jqP5DB5HYUO-DMh4FegRv9gZWLDEvXpSd9A13YXCa9Q8K_w', + kty: 'RSA' +}, 'RSA-OAEP-256') + +const jwe = await new CompactEncrypt(encoder.encode('It’s a dangerous business, Frodo, going out your door.')) + .setProtectedHeader({ alg: 'RSA-OAEP-256', enc: 'A256GCM' }) + .encrypt(publicKey) + +console.log(jwe) +``` + +## Table of contents + +### Constructors + +- [constructor](jwe_compact_encrypt.compactencrypt.md#constructor) + +### Methods + +- [encrypt](jwe_compact_encrypt.compactencrypt.md#encrypt) +- [setContentEncryptionKey](jwe_compact_encrypt.compactencrypt.md#setcontentencryptionkey) +- [setInitializationVector](jwe_compact_encrypt.compactencrypt.md#setinitializationvector) +- [setKeyManagementParameters](jwe_compact_encrypt.compactencrypt.md#setkeymanagementparameters) +- [setProtectedHeader](jwe_compact_encrypt.compactencrypt.md#setprotectedheader) + +## Constructors + +### constructor + +\+ **new CompactEncrypt**(`plaintext`: *Uint8Array*): [*CompactEncrypt*](jwe_compact_encrypt.compactencrypt.md) + +#### Parameters: + +Name | Type | Description | +:------ | :------ | :------ | +`plaintext` | *Uint8Array* | Binary representation of the plaintext to encrypt. | + +**Returns:** [*CompactEncrypt*](jwe_compact_encrypt.compactencrypt.md) + +Defined in: [jwe/compact/encrypt.ts:45](https://github.com/panva/jose/blob/v3.9.0/src/jwe/compact/encrypt.ts#L45) + +## Methods + +### encrypt + +▸ **encrypt**(`key`: [*KeyLike*](../types/types.keylike.md), `options?`: [*EncryptOptions*](../interfaces/types.encryptoptions.md)): *Promise* + +Encrypts and resolves the value of the Compact JWE string. + +#### Parameters: + +Name | Type | Description | +:------ | :------ | :------ | +`key` | [*KeyLike*](../types/types.keylike.md) | Public Key or Secret to encrypt the JWE with. | +`options?` | [*EncryptOptions*](../interfaces/types.encryptoptions.md) | JWE Encryption options. | + +**Returns:** *Promise* + +Defined in: [jwe/compact/encrypt.ts:108](https://github.com/panva/jose/blob/v3.9.0/src/jwe/compact/encrypt.ts#L108) + +___ + +### setContentEncryptionKey + +▸ **setContentEncryptionKey**(`cek`: *Uint8Array*): [*CompactEncrypt*](jwe_compact_encrypt.compactencrypt.md) + +Sets a content encryption key to use, by default a random suitable one +is generated for the JWE enc" (Encryption Algorithm) Header Parameter. +You do not need to invoke this method, it is only really intended for +test and vector validation purposes. + +#### Parameters: + +Name | Type | Description | +:------ | :------ | :------ | +`cek` | *Uint8Array* | JWE Content Encryption Key. | + +**Returns:** [*CompactEncrypt*](jwe_compact_encrypt.compactencrypt.md) + +Defined in: [jwe/compact/encrypt.ts:62](https://github.com/panva/jose/blob/v3.9.0/src/jwe/compact/encrypt.ts#L62) + +___ + +### setInitializationVector + +▸ **setInitializationVector**(`iv`: *Uint8Array*): [*CompactEncrypt*](jwe_compact_encrypt.compactencrypt.md) + +Sets the JWE Initialization Vector to use for content encryption, by default +a random suitable one is generated for the JWE enc" (Encryption Algorithm) +Header Parameter. You do not need to invoke this method, it is only really +intended for test and vector validation purposes. + +#### Parameters: + +Name | Type | Description | +:------ | :------ | :------ | +`iv` | *Uint8Array* | JWE Initialization Vector. | + +**Returns:** [*CompactEncrypt*](jwe_compact_encrypt.compactencrypt.md) + +Defined in: [jwe/compact/encrypt.ts:75](https://github.com/panva/jose/blob/v3.9.0/src/jwe/compact/encrypt.ts#L75) + +___ + +### setKeyManagementParameters + +▸ **setKeyManagementParameters**(`parameters`: [*JWEKeyManagementHeaderParameters*](../interfaces/types.jwekeymanagementheaderparameters.md)): [*CompactEncrypt*](jwe_compact_encrypt.compactencrypt.md) + +Sets the JWE Key Management parameters to be used when encrypting the Content +Encryption Key. You do not need to invoke this method, it is only really +intended for test and vector validation purposes. + +#### Parameters: + +Name | Type | Description | +:------ | :------ | :------ | +`parameters` | [*JWEKeyManagementHeaderParameters*](../interfaces/types.jwekeymanagementheaderparameters.md) | JWE Key Management parameters. | + +**Returns:** [*CompactEncrypt*](jwe_compact_encrypt.compactencrypt.md) + +Defined in: [jwe/compact/encrypt.ts:97](https://github.com/panva/jose/blob/v3.9.0/src/jwe/compact/encrypt.ts#L97) + +___ + +### setProtectedHeader + +▸ **setProtectedHeader**(`protectedHeader`: [*JWEHeaderParameters*](../interfaces/types.jweheaderparameters.md)): [*CompactEncrypt*](jwe_compact_encrypt.compactencrypt.md) + +Sets the JWE Protected Header on the CompactEncrypt object. + +#### Parameters: + +Name | Type | Description | +:------ | :------ | :------ | +`protectedHeader` | [*JWEHeaderParameters*](../interfaces/types.jweheaderparameters.md) | JWE Protected Header object. | + +**Returns:** [*CompactEncrypt*](jwe_compact_encrypt.compactencrypt.md) + +Defined in: [jwe/compact/encrypt.ts:85](https://github.com/panva/jose/blob/v3.9.0/src/jwe/compact/encrypt.ts#L85) diff --git a/docs/classes/jwe_flattened_encrypt.flattenedencrypt.md b/docs/classes/jwe_flattened_encrypt.flattenedencrypt.md new file mode 100644 index 0000000000..1a92124d06 --- /dev/null +++ b/docs/classes/jwe_flattened_encrypt.flattenedencrypt.md @@ -0,0 +1,225 @@ +# Class: FlattenedEncrypt + +[jwe/flattened/encrypt](../modules/jwe_flattened_encrypt.md).FlattenedEncrypt + +The FlattenedEncrypt class is a utility for creating Flattened JWE +objects. + +**`example`** +```js +// ESM import +import { FlattenedEncrypt } from 'jose/jwe/flattened/encrypt' +``` + +**`example`** +```js +// CJS import +const { FlattenedEncrypt } = require('jose/jwe/flattened/encrypt') +``` + +**`example`** +```js +// usage +import { parseJwk } from 'jose/jwk/parse' + +const encoder = new TextEncoder() +const publicKey = await parseJwk({ + e: 'AQAB', + n: 'qpzYkTGRKSUcd12hZaJnYEKVLfdEsqu6HBAxZgRSvzLFj_zTSAEXjbf3fX47MPEHRw8NDcEXPjVOz84t4FTXYF2w2_LGWfp_myjV8pR6oUUncJjS7DhnUmTG5bpuK2HFXRMRJYz_iNR48xRJPMoY84jrnhdIFx8Tqv6w4ZHVyEvcvloPgwG3UjLidP6jmqbTiJtidVLnpQJRuFNFQJiluQXBZ1nOLC7raQshu7L9y0IatVU7vf0BPnmuSkcNNvmQkSta6ODQBPaL5-o5SW8H37vQjPDkrlJpreViNa3jqP5DB5HYUO-DMh4FegRv9gZWLDEvXpSd9A13YXCa9Q8K_w', + kty: 'RSA' +}, 'RSA-OAEP-256') + +const jwe = await new FlattenedEncrypt(encoder.encode('It’s a dangerous business, Frodo, going out your door.')) + .setProtectedHeader({ alg: 'RSA-OAEP-256', enc: 'A256GCM' }) + .setAdditionalAuthenticatedData(encoder.encode('The Fellowship of the Ring')) + .encrypt(publicKey) + +console.log(jwe) +``` + +## Table of contents + +### Constructors + +- [constructor](jwe_flattened_encrypt.flattenedencrypt.md#constructor) + +### Methods + +- [encrypt](jwe_flattened_encrypt.flattenedencrypt.md#encrypt) +- [setAdditionalAuthenticatedData](jwe_flattened_encrypt.flattenedencrypt.md#setadditionalauthenticateddata) +- [setContentEncryptionKey](jwe_flattened_encrypt.flattenedencrypt.md#setcontentencryptionkey) +- [setInitializationVector](jwe_flattened_encrypt.flattenedencrypt.md#setinitializationvector) +- [setKeyManagementParameters](jwe_flattened_encrypt.flattenedencrypt.md#setkeymanagementparameters) +- [setProtectedHeader](jwe_flattened_encrypt.flattenedencrypt.md#setprotectedheader) +- [setSharedUnprotectedHeader](jwe_flattened_encrypt.flattenedencrypt.md#setsharedunprotectedheader) +- [setUnprotectedHeader](jwe_flattened_encrypt.flattenedencrypt.md#setunprotectedheader) + +## Constructors + +### constructor + +\+ **new FlattenedEncrypt**(`plaintext`: *Uint8Array*): [*FlattenedEncrypt*](jwe_flattened_encrypt.flattenedencrypt.md) + +#### Parameters: + +Name | Type | Description | +:------ | :------ | :------ | +`plaintext` | *Uint8Array* | Binary representation of the plaintext to encrypt. | + +**Returns:** [*FlattenedEncrypt*](jwe_flattened_encrypt.flattenedencrypt.md) + +Defined in: [jwe/flattened/encrypt.ts:75](https://github.com/panva/jose/blob/v3.9.0/src/jwe/flattened/encrypt.ts#L75) + +## Methods + +### encrypt + +▸ **encrypt**(`key`: [*KeyLike*](../types/types.keylike.md), `options?`: [*EncryptOptions*](../interfaces/types.encryptoptions.md)): *Promise*<[*FlattenedJWE*](../interfaces/types.flattenedjwe.md)\> + +Encrypts and resolves the value of the Flattened JWE object. + +#### Parameters: + +Name | Type | Description | +:------ | :------ | :------ | +`key` | [*KeyLike*](../types/types.keylike.md) | Public Key or Secret to encrypt the JWE with. | +`options?` | [*EncryptOptions*](../interfaces/types.encryptoptions.md) | JWE Encryption options. | + +**Returns:** *Promise*<[*FlattenedJWE*](../interfaces/types.flattenedjwe.md)\> + +Defined in: [jwe/flattened/encrypt.ts:187](https://github.com/panva/jose/blob/v3.9.0/src/jwe/flattened/encrypt.ts#L187) + +___ + +### setAdditionalAuthenticatedData + +▸ **setAdditionalAuthenticatedData**(`aad`: *Uint8Array*): [*FlattenedEncrypt*](jwe_flattened_encrypt.flattenedencrypt.md) + +Sets the Additional Authenticated Data on the FlattenedEncrypt object. + +#### Parameters: + +Name | Type | Description | +:------ | :------ | :------ | +`aad` | *Uint8Array* | Additional Authenticated Data. | + +**Returns:** [*FlattenedEncrypt*](jwe_flattened_encrypt.flattenedencrypt.md) + +Defined in: [jwe/flattened/encrypt.ts:144](https://github.com/panva/jose/blob/v3.9.0/src/jwe/flattened/encrypt.ts#L144) + +___ + +### setContentEncryptionKey + +▸ **setContentEncryptionKey**(`cek`: *Uint8Array*): [*FlattenedEncrypt*](jwe_flattened_encrypt.flattenedencrypt.md) + +Sets a content encryption key to use, by default a random suitable one +is generated for the JWE enc" (Encryption Algorithm) Header Parameter. +You do not need to invoke this method, it is only really intended for +test and vector validation purposes. + +#### Parameters: + +Name | Type | Description | +:------ | :------ | :------ | +`cek` | *Uint8Array* | JWE Content Encryption Key. | + +**Returns:** [*FlattenedEncrypt*](jwe_flattened_encrypt.flattenedencrypt.md) + +Defined in: [jwe/flattened/encrypt.ts:157](https://github.com/panva/jose/blob/v3.9.0/src/jwe/flattened/encrypt.ts#L157) + +___ + +### setInitializationVector + +▸ **setInitializationVector**(`iv`: *Uint8Array*): [*FlattenedEncrypt*](jwe_flattened_encrypt.flattenedencrypt.md) + +Sets the JWE Initialization Vector to use for content encryption, by default +a random suitable one is generated for the JWE enc" (Encryption Algorithm) +Header Parameter. You do not need to invoke this method, it is only really +intended for test and vector validation purposes. + +#### Parameters: + +Name | Type | Description | +:------ | :------ | :------ | +`iv` | *Uint8Array* | JWE Initialization Vector. | + +**Returns:** [*FlattenedEncrypt*](jwe_flattened_encrypt.flattenedencrypt.md) + +Defined in: [jwe/flattened/encrypt.ts:173](https://github.com/panva/jose/blob/v3.9.0/src/jwe/flattened/encrypt.ts#L173) + +___ + +### setKeyManagementParameters + +▸ **setKeyManagementParameters**(`parameters`: [*JWEKeyManagementHeaderParameters*](../interfaces/types.jwekeymanagementheaderparameters.md)): [*FlattenedEncrypt*](jwe_flattened_encrypt.flattenedencrypt.md) + +Sets the JWE Key Management parameters to be used when encrypting. +Use of this is method is really only needed for ECDH-ES based algorithms +when utilizing the Agreement PartyUInfo or Agreement PartyVInfo parameters. +Other parameters will always be randomly generated when needed and missing. + +#### Parameters: + +Name | Type | Description | +:------ | :------ | :------ | +`parameters` | [*JWEKeyManagementHeaderParameters*](../interfaces/types.jwekeymanagementheaderparameters.md) | JWE Key Management parameters. | + +**Returns:** [*FlattenedEncrypt*](jwe_flattened_encrypt.flattenedencrypt.md) + +Defined in: [jwe/flattened/encrypt.ts:92](https://github.com/panva/jose/blob/v3.9.0/src/jwe/flattened/encrypt.ts#L92) + +___ + +### setProtectedHeader + +▸ **setProtectedHeader**(`protectedHeader`: [*JWEHeaderParameters*](../interfaces/types.jweheaderparameters.md)): [*FlattenedEncrypt*](jwe_flattened_encrypt.flattenedencrypt.md) + +Sets the JWE Protected Header on the FlattenedEncrypt object. + +#### Parameters: + +Name | Type | Description | +:------ | :------ | :------ | +`protectedHeader` | [*JWEHeaderParameters*](../interfaces/types.jweheaderparameters.md) | JWE Protected Header. | + +**Returns:** [*FlattenedEncrypt*](jwe_flattened_encrypt.flattenedencrypt.md) + +Defined in: [jwe/flattened/encrypt.ts:105](https://github.com/panva/jose/blob/v3.9.0/src/jwe/flattened/encrypt.ts#L105) + +___ + +### setSharedUnprotectedHeader + +▸ **setSharedUnprotectedHeader**(`sharedUnprotectedHeader`: [*JWEHeaderParameters*](../interfaces/types.jweheaderparameters.md)): [*FlattenedEncrypt*](jwe_flattened_encrypt.flattenedencrypt.md) + +Sets the JWE Shared Unprotected Header on the FlattenedEncrypt object. + +#### Parameters: + +Name | Type | Description | +:------ | :------ | :------ | +`sharedUnprotectedHeader` | [*JWEHeaderParameters*](../interfaces/types.jweheaderparameters.md) | JWE Shared Unprotected Header. | + +**Returns:** [*FlattenedEncrypt*](jwe_flattened_encrypt.flattenedencrypt.md) + +Defined in: [jwe/flattened/encrypt.ts:118](https://github.com/panva/jose/blob/v3.9.0/src/jwe/flattened/encrypt.ts#L118) + +___ + +### setUnprotectedHeader + +▸ **setUnprotectedHeader**(`unprotectedHeader`: [*JWEHeaderParameters*](../interfaces/types.jweheaderparameters.md)): [*FlattenedEncrypt*](jwe_flattened_encrypt.flattenedencrypt.md) + +Sets the JWE Per-Recipient Unprotected Header on the FlattenedEncrypt object. + +#### Parameters: + +Name | Type | Description | +:------ | :------ | :------ | +`unprotectedHeader` | [*JWEHeaderParameters*](../interfaces/types.jweheaderparameters.md) | JWE Per-Recipient Unprotected Header. | + +**Returns:** [*FlattenedEncrypt*](jwe_flattened_encrypt.flattenedencrypt.md) + +Defined in: [jwe/flattened/encrypt.ts:131](https://github.com/panva/jose/blob/v3.9.0/src/jwe/flattened/encrypt.ts#L131) diff --git a/docs/classes/jws_compact_sign.compactsign.md b/docs/classes/jws_compact_sign.compactsign.md new file mode 100644 index 0000000000..65c9905d5a --- /dev/null +++ b/docs/classes/jws_compact_sign.compactsign.md @@ -0,0 +1,103 @@ +# Class: CompactSign + +[jws/compact/sign](../modules/jws_compact_sign.md).CompactSign + +The CompactSign class is a utility for creating Compact JWS strings. + +**`example`** +```js +// ESM import +import { CompactSign } from 'jose/jws/compact/sign' +``` + +**`example`** +```js +// CJS import +const { CompactSign } = require('jose/jws/compact/sign') +``` + +**`example`** +```js +// usage +import { parseJwk } from 'jose/jwk/parse' + +const encoder = new TextEncoder() +const privateKey = await parseJwk({ + alg: 'ES256', + crv: 'P-256', + kty: 'EC', + d: 'VhsfgSRKcvHCGpLyygMbO_YpXc7bVKwi12KQTE4yOR4', + x: 'ySK38C1jBdLwDsNWKzzBHqKYEE5Cgv-qjWvorUXk9fw', + y: '_LeQBw07cf5t57Iavn4j-BqJsAD1dpoz8gokd3sBsOo' +}) + +const jws = await new CompactSign(encoder.encode('It’s a dangerous business, Frodo, going out your door.')) + .setProtectedHeader({ alg: 'ES256' }) + .sign(privateKey) + +console.log(jws) +``` + +## Table of contents + +### Constructors + +- [constructor](jws_compact_sign.compactsign.md#constructor) + +### Methods + +- [setProtectedHeader](jws_compact_sign.compactsign.md#setprotectedheader) +- [sign](jws_compact_sign.compactsign.md#sign) + +## Constructors + +### constructor + +\+ **new CompactSign**(`payload`: *Uint8Array*): [*CompactSign*](jws_compact_sign.compactsign.md) + +#### Parameters: + +Name | Type | Description | +:------ | :------ | :------ | +`payload` | *Uint8Array* | Binary representation of the payload to sign. | + +**Returns:** [*CompactSign*](jws_compact_sign.compactsign.md) + +Defined in: [jws/compact/sign.ts:44](https://github.com/panva/jose/blob/v3.9.0/src/jws/compact/sign.ts#L44) + +## Methods + +### setProtectedHeader + +▸ **setProtectedHeader**(`protectedHeader`: [*JWSHeaderParameters*](../interfaces/types.jwsheaderparameters.md)): [*CompactSign*](jws_compact_sign.compactsign.md) + +Sets the JWS Protected Header on the Sign object. + +#### Parameters: + +Name | Type | Description | +:------ | :------ | :------ | +`protectedHeader` | [*JWSHeaderParameters*](../interfaces/types.jwsheaderparameters.md) | JWS Protected Header. | + +**Returns:** [*CompactSign*](jws_compact_sign.compactsign.md) + +Defined in: [jws/compact/sign.ts:58](https://github.com/panva/jose/blob/v3.9.0/src/jws/compact/sign.ts#L58) + +___ + +### sign + +▸ **sign**(`key`: [*KeyLike*](../types/types.keylike.md), `options?`: [*SignOptions*](../interfaces/types.signoptions.md)): *Promise* + +Signs and resolves the value of the Compact JWS string. + +#### Parameters: + +Name | Type | Description | +:------ | :------ | :------ | +`key` | [*KeyLike*](../types/types.keylike.md) | Private Key or Secret to sign the JWS with. | +`options?` | [*SignOptions*](../interfaces/types.signoptions.md) | JWS Sign options. | + +**Returns:** *Promise* + +Defined in: [jws/compact/sign.ts:69](https://github.com/panva/jose/blob/v3.9.0/src/jws/compact/sign.ts#L69) diff --git a/docs/classes/jws_flattened_sign.flattenedsign.md b/docs/classes/jws_flattened_sign.flattenedsign.md new file mode 100644 index 0000000000..6ad83510aa --- /dev/null +++ b/docs/classes/jws_flattened_sign.flattenedsign.md @@ -0,0 +1,121 @@ +# Class: FlattenedSign + +[jws/flattened/sign](../modules/jws_flattened_sign.md).FlattenedSign + +The FlattenedSign class is a utility for creating Flattened JWS objects. + +**`example`** +```js +// ESM import +import { FlattenedSign } from 'jose/jws/flattened/sign' +``` + +**`example`** +```js +// CJS import +const { FlattenedSign } = require('jose/jws/flattened/sign') +``` + +**`example`** +```js +// usage +import { parseJwk } from 'jose/jwk/parse' + +const encoder = new TextEncoder() +const privateKey = await parseJwk({ + alg: 'ES256', + crv: 'P-256', + kty: 'EC', + d: 'VhsfgSRKcvHCGpLyygMbO_YpXc7bVKwi12KQTE4yOR4', + x: 'ySK38C1jBdLwDsNWKzzBHqKYEE5Cgv-qjWvorUXk9fw', + y: '_LeQBw07cf5t57Iavn4j-BqJsAD1dpoz8gokd3sBsOo' +}) + +const jws = await new FlattenedSign(encoder.encode('It’s a dangerous business, Frodo, going out your door.')) + .setProtectedHeader({ alg: 'ES256' }) + .sign(privateKey) +console.log(jws) +``` + +## Table of contents + +### Constructors + +- [constructor](jws_flattened_sign.flattenedsign.md#constructor) + +### Methods + +- [setProtectedHeader](jws_flattened_sign.flattenedsign.md#setprotectedheader) +- [setUnprotectedHeader](jws_flattened_sign.flattenedsign.md#setunprotectedheader) +- [sign](jws_flattened_sign.flattenedsign.md#sign) + +## Constructors + +### constructor + +\+ **new FlattenedSign**(`payload`: *Uint8Array*): [*FlattenedSign*](jws_flattened_sign.flattenedsign.md) + +#### Parameters: + +Name | Type | Description | +:------ | :------ | :------ | +`payload` | *Uint8Array* | Binary representation of the payload to sign. | + +**Returns:** [*FlattenedSign*](jws_flattened_sign.flattenedsign.md) + +Defined in: [jws/flattened/sign.ts:56](https://github.com/panva/jose/blob/v3.9.0/src/jws/flattened/sign.ts#L56) + +## Methods + +### setProtectedHeader + +▸ **setProtectedHeader**(`protectedHeader`: [*JWSHeaderParameters*](../interfaces/types.jwsheaderparameters.md)): [*FlattenedSign*](jws_flattened_sign.flattenedsign.md) + +Sets the JWS Protected Header on the FlattenedSign object. + +#### Parameters: + +Name | Type | Description | +:------ | :------ | :------ | +`protectedHeader` | [*JWSHeaderParameters*](../interfaces/types.jwsheaderparameters.md) | JWS Protected Header. | + +**Returns:** [*FlattenedSign*](jws_flattened_sign.flattenedsign.md) + +Defined in: [jws/flattened/sign.ts:70](https://github.com/panva/jose/blob/v3.9.0/src/jws/flattened/sign.ts#L70) + +___ + +### setUnprotectedHeader + +▸ **setUnprotectedHeader**(`unprotectedHeader`: [*JWSHeaderParameters*](../interfaces/types.jwsheaderparameters.md)): [*FlattenedSign*](jws_flattened_sign.flattenedsign.md) + +Sets the JWS Unprotected Header on the FlattenedSign object. + +#### Parameters: + +Name | Type | Description | +:------ | :------ | :------ | +`unprotectedHeader` | [*JWSHeaderParameters*](../interfaces/types.jwsheaderparameters.md) | JWS Unprotected Header. | + +**Returns:** [*FlattenedSign*](jws_flattened_sign.flattenedsign.md) + +Defined in: [jws/flattened/sign.ts:83](https://github.com/panva/jose/blob/v3.9.0/src/jws/flattened/sign.ts#L83) + +___ + +### sign + +▸ **sign**(`key`: [*KeyLike*](../types/types.keylike.md), `options?`: [*SignOptions*](../interfaces/types.signoptions.md)): *Promise*<[*FlattenedJWS*](../interfaces/types.flattenedjws.md)\> + +Signs and resolves the value of the Flattened JWS object. + +#### Parameters: + +Name | Type | Description | +:------ | :------ | :------ | +`key` | [*KeyLike*](../types/types.keylike.md) | Private Key or Secret to sign the JWS with. | +`options?` | [*SignOptions*](../interfaces/types.signoptions.md) | JWS Sign options. | + +**Returns:** *Promise*<[*FlattenedJWS*](../interfaces/types.flattenedjws.md)\> + +Defined in: [jws/flattened/sign.ts:97](https://github.com/panva/jose/blob/v3.9.0/src/jws/flattened/sign.ts#L97) diff --git a/docs/classes/_jws_general_sign_.generalsign.md b/docs/classes/jws_general_sign.generalsign.md similarity index 64% rename from docs/classes/_jws_general_sign_.generalsign.md rename to docs/classes/jws_general_sign.generalsign.md index c64bb42667..08a1f68609 100644 --- a/docs/classes/_jws_general_sign_.generalsign.md +++ b/docs/classes/jws_general_sign.generalsign.md @@ -1,23 +1,25 @@ # Class: GeneralSign +[jws/general/sign](../modules/jws_general_sign.md).GeneralSign + The GeneralSign class is a utility for creating General JWS objects. **`example`** ```js // ESM import -import GeneralSign from 'jose/jws/general/sign' +import { GeneralSign } from 'jose/jws/general/sign' ``` **`example`** ```js // CJS import -const { default: GeneralSign } = require('jose/jws/general/sign') +const { GeneralSign } = require('jose/jws/general/sign') ``` **`example`** ```js // usage -import parseJwk from 'jose/jwk/parse' +import { parseJwk } from 'jose/jwk/parse' const encoder = new TextEncoder() const ecPrivateKey = await parseJwk({ @@ -54,58 +56,58 @@ sign const jws = await sign.sign() ``` -## Index +## Table of contents ### Constructors -* [constructor](_jws_general_sign_.generalsign.md#constructor) +- [constructor](jws_general_sign.generalsign.md#constructor) ### Methods -* [addSignature](_jws_general_sign_.generalsign.md#addsignature) -* [sign](_jws_general_sign_.generalsign.md#sign) +- [addSignature](jws_general_sign.generalsign.md#addsignature) +- [sign](jws_general_sign.generalsign.md#sign) ## Constructors ### constructor -\+ **new GeneralSign**(`payload`: Uint8Array): [GeneralSign](_jws_general_sign_.generalsign.md) - -*Defined in [src/jws/general/sign.ts:124](https://github.com/panva/jose/blob/v3.8.0/src/jws/general/sign.ts#L124)* +\+ **new GeneralSign**(`payload`: *Uint8Array*): [*GeneralSign*](jws_general_sign.generalsign.md) #### Parameters: Name | Type | Description | ------- | ------ | ------ | -`payload` | Uint8Array | Binary representation of the payload to sign. | +:------ | :------ | :------ | +`payload` | *Uint8Array* | Binary representation of the payload to sign. | -**Returns:** [GeneralSign](_jws_general_sign_.generalsign.md) +**Returns:** [*GeneralSign*](jws_general_sign.generalsign.md) + +Defined in: [jws/general/sign.ts:124](https://github.com/panva/jose/blob/v3.9.0/src/jws/general/sign.ts#L124) ## Methods ### addSignature -▸ **addSignature**(`key`: [KeyLike](../types/_types_d_.keylike.md), `options?`: [SignOptions](../interfaces/_types_d_.signoptions.md)): [Signature](../interfaces/_jws_general_sign_.signature.md) - -*Defined in [src/jws/general/sign.ts:133](https://github.com/panva/jose/blob/v3.8.0/src/jws/general/sign.ts#L133)* +▸ **addSignature**(`key`: [*KeyLike*](../types/types.keylike.md), `options?`: [*SignOptions*](../interfaces/types.signoptions.md)): [*Signature*](../interfaces/jws_general_sign.signature.md) #### Parameters: Name | Type | ------- | ------ | -`key` | [KeyLike](../types/_types_d_.keylike.md) | -`options?` | [SignOptions](../interfaces/_types_d_.signoptions.md) | +:------ | :------ | +`key` | [*KeyLike*](../types/types.keylike.md) | +`options?` | [*SignOptions*](../interfaces/types.signoptions.md) | -**Returns:** [Signature](../interfaces/_jws_general_sign_.signature.md) +**Returns:** [*Signature*](../interfaces/jws_general_sign.signature.md) + +Defined in: [jws/general/sign.ts:133](https://github.com/panva/jose/blob/v3.9.0/src/jws/general/sign.ts#L133) ___ ### sign -▸ **sign**(): Promise<[GeneralJWS](../interfaces/_types_d_.generaljws.md)\> - -*Defined in [src/jws/general/sign.ts:143](https://github.com/panva/jose/blob/v3.8.0/src/jws/general/sign.ts#L143)* +▸ **sign**(): *Promise*<[*GeneralJWS*](../interfaces/types.generaljws.md)\> Signs and resolves the value of the General JWS object. -**Returns:** Promise<[GeneralJWS](../interfaces/_types_d_.generaljws.md)\> +**Returns:** *Promise*<[*GeneralJWS*](../interfaces/types.generaljws.md)\> + +Defined in: [jws/general/sign.ts:143](https://github.com/panva/jose/blob/v3.9.0/src/jws/general/sign.ts#L143) diff --git a/docs/classes/jwt_encrypt.encryptjwt.md b/docs/classes/jwt_encrypt.encryptjwt.md new file mode 100644 index 0000000000..ac4fdf1b14 --- /dev/null +++ b/docs/classes/jwt_encrypt.encryptjwt.md @@ -0,0 +1,364 @@ +# Class: EncryptJWT + +[jwt/encrypt](../modules/jwt_encrypt.md).EncryptJWT + +The EncryptJWT class is a utility for creating Compact JWE formatted JWT strings. + +**`example`** +```js +// ESM import +import { EncryptJWT } from 'jose/jwt/encrypt' +``` + +**`example`** +```js +// CJS import +const { EncryptJWT } = require('jose/jwt/encrypt') +``` + +**`example`** +```js +// usage +const secretKey = Uint8Array.from([ + 206, 203, 53, 165, 235, 214, 153, 188, + 248, 225, 1, 132, 105, 204, 75, 42, + 186, 185, 24, 223, 136, 66, 116, 59, + 183, 155, 52, 52, 101, 167, 201, 85 +]) +const jwt = await new EncryptJWT({ 'urn:example:claim': true }) + .setProtectedHeader({ alg: 'dir', enc: 'A256GCM' }) + .setIssuedAt() + .setIssuer('urn:example:issuer') + .setAudience('urn:example:audience') + .setExpirationTime('2h') + .encrypt(secretKey) + +console.log(jwt) +``` + +## Hierarchy + +* *ProduceJWT* + + ↳ **EncryptJWT** + +## Table of contents + +### Constructors + +- [constructor](jwt_encrypt.encryptjwt.md#constructor) + +### Methods + +- [encrypt](jwt_encrypt.encryptjwt.md#encrypt) +- [replicateAudienceAsHeader](jwt_encrypt.encryptjwt.md#replicateaudienceasheader) +- [replicateIssuerAsHeader](jwt_encrypt.encryptjwt.md#replicateissuerasheader) +- [replicateSubjectAsHeader](jwt_encrypt.encryptjwt.md#replicatesubjectasheader) +- [setAudience](jwt_encrypt.encryptjwt.md#setaudience) +- [setContentEncryptionKey](jwt_encrypt.encryptjwt.md#setcontentencryptionkey) +- [setExpirationTime](jwt_encrypt.encryptjwt.md#setexpirationtime) +- [setInitializationVector](jwt_encrypt.encryptjwt.md#setinitializationvector) +- [setIssuedAt](jwt_encrypt.encryptjwt.md#setissuedat) +- [setIssuer](jwt_encrypt.encryptjwt.md#setissuer) +- [setJti](jwt_encrypt.encryptjwt.md#setjti) +- [setKeyManagementParameters](jwt_encrypt.encryptjwt.md#setkeymanagementparameters) +- [setNotBefore](jwt_encrypt.encryptjwt.md#setnotbefore) +- [setProtectedHeader](jwt_encrypt.encryptjwt.md#setprotectedheader) +- [setSubject](jwt_encrypt.encryptjwt.md#setsubject) + +## Constructors + +### constructor + +\+ **new EncryptJWT**(`payload`: [*JWTPayload*](../interfaces/types.jwtpayload.md)): [*EncryptJWT*](jwt_encrypt.encryptjwt.md) + +#### Parameters: + +Name | Type | Description | +:------ | :------ | :------ | +`payload` | [*JWTPayload*](../interfaces/types.jwtpayload.md) | The JWT Claims Set object. | + +**Returns:** [*EncryptJWT*](jwt_encrypt.encryptjwt.md) + +Inherited from: void + +Defined in: [lib/jwt_producer.ts:10](https://github.com/panva/jose/blob/v3.9.0/src/lib/jwt_producer.ts#L10) + +## Methods + +### encrypt + +▸ **encrypt**(`key`: [*KeyLike*](../types/types.keylike.md), `options?`: [*EncryptOptions*](../interfaces/types.encryptoptions.md)): *Promise* + +Encrypts and returns the JWT. + +#### Parameters: + +Name | Type | Description | +:------ | :------ | :------ | +`key` | [*KeyLike*](../types/types.keylike.md) | Public Key or Secret to encrypt the JWT with. | +`options?` | [*EncryptOptions*](../interfaces/types.encryptoptions.md) | JWE Encryption options. | + +**Returns:** *Promise* + +Defined in: [jwt/encrypt.ts:160](https://github.com/panva/jose/blob/v3.9.0/src/jwt/encrypt.ts#L160) + +___ + +### replicateAudienceAsHeader + +▸ **replicateAudienceAsHeader**(): [*EncryptJWT*](jwt_encrypt.encryptjwt.md) + +Replicates the "aud" (Audience) Claim as a JWE Protected Header Parameter as per +[RFC7519#section-5.3](https://tools.ietf.org/html/rfc7519#section-5.3). + +**Returns:** [*EncryptJWT*](jwt_encrypt.encryptjwt.md) + +Defined in: [jwt/encrypt.ts:149](https://github.com/panva/jose/blob/v3.9.0/src/jwt/encrypt.ts#L149) + +___ + +### replicateIssuerAsHeader + +▸ **replicateIssuerAsHeader**(): [*EncryptJWT*](jwt_encrypt.encryptjwt.md) + +Replicates the "iss" (Issuer) Claim as a JWE Protected Header Parameter as per +[RFC7519#section-5.3](https://tools.ietf.org/html/rfc7519#section-5.3). + +**Returns:** [*EncryptJWT*](jwt_encrypt.encryptjwt.md) + +Defined in: [jwt/encrypt.ts:131](https://github.com/panva/jose/blob/v3.9.0/src/jwt/encrypt.ts#L131) + +___ + +### replicateSubjectAsHeader + +▸ **replicateSubjectAsHeader**(): [*EncryptJWT*](jwt_encrypt.encryptjwt.md) + +Replicates the "sub" (Subject) Claim as a JWE Protected Header Parameter as per +[RFC7519#section-5.3](https://tools.ietf.org/html/rfc7519#section-5.3). + +**Returns:** [*EncryptJWT*](jwt_encrypt.encryptjwt.md) + +Defined in: [jwt/encrypt.ts:140](https://github.com/panva/jose/blob/v3.9.0/src/jwt/encrypt.ts#L140) + +___ + +### setAudience + +▸ **setAudience**(`audience`: *string* \| *string*[]): [*EncryptJWT*](jwt_encrypt.encryptjwt.md) + +Set "aud" (Audience) Claim. + +#### Parameters: + +Name | Type | Description | +:------ | :------ | :------ | +`audience` | *string* \| *string*[] | "aud" (Audience) Claim value to set on the JWT Claims Set. | + +**Returns:** [*EncryptJWT*](jwt_encrypt.encryptjwt.md) + +Inherited from: void + +Defined in: [lib/jwt_producer.ts:47](https://github.com/panva/jose/blob/v3.9.0/src/lib/jwt_producer.ts#L47) + +___ + +### setContentEncryptionKey + +▸ **setContentEncryptionKey**(`cek`: *Uint8Array*): [*EncryptJWT*](jwt_encrypt.encryptjwt.md) + +Sets a content encryption key to use, by default a random suitable one +is generated for the JWE enc" (Encryption Algorithm) Header Parameter. +You do not need to invoke this method, it is only really intended for +test and vector validation purposes. + +#### Parameters: + +Name | Type | Description | +:------ | :------ | :------ | +`cek` | *Uint8Array* | JWE Content Encryption Key. | + +**Returns:** [*EncryptJWT*](jwt_encrypt.encryptjwt.md) + +Defined in: [jwt/encrypt.ts:103](https://github.com/panva/jose/blob/v3.9.0/src/jwt/encrypt.ts#L103) + +___ + +### setExpirationTime + +▸ **setExpirationTime**(`input`: *string* \| *number*): [*EncryptJWT*](jwt_encrypt.encryptjwt.md) + +Set "exp" (Expiration Time) Claim. + +#### Parameters: + +Name | Type | Description | +:------ | :------ | :------ | +`input` | *string* \| *number* | "exp" (Expiration Time) Claim value to set on the JWT Claims Set. When number is passed that is used as a value, when string is passed it is resolved to a time span and added to the current timestamp. | + +**Returns:** [*EncryptJWT*](jwt_encrypt.encryptjwt.md) + +Inherited from: void + +Defined in: [lib/jwt_producer.ts:85](https://github.com/panva/jose/blob/v3.9.0/src/lib/jwt_producer.ts#L85) + +___ + +### setInitializationVector + +▸ **setInitializationVector**(`iv`: *Uint8Array*): [*EncryptJWT*](jwt_encrypt.encryptjwt.md) + +Sets the JWE Initialization Vector to use for content encryption, by default +a random suitable one is generated for the JWE enc" (Encryption Algorithm) +Header Parameter. You do not need to invoke this method, it is only really +intended for test and vector validation purposes. + +#### Parameters: + +Name | Type | Description | +:------ | :------ | :------ | +`iv` | *Uint8Array* | JWE Initialization Vector. | + +**Returns:** [*EncryptJWT*](jwt_encrypt.encryptjwt.md) + +Defined in: [jwt/encrypt.ts:119](https://github.com/panva/jose/blob/v3.9.0/src/jwt/encrypt.ts#L119) + +___ + +### setIssuedAt + +▸ **setIssuedAt**(`input?`: *number*): [*EncryptJWT*](jwt_encrypt.encryptjwt.md) + +Set "iat" (Issued At) Claim. + +#### Parameters: + +Name | Type | Description | +:------ | :------ | :------ | +`input?` | *number* | "iat" (Issued At) Claim value to set on the JWT Claims Set. Default is current timestamp. | + +**Returns:** [*EncryptJWT*](jwt_encrypt.encryptjwt.md) + +Inherited from: void + +Defined in: [lib/jwt_producer.ts:100](https://github.com/panva/jose/blob/v3.9.0/src/lib/jwt_producer.ts#L100) + +___ + +### setIssuer + +▸ **setIssuer**(`issuer`: *string*): [*EncryptJWT*](jwt_encrypt.encryptjwt.md) + +Set "iss" (Issuer) Claim. + +#### Parameters: + +Name | Type | Description | +:------ | :------ | :------ | +`issuer` | *string* | "Issuer" Claim value to set on the JWT Claims Set. | + +**Returns:** [*EncryptJWT*](jwt_encrypt.encryptjwt.md) + +Inherited from: void + +Defined in: [lib/jwt_producer.ts:27](https://github.com/panva/jose/blob/v3.9.0/src/lib/jwt_producer.ts#L27) + +___ + +### setJti + +▸ **setJti**(`jwtId`: *string*): [*EncryptJWT*](jwt_encrypt.encryptjwt.md) + +Set "jti" (JWT ID) Claim. + +#### Parameters: + +Name | Type | Description | +:------ | :------ | :------ | +`jwtId` | *string* | "jti" (JWT ID) Claim value to set on the JWT Claims Set. | + +**Returns:** [*EncryptJWT*](jwt_encrypt.encryptjwt.md) + +Inherited from: void + +Defined in: [lib/jwt_producer.ts:57](https://github.com/panva/jose/blob/v3.9.0/src/lib/jwt_producer.ts#L57) + +___ + +### setKeyManagementParameters + +▸ **setKeyManagementParameters**(`parameters`: [*JWEKeyManagementHeaderParameters*](../interfaces/types.jwekeymanagementheaderparameters.md)): [*EncryptJWT*](jwt_encrypt.encryptjwt.md) + +Sets the JWE Key Management parameters to be used when encrypting. +Use of this is method is really only needed for ECDH-ES based algorithms +when utilizing the Agreement PartyUInfo or Agreement PartyVInfo parameters. +Other parameters will always be randomly generated when needed and missing. + +#### Parameters: + +Name | Type | Description | +:------ | :------ | :------ | +`parameters` | [*JWEKeyManagementHeaderParameters*](../interfaces/types.jwekeymanagementheaderparameters.md) | JWE Key Management parameters. | + +**Returns:** [*EncryptJWT*](jwt_encrypt.encryptjwt.md) + +Defined in: [jwt/encrypt.ts:87](https://github.com/panva/jose/blob/v3.9.0/src/jwt/encrypt.ts#L87) + +___ + +### setNotBefore + +▸ **setNotBefore**(`input`: *string* \| *number*): [*EncryptJWT*](jwt_encrypt.encryptjwt.md) + +Set "nbf" (Not Before) Claim. + +#### Parameters: + +Name | Type | Description | +:------ | :------ | :------ | +`input` | *string* \| *number* | "nbf" (Not Before) Claim value to set on the JWT Claims Set. When number is passed that is used as a value, when string is passed it is resolved to a time span and added to the current timestamp. | + +**Returns:** [*EncryptJWT*](jwt_encrypt.encryptjwt.md) + +Inherited from: void + +Defined in: [lib/jwt_producer.ts:69](https://github.com/panva/jose/blob/v3.9.0/src/lib/jwt_producer.ts#L69) + +___ + +### setProtectedHeader + +▸ **setProtectedHeader**(`protectedHeader`: [*JWEHeaderParameters*](../interfaces/types.jweheaderparameters.md)): [*EncryptJWT*](jwt_encrypt.encryptjwt.md) + +Sets the JWE Protected Header on the EncryptJWT object. + +#### Parameters: + +Name | Type | Description | +:------ | :------ | :------ | +`protectedHeader` | [*JWEHeaderParameters*](../interfaces/types.jweheaderparameters.md) | JWE Protected Header. Must contain an "alg" (JWE Algorithm) and "enc" (JWE Encryption Algorithm) properties. | + +**Returns:** [*EncryptJWT*](jwt_encrypt.encryptjwt.md) + +Defined in: [jwt/encrypt.ts:71](https://github.com/panva/jose/blob/v3.9.0/src/jwt/encrypt.ts#L71) + +___ + +### setSubject + +▸ **setSubject**(`subject`: *string*): [*EncryptJWT*](jwt_encrypt.encryptjwt.md) + +Set "sub" (Subject) Claim. + +#### Parameters: + +Name | Type | Description | +:------ | :------ | :------ | +`subject` | *string* | "sub" (Subject) Claim value to set on the JWT Claims Set. | + +**Returns:** [*EncryptJWT*](jwt_encrypt.encryptjwt.md) + +Inherited from: void + +Defined in: [lib/jwt_producer.ts:37](https://github.com/panva/jose/blob/v3.9.0/src/lib/jwt_producer.ts#L37) diff --git a/docs/classes/jwt_sign.signjwt.md b/docs/classes/jwt_sign.signjwt.md new file mode 100644 index 0000000000..463b41d0d8 --- /dev/null +++ b/docs/classes/jwt_sign.signjwt.md @@ -0,0 +1,261 @@ +# Class: SignJWT + +[jwt/sign](../modules/jwt_sign.md).SignJWT + +The SignJWT class is a utility for creating Compact JWS formatted JWT strings. + +**`example`** +```js +// ESM import +import { SignJWT } from 'jose/jwt/sign' +``` + +**`example`** +```js +// CJS import +const { SignJWT } = require('jose/jwt/sign') +``` + +**`example`** +```js +// usage +import { parseJwk } from 'jose/jwk/parse' + +const privateKey = await parseJwk({ + alg: 'ES256', + crv: 'P-256', + kty: 'EC', + d: 'VhsfgSRKcvHCGpLyygMbO_YpXc7bVKwi12KQTE4yOR4', + x: 'ySK38C1jBdLwDsNWKzzBHqKYEE5Cgv-qjWvorUXk9fw', + y: '_LeQBw07cf5t57Iavn4j-BqJsAD1dpoz8gokd3sBsOo' +}) + +const jwt = await new SignJWT({ 'urn:example:claim': true }) + .setProtectedHeader({ alg: 'ES256' }) + .setIssuedAt() + .setIssuer('urn:example:issuer') + .setAudience('urn:example:audience') + .setExpirationTime('2h') + .sign(privateKey) + +console.log(jwt) +``` + +## Hierarchy + +* *ProduceJWT* + + ↳ **SignJWT** + +## Table of contents + +### Constructors + +- [constructor](jwt_sign.signjwt.md#constructor) + +### Methods + +- [setAudience](jwt_sign.signjwt.md#setaudience) +- [setExpirationTime](jwt_sign.signjwt.md#setexpirationtime) +- [setIssuedAt](jwt_sign.signjwt.md#setissuedat) +- [setIssuer](jwt_sign.signjwt.md#setissuer) +- [setJti](jwt_sign.signjwt.md#setjti) +- [setNotBefore](jwt_sign.signjwt.md#setnotbefore) +- [setProtectedHeader](jwt_sign.signjwt.md#setprotectedheader) +- [setSubject](jwt_sign.signjwt.md#setsubject) +- [sign](jwt_sign.signjwt.md#sign) + +## Constructors + +### constructor + +\+ **new SignJWT**(`payload`: [*JWTPayload*](../interfaces/types.jwtpayload.md)): [*SignJWT*](jwt_sign.signjwt.md) + +#### Parameters: + +Name | Type | Description | +:------ | :------ | :------ | +`payload` | [*JWTPayload*](../interfaces/types.jwtpayload.md) | The JWT Claims Set object. | + +**Returns:** [*SignJWT*](jwt_sign.signjwt.md) + +Inherited from: void + +Defined in: [lib/jwt_producer.ts:10](https://github.com/panva/jose/blob/v3.9.0/src/lib/jwt_producer.ts#L10) + +## Methods + +### setAudience + +▸ **setAudience**(`audience`: *string* \| *string*[]): [*SignJWT*](jwt_sign.signjwt.md) + +Set "aud" (Audience) Claim. + +#### Parameters: + +Name | Type | Description | +:------ | :------ | :------ | +`audience` | *string* \| *string*[] | "aud" (Audience) Claim value to set on the JWT Claims Set. | + +**Returns:** [*SignJWT*](jwt_sign.signjwt.md) + +Inherited from: void + +Defined in: [lib/jwt_producer.ts:47](https://github.com/panva/jose/blob/v3.9.0/src/lib/jwt_producer.ts#L47) + +___ + +### setExpirationTime + +▸ **setExpirationTime**(`input`: *string* \| *number*): [*SignJWT*](jwt_sign.signjwt.md) + +Set "exp" (Expiration Time) Claim. + +#### Parameters: + +Name | Type | Description | +:------ | :------ | :------ | +`input` | *string* \| *number* | "exp" (Expiration Time) Claim value to set on the JWT Claims Set. When number is passed that is used as a value, when string is passed it is resolved to a time span and added to the current timestamp. | + +**Returns:** [*SignJWT*](jwt_sign.signjwt.md) + +Inherited from: void + +Defined in: [lib/jwt_producer.ts:85](https://github.com/panva/jose/blob/v3.9.0/src/lib/jwt_producer.ts#L85) + +___ + +### setIssuedAt + +▸ **setIssuedAt**(`input?`: *number*): [*SignJWT*](jwt_sign.signjwt.md) + +Set "iat" (Issued At) Claim. + +#### Parameters: + +Name | Type | Description | +:------ | :------ | :------ | +`input?` | *number* | "iat" (Issued At) Claim value to set on the JWT Claims Set. Default is current timestamp. | + +**Returns:** [*SignJWT*](jwt_sign.signjwt.md) + +Inherited from: void + +Defined in: [lib/jwt_producer.ts:100](https://github.com/panva/jose/blob/v3.9.0/src/lib/jwt_producer.ts#L100) + +___ + +### setIssuer + +▸ **setIssuer**(`issuer`: *string*): [*SignJWT*](jwt_sign.signjwt.md) + +Set "iss" (Issuer) Claim. + +#### Parameters: + +Name | Type | Description | +:------ | :------ | :------ | +`issuer` | *string* | "Issuer" Claim value to set on the JWT Claims Set. | + +**Returns:** [*SignJWT*](jwt_sign.signjwt.md) + +Inherited from: void + +Defined in: [lib/jwt_producer.ts:27](https://github.com/panva/jose/blob/v3.9.0/src/lib/jwt_producer.ts#L27) + +___ + +### setJti + +▸ **setJti**(`jwtId`: *string*): [*SignJWT*](jwt_sign.signjwt.md) + +Set "jti" (JWT ID) Claim. + +#### Parameters: + +Name | Type | Description | +:------ | :------ | :------ | +`jwtId` | *string* | "jti" (JWT ID) Claim value to set on the JWT Claims Set. | + +**Returns:** [*SignJWT*](jwt_sign.signjwt.md) + +Inherited from: void + +Defined in: [lib/jwt_producer.ts:57](https://github.com/panva/jose/blob/v3.9.0/src/lib/jwt_producer.ts#L57) + +___ + +### setNotBefore + +▸ **setNotBefore**(`input`: *string* \| *number*): [*SignJWT*](jwt_sign.signjwt.md) + +Set "nbf" (Not Before) Claim. + +#### Parameters: + +Name | Type | Description | +:------ | :------ | :------ | +`input` | *string* \| *number* | "nbf" (Not Before) Claim value to set on the JWT Claims Set. When number is passed that is used as a value, when string is passed it is resolved to a time span and added to the current timestamp. | + +**Returns:** [*SignJWT*](jwt_sign.signjwt.md) + +Inherited from: void + +Defined in: [lib/jwt_producer.ts:69](https://github.com/panva/jose/blob/v3.9.0/src/lib/jwt_producer.ts#L69) + +___ + +### setProtectedHeader + +▸ **setProtectedHeader**(`protectedHeader`: [*JWSHeaderParameters*](../interfaces/types.jwsheaderparameters.md)): [*SignJWT*](jwt_sign.signjwt.md) + +Sets the JWS Protected Header on the SignJWT object. + +#### Parameters: + +Name | Type | Description | +:------ | :------ | :------ | +`protectedHeader` | [*JWSHeaderParameters*](../interfaces/types.jwsheaderparameters.md) | JWS Protected Header. | + +**Returns:** [*SignJWT*](jwt_sign.signjwt.md) + +Defined in: [jwt/sign.ts:57](https://github.com/panva/jose/blob/v3.9.0/src/jwt/sign.ts#L57) + +___ + +### setSubject + +▸ **setSubject**(`subject`: *string*): [*SignJWT*](jwt_sign.signjwt.md) + +Set "sub" (Subject) Claim. + +#### Parameters: + +Name | Type | Description | +:------ | :------ | :------ | +`subject` | *string* | "sub" (Subject) Claim value to set on the JWT Claims Set. | + +**Returns:** [*SignJWT*](jwt_sign.signjwt.md) + +Inherited from: void + +Defined in: [lib/jwt_producer.ts:37](https://github.com/panva/jose/blob/v3.9.0/src/lib/jwt_producer.ts#L37) + +___ + +### sign + +▸ **sign**(`key`: [*KeyLike*](../types/types.keylike.md), `options?`: [*SignOptions*](../interfaces/types.signoptions.md)): *Promise* + +Signs and returns the JWT. + +#### Parameters: + +Name | Type | Description | +:------ | :------ | :------ | +`key` | [*KeyLike*](../types/types.keylike.md) | Private Key or Secret to sign the JWT with. | +`options?` | [*SignOptions*](../interfaces/types.signoptions.md) | JWT Sign options. | + +**Returns:** *Promise* + +Defined in: [jwt/sign.ts:68](https://github.com/panva/jose/blob/v3.9.0/src/jwt/sign.ts#L68) diff --git a/docs/classes/jwt_unsecured.unsecuredjwt.md b/docs/classes/jwt_unsecured.unsecuredjwt.md new file mode 100644 index 0000000000..8f57b60e3c --- /dev/null +++ b/docs/classes/jwt_unsecured.unsecuredjwt.md @@ -0,0 +1,270 @@ +# Class: UnsecuredJWT + +[jwt/unsecured](../modules/jwt_unsecured.md).UnsecuredJWT + +The UnsecuredJWT class is a utility for dealing with `{ "alg": "none" }` Unsecured JWTs. + +**`example`** +```js +// ESM import +import { UnsecuredJWT } from 'jose/jwt/unsecured' +``` + +**`example`** +```js +// CJS import +const { UnsecuredJWT } = require('jose/jwt/unsecured') +``` + +**`example`** +```js +// encoding + +const unsecuredJwt = new UnsecuredJWT({ 'urn:example:claim': true }) + .setIssuedAt() + .setIssuer('urn:example:issuer') + .setAudience('urn:example:audience') + .setExpirationTime('2h') + .encode() + +console.log(unsecuredJwt) +``` + +**`example`** +```js +// decoding + +const payload = new UnsecuredJWT.decode(jwt, { + issuer: 'urn:example:issuer', + audience: 'urn:example:audience' +}) + +console.log(payload) +``` + +## Hierarchy + +* *ProduceJWT* + + ↳ **UnsecuredJWT** + +## Table of contents + +### Constructors + +- [constructor](jwt_unsecured.unsecuredjwt.md#constructor) + +### Methods + +- [encode](jwt_unsecured.unsecuredjwt.md#encode) +- [setAudience](jwt_unsecured.unsecuredjwt.md#setaudience) +- [setExpirationTime](jwt_unsecured.unsecuredjwt.md#setexpirationtime) +- [setIssuedAt](jwt_unsecured.unsecuredjwt.md#setissuedat) +- [setIssuer](jwt_unsecured.unsecuredjwt.md#setissuer) +- [setJti](jwt_unsecured.unsecuredjwt.md#setjti) +- [setNotBefore](jwt_unsecured.unsecuredjwt.md#setnotbefore) +- [setSubject](jwt_unsecured.unsecuredjwt.md#setsubject) +- [decode](jwt_unsecured.unsecuredjwt.md#decode) + +## Constructors + +### constructor + +\+ **new UnsecuredJWT**(`payload`: [*JWTPayload*](../interfaces/types.jwtpayload.md)): [*UnsecuredJWT*](jwt_unsecured.unsecuredjwt.md) + +#### Parameters: + +Name | Type | Description | +:------ | :------ | :------ | +`payload` | [*JWTPayload*](../interfaces/types.jwtpayload.md) | The JWT Claims Set object. | + +**Returns:** [*UnsecuredJWT*](jwt_unsecured.unsecuredjwt.md) + +Inherited from: void + +Defined in: [lib/jwt_producer.ts:10](https://github.com/panva/jose/blob/v3.9.0/src/lib/jwt_producer.ts#L10) + +## Methods + +### encode + +▸ **encode**(): *string* + +Encodes the Unsecured JWT. + +**Returns:** *string* + +Defined in: [jwt/unsecured.ts:55](https://github.com/panva/jose/blob/v3.9.0/src/jwt/unsecured.ts#L55) + +___ + +### setAudience + +▸ **setAudience**(`audience`: *string* \| *string*[]): [*UnsecuredJWT*](jwt_unsecured.unsecuredjwt.md) + +Set "aud" (Audience) Claim. + +#### Parameters: + +Name | Type | Description | +:------ | :------ | :------ | +`audience` | *string* \| *string*[] | "aud" (Audience) Claim value to set on the JWT Claims Set. | + +**Returns:** [*UnsecuredJWT*](jwt_unsecured.unsecuredjwt.md) + +Inherited from: void + +Defined in: [lib/jwt_producer.ts:47](https://github.com/panva/jose/blob/v3.9.0/src/lib/jwt_producer.ts#L47) + +___ + +### setExpirationTime + +▸ **setExpirationTime**(`input`: *string* \| *number*): [*UnsecuredJWT*](jwt_unsecured.unsecuredjwt.md) + +Set "exp" (Expiration Time) Claim. + +#### Parameters: + +Name | Type | Description | +:------ | :------ | :------ | +`input` | *string* \| *number* | "exp" (Expiration Time) Claim value to set on the JWT Claims Set. When number is passed that is used as a value, when string is passed it is resolved to a time span and added to the current timestamp. | + +**Returns:** [*UnsecuredJWT*](jwt_unsecured.unsecuredjwt.md) + +Inherited from: void + +Defined in: [lib/jwt_producer.ts:85](https://github.com/panva/jose/blob/v3.9.0/src/lib/jwt_producer.ts#L85) + +___ + +### setIssuedAt + +▸ **setIssuedAt**(`input?`: *number*): [*UnsecuredJWT*](jwt_unsecured.unsecuredjwt.md) + +Set "iat" (Issued At) Claim. + +#### Parameters: + +Name | Type | Description | +:------ | :------ | :------ | +`input?` | *number* | "iat" (Issued At) Claim value to set on the JWT Claims Set. Default is current timestamp. | + +**Returns:** [*UnsecuredJWT*](jwt_unsecured.unsecuredjwt.md) + +Inherited from: void + +Defined in: [lib/jwt_producer.ts:100](https://github.com/panva/jose/blob/v3.9.0/src/lib/jwt_producer.ts#L100) + +___ + +### setIssuer + +▸ **setIssuer**(`issuer`: *string*): [*UnsecuredJWT*](jwt_unsecured.unsecuredjwt.md) + +Set "iss" (Issuer) Claim. + +#### Parameters: + +Name | Type | Description | +:------ | :------ | :------ | +`issuer` | *string* | "Issuer" Claim value to set on the JWT Claims Set. | + +**Returns:** [*UnsecuredJWT*](jwt_unsecured.unsecuredjwt.md) + +Inherited from: void + +Defined in: [lib/jwt_producer.ts:27](https://github.com/panva/jose/blob/v3.9.0/src/lib/jwt_producer.ts#L27) + +___ + +### setJti + +▸ **setJti**(`jwtId`: *string*): [*UnsecuredJWT*](jwt_unsecured.unsecuredjwt.md) + +Set "jti" (JWT ID) Claim. + +#### Parameters: + +Name | Type | Description | +:------ | :------ | :------ | +`jwtId` | *string* | "jti" (JWT ID) Claim value to set on the JWT Claims Set. | + +**Returns:** [*UnsecuredJWT*](jwt_unsecured.unsecuredjwt.md) + +Inherited from: void + +Defined in: [lib/jwt_producer.ts:57](https://github.com/panva/jose/blob/v3.9.0/src/lib/jwt_producer.ts#L57) + +___ + +### setNotBefore + +▸ **setNotBefore**(`input`: *string* \| *number*): [*UnsecuredJWT*](jwt_unsecured.unsecuredjwt.md) + +Set "nbf" (Not Before) Claim. + +#### Parameters: + +Name | Type | Description | +:------ | :------ | :------ | +`input` | *string* \| *number* | "nbf" (Not Before) Claim value to set on the JWT Claims Set. When number is passed that is used as a value, when string is passed it is resolved to a time span and added to the current timestamp. | + +**Returns:** [*UnsecuredJWT*](jwt_unsecured.unsecuredjwt.md) + +Inherited from: void + +Defined in: [lib/jwt_producer.ts:69](https://github.com/panva/jose/blob/v3.9.0/src/lib/jwt_producer.ts#L69) + +___ + +### setSubject + +▸ **setSubject**(`subject`: *string*): [*UnsecuredJWT*](jwt_unsecured.unsecuredjwt.md) + +Set "sub" (Subject) Claim. + +#### Parameters: + +Name | Type | Description | +:------ | :------ | :------ | +`subject` | *string* | "sub" (Subject) Claim value to set on the JWT Claims Set. | + +**Returns:** [*UnsecuredJWT*](jwt_unsecured.unsecuredjwt.md) + +Inherited from: void + +Defined in: [lib/jwt_producer.ts:37](https://github.com/panva/jose/blob/v3.9.0/src/lib/jwt_producer.ts#L37) + +___ + +### decode + +▸ `Static`**decode**(`jwt`: *string*, `options?`: [*JWTClaimVerificationOptions*](../interfaces/types.jwtclaimverificationoptions.md)): *object* + +Decodes an unsecured JWT. + +**`example`** +``` +// decoding +const { payload, header } = UnsecuredJWT.decode(unsecuredJwt) + +console.log(header) +console.log(payload) +``` + +#### Parameters: + +Name | Type | Description | +:------ | :------ | :------ | +`jwt` | *string* | Unsecured JWT to decode the payload of. | +`options?` | [*JWTClaimVerificationOptions*](../interfaces/types.jwtclaimverificationoptions.md) | JWT Claims Set validation options. | + +**Returns:** *object* + +Name | Type | +:------ | :------ | +`header` | [*JWSHeaderParameters*](../interfaces/types.jwsheaderparameters.md) | +`payload` | [*JWTPayload*](../interfaces/types.jwtpayload.md) | + +Defined in: [jwt/unsecured.ts:77](https://github.com/panva/jose/blob/v3.9.0/src/jwt/unsecured.ts#L77) diff --git a/docs/classes/util_errors.josealgnotallowed.md b/docs/classes/util_errors.josealgnotallowed.md new file mode 100644 index 0000000000..12aaab5c5f --- /dev/null +++ b/docs/classes/util_errors.josealgnotallowed.md @@ -0,0 +1,51 @@ +# Class: JOSEAlgNotAllowed + +[util/errors](../modules/util_errors.md).JOSEAlgNotAllowed + +An error subclass thrown when a JOSE Algorithm is not allowed per developer preference. + +## Hierarchy + +* [*JOSEError*](util_errors.joseerror.md) + + ↳ **JOSEAlgNotAllowed** + +## Table of contents + +### Constructors + +- [constructor](util_errors.josealgnotallowed.md#constructor) + +### Properties + +- [code](util_errors.josealgnotallowed.md#code) + +## Constructors + +### constructor + +\+ **new JOSEAlgNotAllowed**(`message?`: *string*): [*JOSEAlgNotAllowed*](util_errors.josealgnotallowed.md) + +#### Parameters: + +Name | Type | +:------ | :------ | +`message?` | *string* | + +**Returns:** [*JOSEAlgNotAllowed*](util_errors.josealgnotallowed.md) + +Inherited from: [JOSEError](util_errors.joseerror.md) + +Defined in: [util/errors.ts:11](https://github.com/panva/jose/blob/v3.9.0/src/util/errors.ts#L11) + +## Properties + +### code + +• **code**: *string*= 'ERR\_JOSE\_ALG\_NOT\_ALLOWED' + +A unique error code for the particular error subclass. + +Overrides: [JOSEError](util_errors.joseerror.md).[code](util_errors.joseerror.md#code) + +Defined in: [util/errors.ts:49](https://github.com/panva/jose/blob/v3.9.0/src/util/errors.ts#L49) diff --git a/docs/classes/util_errors.joseerror.md b/docs/classes/util_errors.joseerror.md new file mode 100644 index 0000000000..bafe81d072 --- /dev/null +++ b/docs/classes/util_errors.joseerror.md @@ -0,0 +1,74 @@ +# Class: JOSEError + +[util/errors](../modules/util_errors.md).JOSEError + +A generic Error subclass that all other specific +JOSE Error subclasses inherit from. + +## Hierarchy + +* *Error* + + ↳ **JOSEError** + + ↳↳ [*JWTClaimValidationFailed*](util_errors.jwtclaimvalidationfailed.md) + + ↳↳ [*JOSEAlgNotAllowed*](util_errors.josealgnotallowed.md) + + ↳↳ [*JOSENotSupported*](util_errors.josenotsupported.md) + + ↳↳ [*JWEDecryptionFailed*](util_errors.jwedecryptionfailed.md) + + ↳↳ [*JWEInvalid*](util_errors.jweinvalid.md) + + ↳↳ [*JWSInvalid*](util_errors.jwsinvalid.md) + + ↳↳ [*JWTInvalid*](util_errors.jwtinvalid.md) + + ↳↳ [*JWKInvalid*](util_errors.jwkinvalid.md) + + ↳↳ [*JWKSInvalid*](util_errors.jwksinvalid.md) + + ↳↳ [*JWKSNoMatchingKey*](util_errors.jwksnomatchingkey.md) + + ↳↳ [*JWKSMultipleMatchingKeys*](util_errors.jwksmultiplematchingkeys.md) + + ↳↳ [*JWSSignatureVerificationFailed*](util_errors.jwssignatureverificationfailed.md) + +## Table of contents + +### Constructors + +- [constructor](util_errors.joseerror.md#constructor) + +### Properties + +- [code](util_errors.joseerror.md#code) + +## Constructors + +### constructor + +\+ **new JOSEError**(`message?`: *string*): [*JOSEError*](util_errors.joseerror.md) + +#### Parameters: + +Name | Type | +:------ | :------ | +`message?` | *string* | + +**Returns:** [*JOSEError*](util_errors.joseerror.md) + +Overrides: void + +Defined in: [util/errors.ts:11](https://github.com/panva/jose/blob/v3.9.0/src/util/errors.ts#L11) + +## Properties + +### code + +• **code**: *string*= 'ERR\_JOSE\_GENERIC' + +A unique error code for the particular error subclass. + +Defined in: [util/errors.ts:11](https://github.com/panva/jose/blob/v3.9.0/src/util/errors.ts#L11) diff --git a/docs/classes/util_errors.josenotsupported.md b/docs/classes/util_errors.josenotsupported.md new file mode 100644 index 0000000000..c383a4c03e --- /dev/null +++ b/docs/classes/util_errors.josenotsupported.md @@ -0,0 +1,52 @@ +# Class: JOSENotSupported + +[util/errors](../modules/util_errors.md).JOSENotSupported + +An error subclass thrown when a particular feature or algorithm is not supported by this +implementation or JOSE in general. + +## Hierarchy + +* [*JOSEError*](util_errors.joseerror.md) + + ↳ **JOSENotSupported** + +## Table of contents + +### Constructors + +- [constructor](util_errors.josenotsupported.md#constructor) + +### Properties + +- [code](util_errors.josenotsupported.md#code) + +## Constructors + +### constructor + +\+ **new JOSENotSupported**(`message?`: *string*): [*JOSENotSupported*](util_errors.josenotsupported.md) + +#### Parameters: + +Name | Type | +:------ | :------ | +`message?` | *string* | + +**Returns:** [*JOSENotSupported*](util_errors.josenotsupported.md) + +Inherited from: [JOSEError](util_errors.joseerror.md) + +Defined in: [util/errors.ts:11](https://github.com/panva/jose/blob/v3.9.0/src/util/errors.ts#L11) + +## Properties + +### code + +• **code**: *string*= 'ERR\_JOSE\_NOT\_SUPPORTED' + +A unique error code for the particular error subclass. + +Overrides: [JOSEError](util_errors.joseerror.md).[code](util_errors.joseerror.md#code) + +Defined in: [util/errors.ts:57](https://github.com/panva/jose/blob/v3.9.0/src/util/errors.ts#L57) diff --git a/docs/classes/util_errors.jwedecryptionfailed.md b/docs/classes/util_errors.jwedecryptionfailed.md new file mode 100644 index 0000000000..a0f5295808 --- /dev/null +++ b/docs/classes/util_errors.jwedecryptionfailed.md @@ -0,0 +1,62 @@ +# Class: JWEDecryptionFailed + +[util/errors](../modules/util_errors.md).JWEDecryptionFailed + +An error subclass thrown when a JWE ciphertext decryption fails. + +## Hierarchy + +* [*JOSEError*](util_errors.joseerror.md) + + ↳ **JWEDecryptionFailed** + +## Table of contents + +### Constructors + +- [constructor](util_errors.jwedecryptionfailed.md#constructor) + +### Properties + +- [code](util_errors.jwedecryptionfailed.md#code) +- [message](util_errors.jwedecryptionfailed.md#message) + +## Constructors + +### constructor + +\+ **new JWEDecryptionFailed**(`message?`: *string*): [*JWEDecryptionFailed*](util_errors.jwedecryptionfailed.md) + +#### Parameters: + +Name | Type | +:------ | :------ | +`message?` | *string* | + +**Returns:** [*JWEDecryptionFailed*](util_errors.jwedecryptionfailed.md) + +Inherited from: [JOSEError](util_errors.joseerror.md) + +Defined in: [util/errors.ts:11](https://github.com/panva/jose/blob/v3.9.0/src/util/errors.ts#L11) + +## Properties + +### code + +• **code**: *string*= 'ERR\_JWE\_DECRYPTION\_FAILED' + +A unique error code for the particular error subclass. + +Overrides: [JOSEError](util_errors.joseerror.md).[code](util_errors.joseerror.md#code) + +Defined in: [util/errors.ts:64](https://github.com/panva/jose/blob/v3.9.0/src/util/errors.ts#L64) + +___ + +### message + +• **message**: *string*= 'decryption operation failed' + +Overrides: void + +Defined in: [util/errors.ts:66](https://github.com/panva/jose/blob/v3.9.0/src/util/errors.ts#L66) diff --git a/docs/classes/util_errors.jweinvalid.md b/docs/classes/util_errors.jweinvalid.md new file mode 100644 index 0000000000..ec95b8cc4c --- /dev/null +++ b/docs/classes/util_errors.jweinvalid.md @@ -0,0 +1,51 @@ +# Class: JWEInvalid + +[util/errors](../modules/util_errors.md).JWEInvalid + +An error subclass thrown when a JWE is invalid. + +## Hierarchy + +* [*JOSEError*](util_errors.joseerror.md) + + ↳ **JWEInvalid** + +## Table of contents + +### Constructors + +- [constructor](util_errors.jweinvalid.md#constructor) + +### Properties + +- [code](util_errors.jweinvalid.md#code) + +## Constructors + +### constructor + +\+ **new JWEInvalid**(`message?`: *string*): [*JWEInvalid*](util_errors.jweinvalid.md) + +#### Parameters: + +Name | Type | +:------ | :------ | +`message?` | *string* | + +**Returns:** [*JWEInvalid*](util_errors.jweinvalid.md) + +Inherited from: [JOSEError](util_errors.joseerror.md) + +Defined in: [util/errors.ts:11](https://github.com/panva/jose/blob/v3.9.0/src/util/errors.ts#L11) + +## Properties + +### code + +• **code**: *string*= 'ERR\_JWE\_INVALID' + +A unique error code for the particular error subclass. + +Overrides: [JOSEError](util_errors.joseerror.md).[code](util_errors.joseerror.md#code) + +Defined in: [util/errors.ts:73](https://github.com/panva/jose/blob/v3.9.0/src/util/errors.ts#L73) diff --git a/docs/classes/util_errors.jwkinvalid.md b/docs/classes/util_errors.jwkinvalid.md new file mode 100644 index 0000000000..99c5ebae26 --- /dev/null +++ b/docs/classes/util_errors.jwkinvalid.md @@ -0,0 +1,51 @@ +# Class: JWKInvalid + +[util/errors](../modules/util_errors.md).JWKInvalid + +An error subclass thrown when a JWK is invalid. + +## Hierarchy + +* [*JOSEError*](util_errors.joseerror.md) + + ↳ **JWKInvalid** + +## Table of contents + +### Constructors + +- [constructor](util_errors.jwkinvalid.md#constructor) + +### Properties + +- [code](util_errors.jwkinvalid.md#code) + +## Constructors + +### constructor + +\+ **new JWKInvalid**(`message?`: *string*): [*JWKInvalid*](util_errors.jwkinvalid.md) + +#### Parameters: + +Name | Type | +:------ | :------ | +`message?` | *string* | + +**Returns:** [*JWKInvalid*](util_errors.jwkinvalid.md) + +Inherited from: [JOSEError](util_errors.joseerror.md) + +Defined in: [util/errors.ts:11](https://github.com/panva/jose/blob/v3.9.0/src/util/errors.ts#L11) + +## Properties + +### code + +• **code**: *string*= 'ERR\_JWK\_INVALID' + +A unique error code for the particular error subclass. + +Overrides: [JOSEError](util_errors.joseerror.md).[code](util_errors.joseerror.md#code) + +Defined in: [util/errors.ts:94](https://github.com/panva/jose/blob/v3.9.0/src/util/errors.ts#L94) diff --git a/docs/classes/util_errors.jwksinvalid.md b/docs/classes/util_errors.jwksinvalid.md new file mode 100644 index 0000000000..86c3991779 --- /dev/null +++ b/docs/classes/util_errors.jwksinvalid.md @@ -0,0 +1,51 @@ +# Class: JWKSInvalid + +[util/errors](../modules/util_errors.md).JWKSInvalid + +An error subclass thrown when a JWKS is invalid. + +## Hierarchy + +* [*JOSEError*](util_errors.joseerror.md) + + ↳ **JWKSInvalid** + +## Table of contents + +### Constructors + +- [constructor](util_errors.jwksinvalid.md#constructor) + +### Properties + +- [code](util_errors.jwksinvalid.md#code) + +## Constructors + +### constructor + +\+ **new JWKSInvalid**(`message?`: *string*): [*JWKSInvalid*](util_errors.jwksinvalid.md) + +#### Parameters: + +Name | Type | +:------ | :------ | +`message?` | *string* | + +**Returns:** [*JWKSInvalid*](util_errors.jwksinvalid.md) + +Inherited from: [JOSEError](util_errors.joseerror.md) + +Defined in: [util/errors.ts:11](https://github.com/panva/jose/blob/v3.9.0/src/util/errors.ts#L11) + +## Properties + +### code + +• **code**: *string*= 'ERR\_JWKS\_INVALID' + +A unique error code for the particular error subclass. + +Overrides: [JOSEError](util_errors.joseerror.md).[code](util_errors.joseerror.md#code) + +Defined in: [util/errors.ts:101](https://github.com/panva/jose/blob/v3.9.0/src/util/errors.ts#L101) diff --git a/docs/classes/util_errors.jwksmultiplematchingkeys.md b/docs/classes/util_errors.jwksmultiplematchingkeys.md new file mode 100644 index 0000000000..dda44bc899 --- /dev/null +++ b/docs/classes/util_errors.jwksmultiplematchingkeys.md @@ -0,0 +1,62 @@ +# Class: JWKSMultipleMatchingKeys + +[util/errors](../modules/util_errors.md).JWKSMultipleMatchingKeys + +An error subclass thrown when multiple keys match from a JWKS. + +## Hierarchy + +* [*JOSEError*](util_errors.joseerror.md) + + ↳ **JWKSMultipleMatchingKeys** + +## Table of contents + +### Constructors + +- [constructor](util_errors.jwksmultiplematchingkeys.md#constructor) + +### Properties + +- [code](util_errors.jwksmultiplematchingkeys.md#code) +- [message](util_errors.jwksmultiplematchingkeys.md#message) + +## Constructors + +### constructor + +\+ **new JWKSMultipleMatchingKeys**(`message?`: *string*): [*JWKSMultipleMatchingKeys*](util_errors.jwksmultiplematchingkeys.md) + +#### Parameters: + +Name | Type | +:------ | :------ | +`message?` | *string* | + +**Returns:** [*JWKSMultipleMatchingKeys*](util_errors.jwksmultiplematchingkeys.md) + +Inherited from: [JOSEError](util_errors.joseerror.md) + +Defined in: [util/errors.ts:11](https://github.com/panva/jose/blob/v3.9.0/src/util/errors.ts#L11) + +## Properties + +### code + +• **code**: *string*= 'ERR\_JWKS\_MULTIPLE\_MATCHING\_KEYS' + +A unique error code for the particular error subclass. + +Overrides: [JOSEError](util_errors.joseerror.md).[code](util_errors.joseerror.md#code) + +Defined in: [util/errors.ts:117](https://github.com/panva/jose/blob/v3.9.0/src/util/errors.ts#L117) + +___ + +### message + +• **message**: *string*= 'multiple matching keys found in the JSON Web Key Set' + +Overrides: void + +Defined in: [util/errors.ts:119](https://github.com/panva/jose/blob/v3.9.0/src/util/errors.ts#L119) diff --git a/docs/classes/util_errors.jwksnomatchingkey.md b/docs/classes/util_errors.jwksnomatchingkey.md new file mode 100644 index 0000000000..c7b4270a8d --- /dev/null +++ b/docs/classes/util_errors.jwksnomatchingkey.md @@ -0,0 +1,62 @@ +# Class: JWKSNoMatchingKey + +[util/errors](../modules/util_errors.md).JWKSNoMatchingKey + +An error subclass thrown when no keys match from a JWKS. + +## Hierarchy + +* [*JOSEError*](util_errors.joseerror.md) + + ↳ **JWKSNoMatchingKey** + +## Table of contents + +### Constructors + +- [constructor](util_errors.jwksnomatchingkey.md#constructor) + +### Properties + +- [code](util_errors.jwksnomatchingkey.md#code) +- [message](util_errors.jwksnomatchingkey.md#message) + +## Constructors + +### constructor + +\+ **new JWKSNoMatchingKey**(`message?`: *string*): [*JWKSNoMatchingKey*](util_errors.jwksnomatchingkey.md) + +#### Parameters: + +Name | Type | +:------ | :------ | +`message?` | *string* | + +**Returns:** [*JWKSNoMatchingKey*](util_errors.jwksnomatchingkey.md) + +Inherited from: [JOSEError](util_errors.joseerror.md) + +Defined in: [util/errors.ts:11](https://github.com/panva/jose/blob/v3.9.0/src/util/errors.ts#L11) + +## Properties + +### code + +• **code**: *string*= 'ERR\_JWKS\_NO\_MATCHING\_KEY' + +A unique error code for the particular error subclass. + +Overrides: [JOSEError](util_errors.joseerror.md).[code](util_errors.joseerror.md#code) + +Defined in: [util/errors.ts:108](https://github.com/panva/jose/blob/v3.9.0/src/util/errors.ts#L108) + +___ + +### message + +• **message**: *string*= 'no applicable key found in the JSON Web Key Set' + +Overrides: void + +Defined in: [util/errors.ts:110](https://github.com/panva/jose/blob/v3.9.0/src/util/errors.ts#L110) diff --git a/docs/classes/util_errors.jwsinvalid.md b/docs/classes/util_errors.jwsinvalid.md new file mode 100644 index 0000000000..976ee68c1e --- /dev/null +++ b/docs/classes/util_errors.jwsinvalid.md @@ -0,0 +1,51 @@ +# Class: JWSInvalid + +[util/errors](../modules/util_errors.md).JWSInvalid + +An error subclass thrown when a JWS is invalid. + +## Hierarchy + +* [*JOSEError*](util_errors.joseerror.md) + + ↳ **JWSInvalid** + +## Table of contents + +### Constructors + +- [constructor](util_errors.jwsinvalid.md#constructor) + +### Properties + +- [code](util_errors.jwsinvalid.md#code) + +## Constructors + +### constructor + +\+ **new JWSInvalid**(`message?`: *string*): [*JWSInvalid*](util_errors.jwsinvalid.md) + +#### Parameters: + +Name | Type | +:------ | :------ | +`message?` | *string* | + +**Returns:** [*JWSInvalid*](util_errors.jwsinvalid.md) + +Inherited from: [JOSEError](util_errors.joseerror.md) + +Defined in: [util/errors.ts:11](https://github.com/panva/jose/blob/v3.9.0/src/util/errors.ts#L11) + +## Properties + +### code + +• **code**: *string*= 'ERR\_JWS\_INVALID' + +A unique error code for the particular error subclass. + +Overrides: [JOSEError](util_errors.joseerror.md).[code](util_errors.joseerror.md#code) + +Defined in: [util/errors.ts:80](https://github.com/panva/jose/blob/v3.9.0/src/util/errors.ts#L80) diff --git a/docs/classes/util_errors.jwssignatureverificationfailed.md b/docs/classes/util_errors.jwssignatureverificationfailed.md new file mode 100644 index 0000000000..52ee175b0c --- /dev/null +++ b/docs/classes/util_errors.jwssignatureverificationfailed.md @@ -0,0 +1,62 @@ +# Class: JWSSignatureVerificationFailed + +[util/errors](../modules/util_errors.md).JWSSignatureVerificationFailed + +An error subclass thrown when JWS signature verification fails. + +## Hierarchy + +* [*JOSEError*](util_errors.joseerror.md) + + ↳ **JWSSignatureVerificationFailed** + +## Table of contents + +### Constructors + +- [constructor](util_errors.jwssignatureverificationfailed.md#constructor) + +### Properties + +- [code](util_errors.jwssignatureverificationfailed.md#code) +- [message](util_errors.jwssignatureverificationfailed.md#message) + +## Constructors + +### constructor + +\+ **new JWSSignatureVerificationFailed**(`message?`: *string*): [*JWSSignatureVerificationFailed*](util_errors.jwssignatureverificationfailed.md) + +#### Parameters: + +Name | Type | +:------ | :------ | +`message?` | *string* | + +**Returns:** [*JWSSignatureVerificationFailed*](util_errors.jwssignatureverificationfailed.md) + +Inherited from: [JOSEError](util_errors.joseerror.md) + +Defined in: [util/errors.ts:11](https://github.com/panva/jose/blob/v3.9.0/src/util/errors.ts#L11) + +## Properties + +### code + +• **code**: *string*= 'ERR\_JWS\_SIGNATURE\_VERIFICATION\_FAILED' + +A unique error code for the particular error subclass. + +Overrides: [JOSEError](util_errors.joseerror.md).[code](util_errors.joseerror.md#code) + +Defined in: [util/errors.ts:126](https://github.com/panva/jose/blob/v3.9.0/src/util/errors.ts#L126) + +___ + +### message + +• **message**: *string*= 'signature verification failed' + +Overrides: void + +Defined in: [util/errors.ts:128](https://github.com/panva/jose/blob/v3.9.0/src/util/errors.ts#L128) diff --git a/docs/classes/util_errors.jwtclaimvalidationfailed.md b/docs/classes/util_errors.jwtclaimvalidationfailed.md new file mode 100644 index 0000000000..4fc4ae2c89 --- /dev/null +++ b/docs/classes/util_errors.jwtclaimvalidationfailed.md @@ -0,0 +1,77 @@ +# Class: JWTClaimValidationFailed + +[util/errors](../modules/util_errors.md).JWTClaimValidationFailed + +An error subclass thrown when a JWT Claim Set member validation fails. + +## Hierarchy + +* [*JOSEError*](util_errors.joseerror.md) + + ↳ **JWTClaimValidationFailed** + + ↳↳ [*JWTExpired*](util_errors.jwtexpired.md) + +## Table of contents + +### Constructors + +- [constructor](util_errors.jwtclaimvalidationfailed.md#constructor) + +### Properties + +- [claim](util_errors.jwtclaimvalidationfailed.md#claim) +- [code](util_errors.jwtclaimvalidationfailed.md#code) +- [reason](util_errors.jwtclaimvalidationfailed.md#reason) + +## Constructors + +### constructor + +\+ **new JWTClaimValidationFailed**(`message`: *string*, `claim?`: *string*, `reason?`: *string*): [*JWTClaimValidationFailed*](util_errors.jwtclaimvalidationfailed.md) + +#### Parameters: + +Name | Type | Default value | +:------ | :------ | :------ | +`message` | *string* | - | +`claim` | *string* | 'unspecified' | +`reason` | *string* | 'unspecified' | + +**Returns:** [*JWTClaimValidationFailed*](util_errors.jwtclaimvalidationfailed.md) + +Overrides: [JOSEError](util_errors.joseerror.md) + +Defined in: [util/errors.ts:36](https://github.com/panva/jose/blob/v3.9.0/src/util/errors.ts#L36) + +## Properties + +### claim + +• **claim**: *string* + +The Claim for which the validation failed. + +Defined in: [util/errors.ts:31](https://github.com/panva/jose/blob/v3.9.0/src/util/errors.ts#L31) + +___ + +### code + +• **code**: *string*= 'ERR\_JWT\_CLAIM\_VALIDATION\_FAILED' + +A unique error code for the particular error subclass. + +Overrides: [JOSEError](util_errors.joseerror.md).[code](util_errors.joseerror.md#code) + +Defined in: [util/errors.ts:26](https://github.com/panva/jose/blob/v3.9.0/src/util/errors.ts#L26) + +___ + +### reason + +• **reason**: *string* + +Reason code for the validation failure. + +Defined in: [util/errors.ts:36](https://github.com/panva/jose/blob/v3.9.0/src/util/errors.ts#L36) diff --git a/docs/classes/util_errors.jwtexpired.md b/docs/classes/util_errors.jwtexpired.md new file mode 100644 index 0000000000..81cc78faea --- /dev/null +++ b/docs/classes/util_errors.jwtexpired.md @@ -0,0 +1,79 @@ +# Class: JWTExpired + +[util/errors](../modules/util_errors.md).JWTExpired + +An error subclass thrown when a JWT is expired. + +## Hierarchy + +* [*JWTClaimValidationFailed*](util_errors.jwtclaimvalidationfailed.md) + + ↳ **JWTExpired** + +## Table of contents + +### Constructors + +- [constructor](util_errors.jwtexpired.md#constructor) + +### Properties + +- [claim](util_errors.jwtexpired.md#claim) +- [code](util_errors.jwtexpired.md#code) +- [reason](util_errors.jwtexpired.md#reason) + +## Constructors + +### constructor + +\+ **new JWTExpired**(`message`: *string*, `claim?`: *string*, `reason?`: *string*): [*JWTExpired*](util_errors.jwtexpired.md) + +#### Parameters: + +Name | Type | Default value | +:------ | :------ | :------ | +`message` | *string* | - | +`claim` | *string* | 'unspecified' | +`reason` | *string* | 'unspecified' | + +**Returns:** [*JWTExpired*](util_errors.jwtexpired.md) + +Inherited from: [JWTClaimValidationFailed](util_errors.jwtclaimvalidationfailed.md) + +Defined in: [util/errors.ts:36](https://github.com/panva/jose/blob/v3.9.0/src/util/errors.ts#L36) + +## Properties + +### claim + +• **claim**: *string* + +The Claim for which the validation failed. + +Inherited from: [JWTClaimValidationFailed](util_errors.jwtclaimvalidationfailed.md).[claim](util_errors.jwtclaimvalidationfailed.md#claim) + +Defined in: [util/errors.ts:31](https://github.com/panva/jose/blob/v3.9.0/src/util/errors.ts#L31) + +___ + +### code + +• **code**: *string*= 'ERR\_JWT\_EXPIRED' + +A unique error code for the particular error subclass. + +Overrides: [JWTClaimValidationFailed](util_errors.jwtclaimvalidationfailed.md).[code](util_errors.jwtclaimvalidationfailed.md#code) + +Defined in: [util/errors.ts:135](https://github.com/panva/jose/blob/v3.9.0/src/util/errors.ts#L135) + +___ + +### reason + +• **reason**: *string* + +Reason code for the validation failure. + +Inherited from: [JWTClaimValidationFailed](util_errors.jwtclaimvalidationfailed.md).[reason](util_errors.jwtclaimvalidationfailed.md#reason) + +Defined in: [util/errors.ts:36](https://github.com/panva/jose/blob/v3.9.0/src/util/errors.ts#L36) diff --git a/docs/classes/util_errors.jwtinvalid.md b/docs/classes/util_errors.jwtinvalid.md new file mode 100644 index 0000000000..bad2ab6b1b --- /dev/null +++ b/docs/classes/util_errors.jwtinvalid.md @@ -0,0 +1,51 @@ +# Class: JWTInvalid + +[util/errors](../modules/util_errors.md).JWTInvalid + +An error subclass thrown when a JWT is invalid. + +## Hierarchy + +* [*JOSEError*](util_errors.joseerror.md) + + ↳ **JWTInvalid** + +## Table of contents + +### Constructors + +- [constructor](util_errors.jwtinvalid.md#constructor) + +### Properties + +- [code](util_errors.jwtinvalid.md#code) + +## Constructors + +### constructor + +\+ **new JWTInvalid**(`message?`: *string*): [*JWTInvalid*](util_errors.jwtinvalid.md) + +#### Parameters: + +Name | Type | +:------ | :------ | +`message?` | *string* | + +**Returns:** [*JWTInvalid*](util_errors.jwtinvalid.md) + +Inherited from: [JOSEError](util_errors.joseerror.md) + +Defined in: [util/errors.ts:11](https://github.com/panva/jose/blob/v3.9.0/src/util/errors.ts#L11) + +## Properties + +### code + +• **code**: *string*= 'ERR\_JWT\_INVALID' + +A unique error code for the particular error subclass. + +Overrides: [JOSEError](util_errors.joseerror.md).[code](util_errors.joseerror.md#code) + +Defined in: [util/errors.ts:87](https://github.com/panva/jose/blob/v3.9.0/src/util/errors.ts#L87) diff --git a/docs/functions/_jwk_from_key_like_.fromkeylike.md b/docs/functions/_jwk_from_key_like_.fromkeylike.md deleted file mode 100644 index 12c32bbb5f..0000000000 --- a/docs/functions/_jwk_from_key_like_.fromkeylike.md +++ /dev/null @@ -1,37 +0,0 @@ -# Function: fromKeyLike - -▸ **fromKeyLike**(`key`: [KeyLike](../types/_types_d_.keylike.md)): Promise<[JWK](../interfaces/_types_d_.jwk.md)\> - -*Defined in [src/jwk/from_key_like.ts:32](https://github.com/panva/jose/blob/v3.8.0/src/jwk/from_key_like.ts#L32)* - -Converts a runtime-specific key representation (KeyLike) to a JWK. - -**`example`** -```js -// ESM import -import fromKeyLike from 'jose/jwk/from_key_like' -``` - -**`example`** -```js -// CJS import -const { default: fromKeyLike } = require('jose/jwk/from_key_like') -``` - -**`example`** -```js -// usage -const privateJwk = await fromKeyLike(privateKey) -const publicJwk = await fromKeyLike(publicKey) - -console.log(privateJwk) -console.log(publicJwk) -``` - -#### Parameters: - -Name | Type | Description | ------- | ------ | ------ | -`key` | [KeyLike](../types/_types_d_.keylike.md) | Key representation to transform to a JWK. | - -**Returns:** Promise<[JWK](../interfaces/_types_d_.jwk.md)\> diff --git a/docs/functions/_jwks_remote_.createremotejwkset.md b/docs/functions/_jwks_remote_.createremotejwkset.md deleted file mode 100644 index fcf4337159..0000000000 --- a/docs/functions/_jwks_remote_.createremotejwkset.md +++ /dev/null @@ -1,46 +0,0 @@ -# Function: createRemoteJWKSet - -▸ **createRemoteJWKSet**(`url`: URL, `options?`: [RemoteJWKSetOptions](../interfaces/_jwks_remote_.remotejwksetoptions.md)): [GetKeyFunction](../interfaces/_types_d_.getkeyfunction.md)<[JWSHeaderParameters](../interfaces/_types_d_.jwsheaderparameters.md), [FlattenedJWSInput](../interfaces/_types_d_.flattenedjwsinput.md)\> - -*Defined in [src/jwks/remote.ts:245](https://github.com/panva/jose/blob/v3.8.0/src/jwks/remote.ts#L245)* - -Returns a function that resolves to a key object downloaded from a -remote endpoint returning a JSON Web Key Set, that is, for example, -an OAuth 2.0 or OIDC jwks_uri. Only a single public key must match -the selection process. - -**`example`** -```js -// ESM import -import createRemoteJWKSet from 'jose/jwks/remote' -``` - -**`example`** -```js -// CJS import -const { default: createRemoteJWKSet } = require('jose/jwks/remote') -``` - -**`example`** -```js -// usage -import jwtVerify from 'jose/jwt/verify' - -const JWKS = createRemoteJWKSet(new URL('https://www.googleapis.com/oauth2/v3/certs')) - -const { payload, protectedHeader } = await jwtVerify(jwt, JWKS, { - issuer: 'urn:example:issuer', - audience: 'urn:example:audience' -}) -console.log(protectedHeader) -console.log(payload) -``` - -#### Parameters: - -Name | Type | Description | ------- | ------ | ------ | -`url` | URL | URL to fetch the JSON Web Key Set from. | -`options?` | [RemoteJWKSetOptions](../interfaces/_jwks_remote_.remotejwksetoptions.md) | Options for the remote JSON Web Key Set. | - -**Returns:** [GetKeyFunction](../interfaces/_types_d_.getkeyfunction.md)<[JWSHeaderParameters](../interfaces/_types_d_.jwsheaderparameters.md), [FlattenedJWSInput](../interfaces/_types_d_.flattenedjwsinput.md)\> diff --git a/docs/functions/_jws_compact_verify_.compactverify.md b/docs/functions/_jws_compact_verify_.compactverify.md deleted file mode 100644 index f4ae87d1a7..0000000000 --- a/docs/functions/_jws_compact_verify_.compactverify.md +++ /dev/null @@ -1,50 +0,0 @@ -# Function: compactVerify - -▸ **compactVerify**(`jws`: string \| Uint8Array, `key`: [KeyLike](../types/_types_d_.keylike.md) \| [CompactVerifyGetKey](../interfaces/_jws_compact_verify_.compactverifygetkey.md), `options?`: [VerifyOptions](../interfaces/_types_d_.verifyoptions.md)): Promise<[CompactVerifyResult](../interfaces/_types_d_.compactverifyresult.md)\> - -*Defined in [src/jws/compact/verify.ts:60](https://github.com/panva/jose/blob/v3.8.0/src/jws/compact/verify.ts#L60)* - -Verifies the signature and format of and afterwards decodes the Compact JWS. - -**`example`** -```js -// ESM import -import compactVerify from 'jose/jws/compact/verify' -``` - -**`example`** -```js -// CJS import -const { default: compactVerify } = require('jose/jws/compact/verify') -``` - -**`example`** -```js -// usage -import parseJwk from 'jose/jwk/parse' - -const decoder = new TextDecoder() -const jws = 'eyJhbGciOiJFUzI1NiJ9.SXTigJlzIGEgZGFuZ2Vyb3VzIGJ1c2luZXNzLCBGcm9kbywgZ29pbmcgb3V0IHlvdXIgZG9vci4.kkAs_gPPxWMI3rHuVlxHaTPfDWDoqdI8jSvuSmqV-8IHIWXg9mcAeC9ggV-45ZHRbiRJ3obUIFo1rHphPA5URg' -const publicKey = await parseJwk({ - alg: 'ES256', - crv: 'P-256', - kty: 'EC', - x: 'ySK38C1jBdLwDsNWKzzBHqKYEE5Cgv-qjWvorUXk9fw', - y: '_LeQBw07cf5t57Iavn4j-BqJsAD1dpoz8gokd3sBsOo' -}) - -const { payload, protectedHeader } = await compactVerify(jws, publicKey) - -console.log(protectedHeader) -console.log(decoder.decode(payload)) -``` - -#### Parameters: - -Name | Type | Description | ------- | ------ | ------ | -`jws` | string \| Uint8Array | Compact JWS. | -`key` | [KeyLike](../types/_types_d_.keylike.md) \| [CompactVerifyGetKey](../interfaces/_jws_compact_verify_.compactverifygetkey.md) | Key, or a function resolving a key, to verify the JWS with. | -`options?` | [VerifyOptions](../interfaces/_types_d_.verifyoptions.md) | JWS Verify options. | - -**Returns:** Promise<[CompactVerifyResult](../interfaces/_types_d_.compactverifyresult.md)\> diff --git a/docs/functions/_jws_flattened_verify_.flattenedverify.md b/docs/functions/_jws_flattened_verify_.flattenedverify.md deleted file mode 100644 index 43dd6e7ac1..0000000000 --- a/docs/functions/_jws_flattened_verify_.flattenedverify.md +++ /dev/null @@ -1,54 +0,0 @@ -# Function: flattenedVerify - -▸ **flattenedVerify**(`jws`: [FlattenedJWSInput](../interfaces/_types_d_.flattenedjwsinput.md), `key`: [KeyLike](../types/_types_d_.keylike.md) \| [FlattenedVerifyGetKey](../interfaces/_jws_flattened_verify_.flattenedverifygetkey.md), `options?`: [VerifyOptions](../interfaces/_types_d_.verifyoptions.md)): Promise<[FlattenedVerifyResult](../interfaces/_types_d_.flattenedverifyresult.md)\> - -*Defined in [src/jws/flattened/verify.ts:75](https://github.com/panva/jose/blob/v3.8.0/src/jws/flattened/verify.ts#L75)* - -Verifies the signature and format of and afterwards decodes the Flattened JWS. - -**`example`** -```js -// ESM import -import flattenedVerify from 'jose/jws/flattened/verify' -``` - -**`example`** -```js -// CJS import -const { default: flattenedVerify } = require('jose/jws/flattened/verify') -``` - -**`example`** -```js -// usage -import parseJwk from 'jose/jwk/parse' - -const decoder = new TextDecoder() -const jws = { - signature: 'FVVOXwj6kD3DqdfD9yYqfT2W9jv-Nop4kOehp_DeDGNB5dQNSPRvntBY6xH3uxlCxE8na9d_kyhYOcanpDJ0EA', - payload: 'SXTigJlzIGEgZGFuZ2Vyb3VzIGJ1c2luZXNzLCBGcm9kbywgZ29pbmcgb3V0IHlvdXIgZG9vci4', - protected: 'eyJhbGciOiJFUzI1NiJ9' -} -const publicKey = await parseJwk({ - alg: 'ES256', - crv: 'P-256', - kty: 'EC', - x: 'ySK38C1jBdLwDsNWKzzBHqKYEE5Cgv-qjWvorUXk9fw', - y: '_LeQBw07cf5t57Iavn4j-BqJsAD1dpoz8gokd3sBsOo' -}) - -const { payload, protectedHeader } = await flattenedVerify(jws, publicKey) - -console.log(protectedHeader) -console.log(decoder.decode(payload)) -``` - -#### Parameters: - -Name | Type | Description | ------- | ------ | ------ | -`jws` | [FlattenedJWSInput](../interfaces/_types_d_.flattenedjwsinput.md) | Flattened JWS. | -`key` | [KeyLike](../types/_types_d_.keylike.md) \| [FlattenedVerifyGetKey](../interfaces/_jws_flattened_verify_.flattenedverifygetkey.md) | Key, or a function resolving a key, to verify the JWS with. | -`options?` | [VerifyOptions](../interfaces/_types_d_.verifyoptions.md) | JWS Verify options. | - -**Returns:** Promise<[FlattenedVerifyResult](../interfaces/_types_d_.flattenedverifyresult.md)\> diff --git a/docs/functions/_jws_general_verify_.generalverify.md b/docs/functions/_jws_general_verify_.generalverify.md deleted file mode 100644 index 300ee817f7..0000000000 --- a/docs/functions/_jws_general_verify_.generalverify.md +++ /dev/null @@ -1,58 +0,0 @@ -# Function: generalVerify - -▸ **generalVerify**(`jws`: [GeneralJWSInput](../interfaces/_types_d_.generaljwsinput.md), `key`: [KeyLike](../types/_types_d_.keylike.md) \| [GeneralVerifyGetKey](../interfaces/_jws_general_verify_.generalverifygetkey.md), `options?`: [VerifyOptions](../interfaces/_types_d_.verifyoptions.md)): Promise<[GeneralVerifyResult](../interfaces/_types_d_.generalverifyresult.md)\> - -*Defined in [src/jws/general/verify.ts:69](https://github.com/panva/jose/blob/v3.8.0/src/jws/general/verify.ts#L69)* - -Verifies the signature and format of and afterwards decodes the General JWS. - -**`example`** -```js -// ESM import -import generalVerify from 'jose/jws/general/verify' -``` - -**`example`** -```js -// CJS import -const { default: generalVerify } = require('jose/jws/general/verify') -``` - -**`example`** -```js -// usage -import parseJwk from 'jose/jwk/parse' - -const decoder = new TextDecoder() -const jws = { - payload: 'SXTigJlzIGEgZGFuZ2Vyb3VzIGJ1c2luZXNzLCBGcm9kbywgZ29pbmcgb3V0IHlvdXIgZG9vci4', - signatures: [ - { - signature: 'FVVOXwj6kD3DqdfD9yYqfT2W9jv-Nop4kOehp_DeDGNB5dQNSPRvntBY6xH3uxlCxE8na9d_kyhYOcanpDJ0EA', - protected: 'eyJhbGciOiJFUzI1NiJ9' - } - ] -} -const publicKey = await parseJwk({ - alg: 'ES256', - crv: 'P-256', - kty: 'EC', - x: 'ySK38C1jBdLwDsNWKzzBHqKYEE5Cgv-qjWvorUXk9fw', - y: '_LeQBw07cf5t57Iavn4j-BqJsAD1dpoz8gokd3sBsOo' -}) - -const { payload, protectedHeader } = await generalVerify(jws, publicKey) - -console.log(protectedHeader) -console.log(decoder.decode(payload)) -``` - -#### Parameters: - -Name | Type | Description | ------- | ------ | ------ | -`jws` | [GeneralJWSInput](../interfaces/_types_d_.generaljwsinput.md) | General JWS. | -`key` | [KeyLike](../types/_types_d_.keylike.md) \| [GeneralVerifyGetKey](../interfaces/_jws_general_verify_.generalverifygetkey.md) | Key, or a function resolving a key, to verify the JWS with. | -`options?` | [VerifyOptions](../interfaces/_types_d_.verifyoptions.md) | JWS Verify options. | - -**Returns:** Promise<[GeneralVerifyResult](../interfaces/_types_d_.generalverifyresult.md)\> diff --git a/docs/functions/_jwt_decrypt_.jwtdecrypt.md b/docs/functions/_jwt_decrypt_.jwtdecrypt.md deleted file mode 100644 index fbcb299abf..0000000000 --- a/docs/functions/_jwt_decrypt_.jwtdecrypt.md +++ /dev/null @@ -1,49 +0,0 @@ -# Function: jwtDecrypt - -▸ **jwtDecrypt**(`jwt`: string \| Uint8Array, `key`: [KeyLike](../types/_types_d_.keylike.md) \| [JWTDecryptGetKey](../interfaces/_jwt_decrypt_.jwtdecryptgetkey.md), `options?`: [JWTDecryptOptions](../interfaces/_jwt_decrypt_.jwtdecryptoptions.md)): Promise<[JWTDecryptResult](../interfaces/_types_d_.jwtdecryptresult.md)\> - -*Defined in [src/jwt/decrypt.ts:65](https://github.com/panva/jose/blob/v3.8.0/src/jwt/decrypt.ts#L65)* - -Verifies the JWT format (to be a JWE Compact format), decrypts the ciphertext, validates the JWT Claims Set. - -**`example`** -```js -// ESM import -import jwtDecrypt from 'jose/jwt/decrypt' -``` - -**`example`** -```js -// CJS import -const { default: jwtDecrypt } = require('jose/jwt/decrypt') -``` - -**`example`** -```js -// usage -const jwt = 'eyJhbGciOiJkaXIiLCJlbmMiOiJBMjU2R0NNIn0..KVcNLqK-3-8ZkYIC.xSwF4VxO0kUMUD2W-cifsNUxnr-swyBq-nADBptyt6y9n79-iNc5b0AALJpRwc0wwDkJw8hNOMjApNUTMsK9b-asToZ3DXFMvwfJ6n1aWefvd7RsoZ2LInWFfVAuttJDzoGB.uuexQoWHwrLMEYRElT8pBQ' -const secretKey = Uint8Array.from([ - 206, 203, 53, 165, 235, 214, 153, 188, - 248, 225, 1, 132, 105, 204, 75, 42, - 186, 185, 24, 223, 136, 66, 116, 59, - 183, 155, 52, 52, 101, 167, 201, 85 -]) - -const { payload, protectedHeader } = await jwtDecrypt(jwt, secretKey, { - issuer: 'urn:example:issuer', - audience: 'urn:example:audience' -}) - -console.log(protectedHeader) -console.log(payload) -``` - -#### Parameters: - -Name | Type | Description | ------- | ------ | ------ | -`jwt` | string \| Uint8Array | JSON Web Token value (encoded as JWE). | -`key` | [KeyLike](../types/_types_d_.keylike.md) \| [JWTDecryptGetKey](../interfaces/_jwt_decrypt_.jwtdecryptgetkey.md) | Private Key or Secret, or a function resolving one, to decrypt and verify the JWT with. | -`options?` | [JWTDecryptOptions](../interfaces/_jwt_decrypt_.jwtdecryptoptions.md) | JWT Decryption and JWT Claims Set validation options. | - -**Returns:** Promise<[JWTDecryptResult](../interfaces/_types_d_.jwtdecryptresult.md)\> diff --git a/docs/functions/_jwt_verify_.jwtverify.md b/docs/functions/_jwt_verify_.jwtverify.md deleted file mode 100644 index 3251bad5c5..0000000000 --- a/docs/functions/_jwt_verify_.jwtverify.md +++ /dev/null @@ -1,51 +0,0 @@ -# Function: jwtVerify - -▸ **jwtVerify**(`jwt`: string \| Uint8Array, `key`: [KeyLike](../types/_types_d_.keylike.md) \| [JWTVerifyGetKey](../interfaces/_jwt_verify_.jwtverifygetkey.md), `options?`: [JWTVerifyOptions](../interfaces/_jwt_verify_.jwtverifyoptions.md)): Promise<[JWTVerifyResult](../interfaces/_types_d_.jwtverifyresult.md)\> - -*Defined in [src/jwt/verify.ts:67](https://github.com/panva/jose/blob/v3.8.0/src/jwt/verify.ts#L67)* - -Verifies the JWT format (to be a JWS Compact format), verifies the JWS signature, validates the JWT Claims Set. - -**`example`** -```js -// ESM import -import jwtVerify from 'jose/jwt/verify' -``` - -**`example`** -```js -// CJS import -const { default: jwtVerify } = require('jose/jwt/verify') -``` - -**`example`** -```js -// usage -import parseJwk from 'jose/jwk/parse' - -const jwt = 'eyJhbGciOiJFUzI1NiJ9.eyJ1cm46ZXhhbXBsZTpjbGFpbSI6dHJ1ZSwiaWF0IjoxNjA0MzE1MDc0LCJpc3MiOiJ1cm46ZXhhbXBsZTppc3N1ZXIiLCJhdWQiOiJ1cm46ZXhhbXBsZTphdWRpZW5jZSJ9.hx1nOfAT5LlXuzu8O-bhjXBGpklWDt2EsHw7-MDn49NrnwvVsstNhEnkW2ddauB7eSikFtUNeumLpFI9CWDBsg' -const publicKey = await parseJwk({ - alg: 'ES256', - crv: 'P-256', - kty: 'EC', - x: 'ySK38C1jBdLwDsNWKzzBHqKYEE5Cgv-qjWvorUXk9fw', - y: '_LeQBw07cf5t57Iavn4j-BqJsAD1dpoz8gokd3sBsOo' -}) -const { payload, protectedHeader } = await jwtVerify(jwt, publicKey, { - issuer: 'urn:example:issuer', - audience: 'urn:example:audience' -}) - -console.log(protectedHeader) -console.log(payload) -``` - -#### Parameters: - -Name | Type | Description | ------- | ------ | ------ | -`jwt` | string \| Uint8Array | JSON Web Token value (encoded as JWS). | -`key` | [KeyLike](../types/_types_d_.keylike.md) \| [JWTVerifyGetKey](../interfaces/_jwt_verify_.jwtverifygetkey.md) | Key, or a function resolving a key, to verify the JWT with. | -`options?` | [JWTVerifyOptions](../interfaces/_jwt_verify_.jwtverifyoptions.md) | JWT Decryption and JWT Claims Set validation options. | - -**Returns:** Promise<[JWTVerifyResult](../interfaces/_types_d_.jwtverifyresult.md)\> diff --git a/docs/functions/_util_decode_protected_header_.decodeprotectedheader.md b/docs/functions/_util_decode_protected_header_.decodeprotectedheader.md deleted file mode 100644 index fa8b7e45e4..0000000000 --- a/docs/functions/_util_decode_protected_header_.decodeprotectedheader.md +++ /dev/null @@ -1,34 +0,0 @@ -# Function: decodeProtectedHeader - -▸ **decodeProtectedHeader**(`token`: string \| object): [ProtectedHeaderParameters](../types/_util_decode_protected_header_.protectedheaderparameters.md) - -*Defined in [src/util/decode_protected_header.ts:34](https://github.com/panva/jose/blob/v3.8.0/src/util/decode_protected_header.ts#L34)* - -Decodes the Protected Header of a JWE/JWS/JWT token utilizing any JOSE serialization. - -**`example`** -```js -// ESM import -import decodeProtectedHeader from 'jose/util/decode_protected_header' -``` - -**`example`** -```js -// CJS import -const { default: decodeProtectedHeader } = require('jose/util/decode_protected_header') -``` - -**`example`** -```js -// usage -const protectedHeader = decodeProtectedHeader(token) -console.log(protectedHeader) -``` - -#### Parameters: - -Name | Type | Description | ------- | ------ | ------ | -`token` | string \| object | JWE/JWS/JWT token in any JOSE serialization. | - -**Returns:** [ProtectedHeaderParameters](../types/_util_decode_protected_header_.protectedheaderparameters.md) diff --git a/docs/functions/_util_generate_key_pair_.generatekeypair.md b/docs/functions/_util_generate_key_pair_.generatekeypair.md deleted file mode 100644 index 0779e61a1f..0000000000 --- a/docs/functions/_util_generate_key_pair_.generatekeypair.md +++ /dev/null @@ -1,38 +0,0 @@ -# Function: generateKeyPair - -▸ **generateKeyPair**(`alg`: string, `options?`: [GenerateKeyPairOptions](../interfaces/_util_generate_key_pair_.generatekeypairoptions.md)): Promise<{ privateKey: [KeyLike](../types/_types_d_.keylike.md) ; publicKey: [KeyLike](../types/_types_d_.keylike.md) }\> - -*Defined in [src/util/generate_key_pair.ts:47](https://github.com/panva/jose/blob/v3.8.0/src/util/generate_key_pair.ts#L47)* - -Generates a private and a public key for a given JWA algorithm identifier. -This can only generate asymmetric key pairs. For symmetric secrets use the -`generateSecret` function. - -**`example`** -```js -// ESM import -import generateKeyPair from 'jose/util/generate_key_pair' -``` - -**`example`** -```js -// CJS import -const { default: generateKeyPair } = require('jose/util/generate_key_pair') -``` - -**`example`** -```js -// usage -const { publicKey, privateKey } = await generateKeyPair('PS256') -console.log(publicKey) -console.log(privateKey) -``` - -#### Parameters: - -Name | Type | Description | ------- | ------ | ------ | -`alg` | string | JWA Algorithm Identifier to be used with the generated key pair. | -`options?` | [GenerateKeyPairOptions](../interfaces/_util_generate_key_pair_.generatekeypairoptions.md) | Additional options passed down to the key pair generation. | - -**Returns:** Promise<{ privateKey: [KeyLike](../types/_types_d_.keylike.md) ; publicKey: [KeyLike](../types/_types_d_.keylike.md) }\> diff --git a/docs/functions/_util_generate_secret_.generatesecret.md b/docs/functions/_util_generate_secret_.generatesecret.md deleted file mode 100644 index 05745f5efc..0000000000 --- a/docs/functions/_util_generate_secret_.generatesecret.md +++ /dev/null @@ -1,34 +0,0 @@ -# Function: generateSecret - -▸ **generateSecret**(`alg`: string): Promise<[KeyLike](../types/_types_d_.keylike.md)\> - -*Defined in [src/util/generate_secret.ts:28](https://github.com/panva/jose/blob/v3.8.0/src/util/generate_secret.ts#L28)* - -Generates a symmetric secret key for a given JWA algorithm identifier. - -**`example`** -```js -// ESM import -import generateSecret from 'jose/util/generate_secret' -``` - -**`example`** -```js -// CJS import -const { default: generateSecret } = require('jose/util/generate_secret') -``` - -**`example`** -```js -// usage -const secret = await generateSecret('HS256') -console.log(secret) -``` - -#### Parameters: - -Name | Type | Description | ------- | ------ | ------ | -`alg` | string | JWA Algorithm Identifier to be used with the generated secret. | - -**Returns:** Promise<[KeyLike](../types/_types_d_.keylike.md)\> diff --git a/docs/functions/_jwe_compact_decrypt_.compactdecrypt.md b/docs/functions/jwe_compact_decrypt.compactdecrypt.md similarity index 68% rename from docs/functions/_jwe_compact_decrypt_.compactdecrypt.md rename to docs/functions/jwe_compact_decrypt.compactdecrypt.md index bd8a025e00..33e50dcbb6 100644 --- a/docs/functions/_jwe_compact_decrypt_.compactdecrypt.md +++ b/docs/functions/jwe_compact_decrypt.compactdecrypt.md @@ -1,27 +1,27 @@ # Function: compactDecrypt -▸ **compactDecrypt**(`jwe`: string \| Uint8Array, `key`: [KeyLike](../types/_types_d_.keylike.md) \| [CompactDecryptGetKey](../interfaces/_jwe_compact_decrypt_.compactdecryptgetkey.md), `options?`: [DecryptOptions](../interfaces/_types_d_.decryptoptions.md)): Promise<[CompactDecryptResult](../interfaces/_types_d_.compactdecryptresult.md)\> +[jwe/compact/decrypt](../modules/jwe_compact_decrypt.md).compactDecrypt -*Defined in [src/jwe/compact/decrypt.ts:63](https://github.com/panva/jose/blob/v3.8.0/src/jwe/compact/decrypt.ts#L63)* +▸ **compactDecrypt**(`jwe`: *string* \| Uint8Array, `key`: [*KeyLike*](../types/types.keylike.md) \| [*CompactDecryptGetKey*](../interfaces/jwe_compact_decrypt.compactdecryptgetkey.md), `options?`: [*DecryptOptions*](../interfaces/types.decryptoptions.md)): *Promise*<[*CompactDecryptResult*](../interfaces/types.compactdecryptresult.md)\> Decrypts a Compact JWE. **`example`** ```js // ESM import -import compactDecrypt from 'jose/jwe/compact/decrypt' +import { compactDecrypt } from 'jose/jwe/compact/decrypt' ``` **`example`** ```js // CJS import -const { default: compactDecrypt } = require('jose/jwe/compact/decrypt') +const { compactDecrypt } = require('jose/jwe/compact/decrypt') ``` **`example`** ```js // usage -import parseJwk from 'jose/jwk/parse' +import { parseJwk } from 'jose/jwk/parse' const decoder = new TextDecoder() const jwe = 'eyJhbGciOiJSU0EtT0FFUC0yNTYiLCJlbmMiOiJBMjU2R0NNIn0.nyQ19eq9ogh9wA7fFtnI2oouzy5_8b5DeLkoRMfi2yijgfTs2zEnayCEofz_qhnL-nwszabd9qUeHv0-IwvhhJJS7GUJOU3ikiIe42qcIAFme1A_Fo9CTxw4XTOy-I5qanl8So91u6hwfyN1VxAqVLsSE7_23EC-gfGEg_5znew9PyXXsOIE-K_HH7IQowRrlZ1X_bM_Liu53RzDpLDvRz59mp3S8L56YqpM8FexFGTGpEaoTcEIst375qncYt3-79IVR7gZN1RWsWgjPatfvVbnh74PglQcATSf3UUhaW0OAKn6q7r3PDx6DIKQ35bgHQg5QopuN00eIfLQL2trGw.W3grIVj5HVuAb76X.6PcuDe5D6ttWFYyv0oqqdDXfI2R8wBg1F2Q80UUA_Gv8eEimNWfxIWdLxrjzgQGSvIhxmFKuLM0.a93_Ug3uZHuczj70Zavx8Q' @@ -46,9 +46,11 @@ console.log(decoder.decode(plaintext)) #### Parameters: Name | Type | Description | ------- | ------ | ------ | -`jwe` | string \| Uint8Array | Compact JWE. | -`key` | [KeyLike](../types/_types_d_.keylike.md) \| [CompactDecryptGetKey](../interfaces/_jwe_compact_decrypt_.compactdecryptgetkey.md) | Private Key or Secret, or a function resolving one, to decrypt the JWE with. | -`options?` | [DecryptOptions](../interfaces/_types_d_.decryptoptions.md) | JWE Decryption options. | +:------ | :------ | :------ | +`jwe` | *string* \| Uint8Array | Compact JWE. | +`key` | [*KeyLike*](../types/types.keylike.md) \| [*CompactDecryptGetKey*](../interfaces/jwe_compact_decrypt.compactdecryptgetkey.md) | Private Key or Secret, or a function resolving one, to decrypt the JWE with. | +`options?` | [*DecryptOptions*](../interfaces/types.decryptoptions.md) | JWE Decryption options. | -**Returns:** Promise<[CompactDecryptResult](../interfaces/_types_d_.compactdecryptresult.md)\> +**Returns:** *Promise*<[*CompactDecryptResult*](../interfaces/types.compactdecryptresult.md)\> + +Defined in: [jwe/compact/decrypt.ts:63](https://github.com/panva/jose/blob/v3.9.0/src/jwe/compact/decrypt.ts#L63) diff --git a/docs/functions/_jwe_flattened_decrypt_.flatteneddecrypt.md b/docs/functions/jwe_flattened_decrypt.flatteneddecrypt.md similarity index 68% rename from docs/functions/_jwe_flattened_decrypt_.flatteneddecrypt.md rename to docs/functions/jwe_flattened_decrypt.flatteneddecrypt.md index 965c4f912e..3142e6f12e 100644 --- a/docs/functions/_jwe_flattened_decrypt_.flatteneddecrypt.md +++ b/docs/functions/jwe_flattened_decrypt.flatteneddecrypt.md @@ -1,27 +1,27 @@ # Function: flattenedDecrypt -▸ **flattenedDecrypt**(`jwe`: [FlattenedJWE](../interfaces/_types_d_.flattenedjwe.md), `key`: [KeyLike](../types/_types_d_.keylike.md) \| [FlattenedDecryptGetKey](../interfaces/_jwe_flattened_decrypt_.flatteneddecryptgetkey.md), `options?`: [DecryptOptions](../interfaces/_types_d_.decryptoptions.md)): Promise<[FlattenedDecryptResult](../interfaces/_types_d_.flatteneddecryptresult.md)\> +[jwe/flattened/decrypt](../modules/jwe_flattened_decrypt.md).flattenedDecrypt -*Defined in [src/jwe/flattened/decrypt.ts:92](https://github.com/panva/jose/blob/v3.8.0/src/jwe/flattened/decrypt.ts#L92)* +▸ **flattenedDecrypt**(`jwe`: [*FlattenedJWE*](../interfaces/types.flattenedjwe.md), `key`: [*KeyLike*](../types/types.keylike.md) \| [*FlattenedDecryptGetKey*](../interfaces/jwe_flattened_decrypt.flatteneddecryptgetkey.md), `options?`: [*DecryptOptions*](../interfaces/types.decryptoptions.md)): *Promise*<[*FlattenedDecryptResult*](../interfaces/types.flatteneddecryptresult.md)\> Decrypts a Flattened JWE. **`example`** ```js // ESM import -import flattenedDecrypt from 'jose/jwe/flattened/decrypt' +import { flattenedDecrypt } from 'jose/jwe/flattened/decrypt' ``` **`example`** ```js // CJS import -const { default: flattenedDecrypt } = require('jose/jwe/flattened/decrypt') +const { flattenedDecrypt } = require('jose/jwe/flattened/decrypt') ``` **`example`** ```js // usage -import parseJwk from 'jose/jwk/parse' +import { parseJwk } from 'jose/jwk/parse' const decoder = new TextDecoder() const jwe = { @@ -58,9 +58,11 @@ console.log(decoder.decode(additionalAuthenticatedData)) #### Parameters: Name | Type | Description | ------- | ------ | ------ | -`jwe` | [FlattenedJWE](../interfaces/_types_d_.flattenedjwe.md) | Flattened JWE. | -`key` | [KeyLike](../types/_types_d_.keylike.md) \| [FlattenedDecryptGetKey](../interfaces/_jwe_flattened_decrypt_.flatteneddecryptgetkey.md) | Public Key or Secret, or a function resolving one, to decrypt the JWE with. | -`options?` | [DecryptOptions](../interfaces/_types_d_.decryptoptions.md) | JWE Decryption options. | +:------ | :------ | :------ | +`jwe` | [*FlattenedJWE*](../interfaces/types.flattenedjwe.md) | Flattened JWE. | +`key` | [*KeyLike*](../types/types.keylike.md) \| [*FlattenedDecryptGetKey*](../interfaces/jwe_flattened_decrypt.flatteneddecryptgetkey.md) | Public Key or Secret, or a function resolving one, to decrypt the JWE with. | +`options?` | [*DecryptOptions*](../interfaces/types.decryptoptions.md) | JWE Decryption options. | -**Returns:** Promise<[FlattenedDecryptResult](../interfaces/_types_d_.flatteneddecryptresult.md)\> +**Returns:** *Promise*<[*FlattenedDecryptResult*](../interfaces/types.flatteneddecryptresult.md)\> + +Defined in: [jwe/flattened/decrypt.ts:92](https://github.com/panva/jose/blob/v3.9.0/src/jwe/flattened/decrypt.ts#L92) diff --git a/docs/functions/_jwe_general_decrypt_.generaldecrypt.md b/docs/functions/jwe_general_decrypt.generaldecrypt.md similarity index 69% rename from docs/functions/_jwe_general_decrypt_.generaldecrypt.md rename to docs/functions/jwe_general_decrypt.generaldecrypt.md index 20261eeeac..71015716ce 100644 --- a/docs/functions/_jwe_general_decrypt_.generaldecrypt.md +++ b/docs/functions/jwe_general_decrypt.generaldecrypt.md @@ -1,27 +1,27 @@ # Function: generalDecrypt -▸ **generalDecrypt**(`jwe`: [GeneralJWE](../interfaces/_types_d_.generaljwe.md), `key`: [KeyLike](../types/_types_d_.keylike.md) \| [GeneralDecryptGetKey](../interfaces/_jwe_general_decrypt_.generaldecryptgetkey.md), `options?`: [DecryptOptions](../interfaces/_types_d_.decryptoptions.md)): Promise<[GeneralDecryptResult](../interfaces/_types_d_.generaldecryptresult.md)\> +[jwe/general/decrypt](../modules/jwe_general_decrypt.md).generalDecrypt -*Defined in [src/jwe/general/decrypt.ts:80](https://github.com/panva/jose/blob/v3.8.0/src/jwe/general/decrypt.ts#L80)* +▸ **generalDecrypt**(`jwe`: [*GeneralJWE*](../interfaces/types.generaljwe.md), `key`: [*KeyLike*](../types/types.keylike.md) \| [*GeneralDecryptGetKey*](../interfaces/jwe_general_decrypt.generaldecryptgetkey.md), `options?`: [*DecryptOptions*](../interfaces/types.decryptoptions.md)): *Promise*<[*GeneralDecryptResult*](../interfaces/types.generaldecryptresult.md)\> Decrypts a General JWE. **`example`** ```js // ESM import -import generalDecrypt from 'jose/jwe/general/decrypt' +import { generalDecrypt } from 'jose/jwe/general/decrypt' ``` **`example`** ```js // CJS import -const { default: generalDecrypt } = require('jose/jwe/general/decrypt') +const { generalDecrypt } = require('jose/jwe/general/decrypt') ``` **`example`** ```js // usage -import parseJwk from 'jose/jwk/parse' +import { parseJwk } from 'jose/jwk/parse' const decoder = new TextDecoder() const jwe = { @@ -62,9 +62,11 @@ console.log(decoder.decode(additionalAuthenticatedData)) #### Parameters: Name | Type | Description | ------- | ------ | ------ | -`jwe` | [GeneralJWE](../interfaces/_types_d_.generaljwe.md) | General JWE. | -`key` | [KeyLike](../types/_types_d_.keylike.md) \| [GeneralDecryptGetKey](../interfaces/_jwe_general_decrypt_.generaldecryptgetkey.md) | Private Key or Secret, or a function resolving one, to decrypt the JWE with. | -`options?` | [DecryptOptions](../interfaces/_types_d_.decryptoptions.md) | JWE Decryption options. | +:------ | :------ | :------ | +`jwe` | [*GeneralJWE*](../interfaces/types.generaljwe.md) | General JWE. | +`key` | [*KeyLike*](../types/types.keylike.md) \| [*GeneralDecryptGetKey*](../interfaces/jwe_general_decrypt.generaldecryptgetkey.md) | Private Key or Secret, or a function resolving one, to decrypt the JWE with. | +`options?` | [*DecryptOptions*](../interfaces/types.decryptoptions.md) | JWE Decryption options. | -**Returns:** Promise<[GeneralDecryptResult](../interfaces/_types_d_.generaldecryptresult.md)\> +**Returns:** *Promise*<[*GeneralDecryptResult*](../interfaces/types.generaldecryptresult.md)\> + +Defined in: [jwe/general/decrypt.ts:80](https://github.com/panva/jose/blob/v3.9.0/src/jwe/general/decrypt.ts#L80) diff --git a/docs/functions/_jwk_embedded_.embeddedjwk.md b/docs/functions/jwk_embedded.embeddedjwk.md similarity index 59% rename from docs/functions/_jwk_embedded_.embeddedjwk.md rename to docs/functions/jwk_embedded.embeddedjwk.md index 5598ee8be0..1588cda93d 100644 --- a/docs/functions/_jwk_embedded_.embeddedjwk.md +++ b/docs/functions/jwk_embedded.embeddedjwk.md @@ -1,8 +1,8 @@ # Function: EmbeddedJWK -▸ **EmbeddedJWK**(`protectedHeader`: [JWSHeaderParameters](../interfaces/_types_d_.jwsheaderparameters.md), `token`: [FlattenedJWSInput](../interfaces/_types_d_.flattenedjwsinput.md)): Promise +[jwk/embedded](../modules/jwk_embedded.md).EmbeddedJWK -*Defined in [src/jwk/embedded.ts:43](https://github.com/panva/jose/blob/v3.8.0/src/jwk/embedded.ts#L43)* +▸ **EmbeddedJWK**(`protectedHeader`: [*JWSHeaderParameters*](../interfaces/types.jwsheaderparameters.md), `token`: [*FlattenedJWSInput*](../interfaces/types.flattenedjwsinput.md)): *Promise* EmbeddedJWK is an implementation of a GetKeyFunction intended to be used with the JWS/JWT verify operations whenever you need to opt-in to verify signatures with @@ -13,19 +13,19 @@ JWS algorithms to accept. **`example`** ```js // ESM import -import EmbeddedJWK from 'jose/jwk/embedded' +import { EmbeddedJWK } from 'jose/jwk/embedded' ``` **`example`** ```js // CJS import -const { default: EmbeddedJWK } = require('jose/jwk/embedded') +const { EmbeddedJWK } = require('jose/jwk/embedded') ``` **`example`** ```js // usage -import jwtVerify from 'jose/jwt/verify' +import { jwtVerify } from 'jose/jwt/verify' const jwt = 'eyJqd2siOnsiY3J2IjoiUC0yNTYiLCJ4IjoiVU05ZzVuS25aWFlvdldBbE03NmNMejl2VG96UmpfX0NIVV9kT2wtZ09vRSIsInkiOiJkczhhZVF3MWwyY0RDQTdiQ2tPTnZ3REtwWEFidFhqdnFDbGVZSDhXc19VIiwia3R5IjoiRUMifSwiYWxnIjoiRVMyNTYifQ.eyJpc3MiOiJ1cm46ZXhhbXBsZTppc3N1ZXIiLCJhdWQiOiJ1cm46ZXhhbXBsZTphdWRpZW5jZSIsImlhdCI6MTYwNDU4MDc5NH0.60boak3_dErnW47ZPty1C0nrjeVq86EN_eK0GOq6K8w2OA0thKoBxFK4j-NuU9yZ_A9UKGxPT_G87DladBaV9g' @@ -41,8 +41,10 @@ console.log(payload) #### Parameters: Name | Type | ------- | ------ | -`protectedHeader` | [JWSHeaderParameters](../interfaces/_types_d_.jwsheaderparameters.md) | -`token` | [FlattenedJWSInput](../interfaces/_types_d_.flattenedjwsinput.md) | +:------ | :------ | +`protectedHeader` | [*JWSHeaderParameters*](../interfaces/types.jwsheaderparameters.md) | +`token` | [*FlattenedJWSInput*](../interfaces/types.flattenedjwsinput.md) | -**Returns:** Promise +**Returns:** *Promise* + +Defined in: [jwk/embedded.ts:43](https://github.com/panva/jose/blob/v3.9.0/src/jwk/embedded.ts#L43) diff --git a/docs/functions/jwk_from_key_like.fromkeylike.md b/docs/functions/jwk_from_key_like.fromkeylike.md new file mode 100644 index 0000000000..885219cca2 --- /dev/null +++ b/docs/functions/jwk_from_key_like.fromkeylike.md @@ -0,0 +1,39 @@ +# Function: fromKeyLike + +[jwk/from_key_like](../modules/jwk_from_key_like.md).fromKeyLike + +▸ **fromKeyLike**(`key`: [*KeyLike*](../types/types.keylike.md)): *Promise*<[*JWK*](../interfaces/types.jwk.md)\> + +Converts a runtime-specific key representation (KeyLike) to a JWK. + +**`example`** +```js +// ESM import +import { fromKeyLike } from 'jose/jwk/from_key_like' +``` + +**`example`** +```js +// CJS import +const { fromKeyLike } = require('jose/jwk/from_key_like') +``` + +**`example`** +```js +// usage +const privateJwk = await fromKeyLike(privateKey) +const publicJwk = await fromKeyLike(publicKey) + +console.log(privateJwk) +console.log(publicJwk) +``` + +#### Parameters: + +Name | Type | Description | +:------ | :------ | :------ | +`key` | [*KeyLike*](../types/types.keylike.md) | Key representation to transform to a JWK. | + +**Returns:** *Promise*<[*JWK*](../interfaces/types.jwk.md)\> + +Defined in: [jwk/from_key_like.ts:32](https://github.com/panva/jose/blob/v3.9.0/src/jwk/from_key_like.ts#L32) diff --git a/docs/functions/_jwk_parse_.parsejwk.md b/docs/functions/jwk_parse.parsejwk.md similarity index 58% rename from docs/functions/_jwk_parse_.parsejwk.md rename to docs/functions/jwk_parse.parsejwk.md index a97880dff6..6730af4d44 100644 --- a/docs/functions/_jwk_parse_.parsejwk.md +++ b/docs/functions/jwk_parse.parsejwk.md @@ -1,8 +1,8 @@ # Function: parseJwk -▸ **parseJwk**(`jwk`: [JWK](../interfaces/_types_d_.jwk.md), `alg?`: string, `octAsKeyObject?`: false \| true): Promise<[KeyLike](../types/_types_d_.keylike.md)\> +[jwk/parse](../modules/jwk_parse.md).parseJwk -*Defined in [src/jwk/parse.ts:50](https://github.com/panva/jose/blob/v3.8.0/src/jwk/parse.ts#L50)* +▸ **parseJwk**(`jwk`: [*JWK*](../interfaces/types.jwk.md), `alg?`: *string*, `octAsKeyObject?`: *boolean*): *Promise*<[*KeyLike*](../types/types.keylike.md)\> Converts a JWK to a runtime-specific key representation (KeyLike). Either JWK "alg" (Algorithm) Parameter must be present or the optional "alg" argument. When @@ -12,13 +12,13 @@ the jwk parameters "use", "key_ops", and "ext" are also used in the resulting `C **`example`** ```js // ESM import -import parseJwk from 'jose/jwk/parse' +import { parseJwk } from 'jose/jwk/parse' ``` **`example`** ```js // CJS import -const { default: parseJwk } = require('jose/jwk/parse') +const { parseJwk } = require('jose/jwk/parse') ``` **`example`** @@ -43,9 +43,11 @@ const rsaPublicKey = await parseJwk({ #### Parameters: Name | Type | Description | ------- | ------ | ------ | -`jwk` | [JWK](../interfaces/_types_d_.jwk.md) | JSON Web Key. | -`alg?` | string | JSON Web Algorithm identifier to be used with the converted key. Default is the "alg" property on the JWK. | -`octAsKeyObject?` | false \| true | Forces a symmetric key to be converted to a KeyObject or CryptoKey. Default is true unless JWK "ext" (Extractable) is true. | +:------ | :------ | :------ | +`jwk` | [*JWK*](../interfaces/types.jwk.md) | JSON Web Key. | +`alg?` | *string* | JSON Web Algorithm identifier to be used with the converted key. Default is the "alg" property on the JWK. | +`octAsKeyObject?` | *boolean* | Forces a symmetric key to be converted to a KeyObject or CryptoKey. Default is true unless JWK "ext" (Extractable) is true. | -**Returns:** Promise<[KeyLike](../types/_types_d_.keylike.md)\> +**Returns:** *Promise*<[*KeyLike*](../types/types.keylike.md)\> + +Defined in: [jwk/parse.ts:50](https://github.com/panva/jose/blob/v3.9.0/src/jwk/parse.ts#L50) diff --git a/docs/functions/_jwk_thumbprint_.calculatethumbprint.md b/docs/functions/jwk_thumbprint.calculatethumbprint.md similarity index 50% rename from docs/functions/_jwk_thumbprint_.calculatethumbprint.md rename to docs/functions/jwk_thumbprint.calculatethumbprint.md index d24e9c93f3..5a2af75b77 100644 --- a/docs/functions/_jwk_thumbprint_.calculatethumbprint.md +++ b/docs/functions/jwk_thumbprint.calculatethumbprint.md @@ -1,8 +1,8 @@ # Function: calculateThumbprint -▸ **calculateThumbprint**(`jwk`: [JWK](../interfaces/_types_d_.jwk.md), `digestAlgorithm?`: \"sha256\" \| \"sha384\" \| \"sha512\"): Promise +[jwk/thumbprint](../modules/jwk_thumbprint.md).calculateThumbprint -*Defined in [src/jwk/thumbprint.ts:47](https://github.com/panva/jose/blob/v3.8.0/src/jwk/thumbprint.ts#L47)* +▸ **calculateThumbprint**(`jwk`: [*JWK*](../interfaces/types.jwk.md), `digestAlgorithm?`: *sha256* \| *sha384* \| *sha512*): *Promise* Calculates a base64url-encoded JSON Web Key (JWK) Thumbprint as per [RFC7638](https://tools.ietf.org/html/rfc7638). @@ -10,13 +10,13 @@ Calculates a base64url-encoded JSON Web Key (JWK) Thumbprint as per **`example`** ```js // ESM import -import calculateThumbprint from 'jose/jwk/thumbprint' +import { calculateThumbprint } from 'jose/jwk/thumbprint' ``` **`example`** ```js // CJS import -const { default: calculateThumbprint } = require('jose/jwk/thumbprint') +const { calculateThumbprint } = require('jose/jwk/thumbprint') ``` **`example`** @@ -34,8 +34,10 @@ console.log(thumbprint) #### Parameters: Name | Type | Default value | Description | ------- | ------ | ------ | ------ | -`jwk` | [JWK](../interfaces/_types_d_.jwk.md) | - | JSON Web Key. | -`digestAlgorithm` | \"sha256\" \| \"sha384\" \| \"sha512\" | "sha256" | Digest Algorithm to use for calculating the thumbprint. Default is sha256. Accepted is "sha256", "sha384", "sha512". | +:------ | :------ | :------ | :------ | +`jwk` | [*JWK*](../interfaces/types.jwk.md) | - | JSON Web Key. | +`digestAlgorithm` | *sha256* \| *sha384* \| *sha512* | 'sha256' | Digest Algorithm to use for calculating the thumbprint. Default is sha256. Accepted is "sha256", "sha384", "sha512". | -**Returns:** Promise +**Returns:** *Promise* + +Defined in: [jwk/thumbprint.ts:47](https://github.com/panva/jose/blob/v3.9.0/src/jwk/thumbprint.ts#L47) diff --git a/docs/functions/jwks_remote.createremotejwkset.md b/docs/functions/jwks_remote.createremotejwkset.md new file mode 100644 index 0000000000..982d00d06f --- /dev/null +++ b/docs/functions/jwks_remote.createremotejwkset.md @@ -0,0 +1,48 @@ +# Function: createRemoteJWKSet + +[jwks/remote](../modules/jwks_remote.md).createRemoteJWKSet + +▸ **createRemoteJWKSet**(`url`: URL, `options?`: [*RemoteJWKSetOptions*](../interfaces/jwks_remote.remotejwksetoptions.md)): [*GetKeyFunction*](../interfaces/types.getkeyfunction.md)<[*JWSHeaderParameters*](../interfaces/types.jwsheaderparameters.md), [*FlattenedJWSInput*](../interfaces/types.flattenedjwsinput.md)\> + +Returns a function that resolves to a key object downloaded from a +remote endpoint returning a JSON Web Key Set, that is, for example, +an OAuth 2.0 or OIDC jwks_uri. Only a single public key must match +the selection process. + +**`example`** +```js +// ESM import +import { createRemoteJWKSet } from 'jose/jwks/remote' +``` + +**`example`** +```js +// CJS import +const { createRemoteJWKSet } = require('jose/jwks/remote') +``` + +**`example`** +```js +// usage +import { jwtVerify } from 'jose/jwt/verify' + +const JWKS = createRemoteJWKSet(new URL('https://www.googleapis.com/oauth2/v3/certs')) + +const { payload, protectedHeader } = await jwtVerify(jwt, JWKS, { + issuer: 'urn:example:issuer', + audience: 'urn:example:audience' +}) +console.log(protectedHeader) +console.log(payload) +``` + +#### Parameters: + +Name | Type | Description | +:------ | :------ | :------ | +`url` | URL | URL to fetch the JSON Web Key Set from. | +`options?` | [*RemoteJWKSetOptions*](../interfaces/jwks_remote.remotejwksetoptions.md) | Options for the remote JSON Web Key Set. | + +**Returns:** [*GetKeyFunction*](../interfaces/types.getkeyfunction.md)<[*JWSHeaderParameters*](../interfaces/types.jwsheaderparameters.md), [*FlattenedJWSInput*](../interfaces/types.flattenedjwsinput.md)\> + +Defined in: [jwks/remote.ts:245](https://github.com/panva/jose/blob/v3.9.0/src/jwks/remote.ts#L245) diff --git a/docs/functions/jws_compact_verify.compactverify.md b/docs/functions/jws_compact_verify.compactverify.md new file mode 100644 index 0000000000..851969c623 --- /dev/null +++ b/docs/functions/jws_compact_verify.compactverify.md @@ -0,0 +1,52 @@ +# Function: compactVerify + +[jws/compact/verify](../modules/jws_compact_verify.md).compactVerify + +▸ **compactVerify**(`jws`: *string* \| Uint8Array, `key`: [*KeyLike*](../types/types.keylike.md) \| [*CompactVerifyGetKey*](../interfaces/jws_compact_verify.compactverifygetkey.md), `options?`: [*VerifyOptions*](../interfaces/types.verifyoptions.md)): *Promise*<[*CompactVerifyResult*](../interfaces/types.compactverifyresult.md)\> + +Verifies the signature and format of and afterwards decodes the Compact JWS. + +**`example`** +```js +// ESM import +import { compactVerify } from 'jose/jws/compact/verify' +``` + +**`example`** +```js +// CJS import +const { compactVerify } = require('jose/jws/compact/verify') +``` + +**`example`** +```js +// usage +import { parseJwk } from 'jose/jwk/parse' + +const decoder = new TextDecoder() +const jws = 'eyJhbGciOiJFUzI1NiJ9.SXTigJlzIGEgZGFuZ2Vyb3VzIGJ1c2luZXNzLCBGcm9kbywgZ29pbmcgb3V0IHlvdXIgZG9vci4.kkAs_gPPxWMI3rHuVlxHaTPfDWDoqdI8jSvuSmqV-8IHIWXg9mcAeC9ggV-45ZHRbiRJ3obUIFo1rHphPA5URg' +const publicKey = await parseJwk({ + alg: 'ES256', + crv: 'P-256', + kty: 'EC', + x: 'ySK38C1jBdLwDsNWKzzBHqKYEE5Cgv-qjWvorUXk9fw', + y: '_LeQBw07cf5t57Iavn4j-BqJsAD1dpoz8gokd3sBsOo' +}) + +const { payload, protectedHeader } = await compactVerify(jws, publicKey) + +console.log(protectedHeader) +console.log(decoder.decode(payload)) +``` + +#### Parameters: + +Name | Type | Description | +:------ | :------ | :------ | +`jws` | *string* \| Uint8Array | Compact JWS. | +`key` | [*KeyLike*](../types/types.keylike.md) \| [*CompactVerifyGetKey*](../interfaces/jws_compact_verify.compactverifygetkey.md) | Key, or a function resolving a key, to verify the JWS with. | +`options?` | [*VerifyOptions*](../interfaces/types.verifyoptions.md) | JWS Verify options. | + +**Returns:** *Promise*<[*CompactVerifyResult*](../interfaces/types.compactverifyresult.md)\> + +Defined in: [jws/compact/verify.ts:60](https://github.com/panva/jose/blob/v3.9.0/src/jws/compact/verify.ts#L60) diff --git a/docs/functions/jws_flattened_verify.flattenedverify.md b/docs/functions/jws_flattened_verify.flattenedverify.md new file mode 100644 index 0000000000..550a8d2147 --- /dev/null +++ b/docs/functions/jws_flattened_verify.flattenedverify.md @@ -0,0 +1,56 @@ +# Function: flattenedVerify + +[jws/flattened/verify](../modules/jws_flattened_verify.md).flattenedVerify + +▸ **flattenedVerify**(`jws`: [*FlattenedJWSInput*](../interfaces/types.flattenedjwsinput.md), `key`: [*KeyLike*](../types/types.keylike.md) \| [*FlattenedVerifyGetKey*](../interfaces/jws_flattened_verify.flattenedverifygetkey.md), `options?`: [*VerifyOptions*](../interfaces/types.verifyoptions.md)): *Promise*<[*FlattenedVerifyResult*](../interfaces/types.flattenedverifyresult.md)\> + +Verifies the signature and format of and afterwards decodes the Flattened JWS. + +**`example`** +```js +// ESM import +import { flattenedVerify } from 'jose/jws/flattened/verify' +``` + +**`example`** +```js +// CJS import +const { flattenedVerify } = require('jose/jws/flattened/verify') +``` + +**`example`** +```js +// usage +import { parseJwk } from 'jose/jwk/parse' + +const decoder = new TextDecoder() +const jws = { + signature: 'FVVOXwj6kD3DqdfD9yYqfT2W9jv-Nop4kOehp_DeDGNB5dQNSPRvntBY6xH3uxlCxE8na9d_kyhYOcanpDJ0EA', + payload: 'SXTigJlzIGEgZGFuZ2Vyb3VzIGJ1c2luZXNzLCBGcm9kbywgZ29pbmcgb3V0IHlvdXIgZG9vci4', + protected: 'eyJhbGciOiJFUzI1NiJ9' +} +const publicKey = await parseJwk({ + alg: 'ES256', + crv: 'P-256', + kty: 'EC', + x: 'ySK38C1jBdLwDsNWKzzBHqKYEE5Cgv-qjWvorUXk9fw', + y: '_LeQBw07cf5t57Iavn4j-BqJsAD1dpoz8gokd3sBsOo' +}) + +const { payload, protectedHeader } = await flattenedVerify(jws, publicKey) + +console.log(protectedHeader) +console.log(decoder.decode(payload)) +``` + +#### Parameters: + +Name | Type | Description | +:------ | :------ | :------ | +`jws` | [*FlattenedJWSInput*](../interfaces/types.flattenedjwsinput.md) | Flattened JWS. | +`key` | [*KeyLike*](../types/types.keylike.md) \| [*FlattenedVerifyGetKey*](../interfaces/jws_flattened_verify.flattenedverifygetkey.md) | Key, or a function resolving a key, to verify the JWS with. | +`options?` | [*VerifyOptions*](../interfaces/types.verifyoptions.md) | JWS Verify options. | + +**Returns:** *Promise*<[*FlattenedVerifyResult*](../interfaces/types.flattenedverifyresult.md)\> + +Defined in: [jws/flattened/verify.ts:75](https://github.com/panva/jose/blob/v3.9.0/src/jws/flattened/verify.ts#L75) diff --git a/docs/functions/jws_general_verify.generalverify.md b/docs/functions/jws_general_verify.generalverify.md new file mode 100644 index 0000000000..479ed78e9d --- /dev/null +++ b/docs/functions/jws_general_verify.generalverify.md @@ -0,0 +1,60 @@ +# Function: generalVerify + +[jws/general/verify](../modules/jws_general_verify.md).generalVerify + +▸ **generalVerify**(`jws`: [*GeneralJWSInput*](../interfaces/types.generaljwsinput.md), `key`: [*KeyLike*](../types/types.keylike.md) \| [*GeneralVerifyGetKey*](../interfaces/jws_general_verify.generalverifygetkey.md), `options?`: [*VerifyOptions*](../interfaces/types.verifyoptions.md)): *Promise*<[*GeneralVerifyResult*](../interfaces/types.generalverifyresult.md)\> + +Verifies the signature and format of and afterwards decodes the General JWS. + +**`example`** +```js +// ESM import +import { generalVerify } from 'jose/jws/general/verify' +``` + +**`example`** +```js +// CJS import +const { generalVerify } = require('jose/jws/general/verify') +``` + +**`example`** +```js +// usage +import { parseJwk } from 'jose/jwk/parse' + +const decoder = new TextDecoder() +const jws = { + payload: 'SXTigJlzIGEgZGFuZ2Vyb3VzIGJ1c2luZXNzLCBGcm9kbywgZ29pbmcgb3V0IHlvdXIgZG9vci4', + signatures: [ + { + signature: 'FVVOXwj6kD3DqdfD9yYqfT2W9jv-Nop4kOehp_DeDGNB5dQNSPRvntBY6xH3uxlCxE8na9d_kyhYOcanpDJ0EA', + protected: 'eyJhbGciOiJFUzI1NiJ9' + } + ] +} +const publicKey = await parseJwk({ + alg: 'ES256', + crv: 'P-256', + kty: 'EC', + x: 'ySK38C1jBdLwDsNWKzzBHqKYEE5Cgv-qjWvorUXk9fw', + y: '_LeQBw07cf5t57Iavn4j-BqJsAD1dpoz8gokd3sBsOo' +}) + +const { payload, protectedHeader } = await generalVerify(jws, publicKey) + +console.log(protectedHeader) +console.log(decoder.decode(payload)) +``` + +#### Parameters: + +Name | Type | Description | +:------ | :------ | :------ | +`jws` | [*GeneralJWSInput*](../interfaces/types.generaljwsinput.md) | General JWS. | +`key` | [*KeyLike*](../types/types.keylike.md) \| [*GeneralVerifyGetKey*](../interfaces/jws_general_verify.generalverifygetkey.md) | Key, or a function resolving a key, to verify the JWS with. | +`options?` | [*VerifyOptions*](../interfaces/types.verifyoptions.md) | JWS Verify options. | + +**Returns:** *Promise*<[*GeneralVerifyResult*](../interfaces/types.generalverifyresult.md)\> + +Defined in: [jws/general/verify.ts:69](https://github.com/panva/jose/blob/v3.9.0/src/jws/general/verify.ts#L69) diff --git a/docs/functions/jwt_decrypt.jwtdecrypt.md b/docs/functions/jwt_decrypt.jwtdecrypt.md new file mode 100644 index 0000000000..c5f5786df7 --- /dev/null +++ b/docs/functions/jwt_decrypt.jwtdecrypt.md @@ -0,0 +1,51 @@ +# Function: jwtDecrypt + +[jwt/decrypt](../modules/jwt_decrypt.md).jwtDecrypt + +▸ **jwtDecrypt**(`jwt`: *string* \| Uint8Array, `key`: [*KeyLike*](../types/types.keylike.md) \| [*JWTDecryptGetKey*](../interfaces/jwt_decrypt.jwtdecryptgetkey.md), `options?`: [*JWTDecryptOptions*](../interfaces/jwt_decrypt.jwtdecryptoptions.md)): *Promise*<[*JWTDecryptResult*](../interfaces/types.jwtdecryptresult.md)\> + +Verifies the JWT format (to be a JWE Compact format), decrypts the ciphertext, validates the JWT Claims Set. + +**`example`** +```js +// ESM import +import { jwtDecrypt } from 'jose/jwt/decrypt' +``` + +**`example`** +```js +// CJS import +const { jwtDecrypt } = require('jose/jwt/decrypt') +``` + +**`example`** +```js +// usage +const jwt = 'eyJhbGciOiJkaXIiLCJlbmMiOiJBMjU2R0NNIn0..KVcNLqK-3-8ZkYIC.xSwF4VxO0kUMUD2W-cifsNUxnr-swyBq-nADBptyt6y9n79-iNc5b0AALJpRwc0wwDkJw8hNOMjApNUTMsK9b-asToZ3DXFMvwfJ6n1aWefvd7RsoZ2LInWFfVAuttJDzoGB.uuexQoWHwrLMEYRElT8pBQ' +const secretKey = Uint8Array.from([ + 206, 203, 53, 165, 235, 214, 153, 188, + 248, 225, 1, 132, 105, 204, 75, 42, + 186, 185, 24, 223, 136, 66, 116, 59, + 183, 155, 52, 52, 101, 167, 201, 85 +]) + +const { payload, protectedHeader } = await jwtDecrypt(jwt, secretKey, { + issuer: 'urn:example:issuer', + audience: 'urn:example:audience' +}) + +console.log(protectedHeader) +console.log(payload) +``` + +#### Parameters: + +Name | Type | Description | +:------ | :------ | :------ | +`jwt` | *string* \| Uint8Array | JSON Web Token value (encoded as JWE). | +`key` | [*KeyLike*](../types/types.keylike.md) \| [*JWTDecryptGetKey*](../interfaces/jwt_decrypt.jwtdecryptgetkey.md) | Private Key or Secret, or a function resolving one, to decrypt and verify the JWT with. | +`options?` | [*JWTDecryptOptions*](../interfaces/jwt_decrypt.jwtdecryptoptions.md) | JWT Decryption and JWT Claims Set validation options. | + +**Returns:** *Promise*<[*JWTDecryptResult*](../interfaces/types.jwtdecryptresult.md)\> + +Defined in: [jwt/decrypt.ts:65](https://github.com/panva/jose/blob/v3.9.0/src/jwt/decrypt.ts#L65) diff --git a/docs/functions/jwt_verify.jwtverify.md b/docs/functions/jwt_verify.jwtverify.md new file mode 100644 index 0000000000..2df51c2608 --- /dev/null +++ b/docs/functions/jwt_verify.jwtverify.md @@ -0,0 +1,53 @@ +# Function: jwtVerify + +[jwt/verify](../modules/jwt_verify.md).jwtVerify + +▸ **jwtVerify**(`jwt`: *string* \| Uint8Array, `key`: [*KeyLike*](../types/types.keylike.md) \| [*JWTVerifyGetKey*](../interfaces/jwt_verify.jwtverifygetkey.md), `options?`: [*JWTVerifyOptions*](../interfaces/jwt_verify.jwtverifyoptions.md)): *Promise*<[*JWTVerifyResult*](../interfaces/types.jwtverifyresult.md)\> + +Verifies the JWT format (to be a JWS Compact format), verifies the JWS signature, validates the JWT Claims Set. + +**`example`** +```js +// ESM import +import { jwtVerify } from 'jose/jwt/verify' +``` + +**`example`** +```js +// CJS import +const { jwtVerify } = require('jose/jwt/verify') +``` + +**`example`** +```js +// usage +import { parseJwk } from 'jose/jwk/parse' + +const jwt = 'eyJhbGciOiJFUzI1NiJ9.eyJ1cm46ZXhhbXBsZTpjbGFpbSI6dHJ1ZSwiaWF0IjoxNjA0MzE1MDc0LCJpc3MiOiJ1cm46ZXhhbXBsZTppc3N1ZXIiLCJhdWQiOiJ1cm46ZXhhbXBsZTphdWRpZW5jZSJ9.hx1nOfAT5LlXuzu8O-bhjXBGpklWDt2EsHw7-MDn49NrnwvVsstNhEnkW2ddauB7eSikFtUNeumLpFI9CWDBsg' +const publicKey = await parseJwk({ + alg: 'ES256', + crv: 'P-256', + kty: 'EC', + x: 'ySK38C1jBdLwDsNWKzzBHqKYEE5Cgv-qjWvorUXk9fw', + y: '_LeQBw07cf5t57Iavn4j-BqJsAD1dpoz8gokd3sBsOo' +}) +const { payload, protectedHeader } = await jwtVerify(jwt, publicKey, { + issuer: 'urn:example:issuer', + audience: 'urn:example:audience' +}) + +console.log(protectedHeader) +console.log(payload) +``` + +#### Parameters: + +Name | Type | Description | +:------ | :------ | :------ | +`jwt` | *string* \| Uint8Array | JSON Web Token value (encoded as JWS). | +`key` | [*KeyLike*](../types/types.keylike.md) \| [*JWTVerifyGetKey*](../interfaces/jwt_verify.jwtverifygetkey.md) | Key, or a function resolving a key, to verify the JWT with. | +`options?` | [*JWTVerifyOptions*](../interfaces/jwt_verify.jwtverifyoptions.md) | JWT Decryption and JWT Claims Set validation options. | + +**Returns:** *Promise*<[*JWTVerifyResult*](../interfaces/types.jwtverifyresult.md)\> + +Defined in: [jwt/verify.ts:67](https://github.com/panva/jose/blob/v3.9.0/src/jwt/verify.ts#L67) diff --git a/docs/functions/util_base64url.decode.md b/docs/functions/util_base64url.decode.md new file mode 100644 index 0000000000..7569d5530d --- /dev/null +++ b/docs/functions/util_base64url.decode.md @@ -0,0 +1,15 @@ +# Function: decode + +[util/base64url](../modules/util_base64url.md).decode + +▸ `Const`**decode**(`input`: *string* \| *Uint8Array*): *Uint8Array* + +#### Parameters: + +Name | Type | +:------ | :------ | +`input` | *string* \| *Uint8Array* | + +**Returns:** *Uint8Array* + +Defined in: [util/base64url.ts:23](https://github.com/panva/jose/blob/v3.9.0/src/util/base64url.ts#L23) diff --git a/docs/functions/util_base64url.encode.md b/docs/functions/util_base64url.encode.md new file mode 100644 index 0000000000..d25f86c074 --- /dev/null +++ b/docs/functions/util_base64url.encode.md @@ -0,0 +1,15 @@ +# Function: encode + +[util/base64url](../modules/util_base64url.md).encode + +▸ `Const`**encode**(`input`: *string* \| *Uint8Array*): *string* + +#### Parameters: + +Name | Type | +:------ | :------ | +`input` | *string* \| *Uint8Array* | + +**Returns:** *string* + +Defined in: [util/base64url.ts:22](https://github.com/panva/jose/blob/v3.9.0/src/util/base64url.ts#L22) diff --git a/docs/functions/util_decode_protected_header.decodeprotectedheader.md b/docs/functions/util_decode_protected_header.decodeprotectedheader.md new file mode 100644 index 0000000000..f1d450cd6f --- /dev/null +++ b/docs/functions/util_decode_protected_header.decodeprotectedheader.md @@ -0,0 +1,36 @@ +# Function: decodeProtectedHeader + +[util/decode_protected_header](../modules/util_decode_protected_header.md).decodeProtectedHeader + +▸ **decodeProtectedHeader**(`token`: *string* \| *object*): [*ProtectedHeaderParameters*](../types/util_decode_protected_header.protectedheaderparameters.md) + +Decodes the Protected Header of a JWE/JWS/JWT token utilizing any JOSE serialization. + +**`example`** +```js +// ESM import +import { decodeProtectedHeader } from 'jose/util/decode_protected_header' +``` + +**`example`** +```js +// CJS import +const { decodeProtectedHeader } = require('jose/util/decode_protected_header') +``` + +**`example`** +```js +// usage +const protectedHeader = decodeProtectedHeader(token) +console.log(protectedHeader) +``` + +#### Parameters: + +Name | Type | Description | +:------ | :------ | :------ | +`token` | *string* \| *object* | JWE/JWS/JWT token in any JOSE serialization. | + +**Returns:** [*ProtectedHeaderParameters*](../types/util_decode_protected_header.protectedheaderparameters.md) + +Defined in: [util/decode_protected_header.ts:34](https://github.com/panva/jose/blob/v3.9.0/src/util/decode_protected_header.ts#L34) diff --git a/docs/functions/util_generate_key_pair.generatekeypair.md b/docs/functions/util_generate_key_pair.generatekeypair.md new file mode 100644 index 0000000000..428213730c --- /dev/null +++ b/docs/functions/util_generate_key_pair.generatekeypair.md @@ -0,0 +1,40 @@ +# Function: generateKeyPair + +[util/generate_key_pair](../modules/util_generate_key_pair.md).generateKeyPair + +▸ **generateKeyPair**(`alg`: *string*, `options?`: [*GenerateKeyPairOptions*](../interfaces/util_generate_key_pair.generatekeypairoptions.md)): *Promise*<{ `privateKey`: [*KeyLike*](../types/types.keylike.md) ; `publicKey`: [*KeyLike*](../types/types.keylike.md) }\> + +Generates a private and a public key for a given JWA algorithm identifier. +This can only generate asymmetric key pairs. For symmetric secrets use the +`generateSecret` function. + +**`example`** +```js +// ESM import +import { generateKeyPair } from 'jose/util/generate_key_pair' +``` + +**`example`** +```js +// CJS import +const { generateKeyPair } = require('jose/util/generate_key_pair') +``` + +**`example`** +```js +// usage +const { publicKey, privateKey } = await generateKeyPair('PS256') +console.log(publicKey) +console.log(privateKey) +``` + +#### Parameters: + +Name | Type | Description | +:------ | :------ | :------ | +`alg` | *string* | JWA Algorithm Identifier to be used with the generated key pair. | +`options?` | [*GenerateKeyPairOptions*](../interfaces/util_generate_key_pair.generatekeypairoptions.md) | Additional options passed down to the key pair generation. | + +**Returns:** *Promise*<{ `privateKey`: [*KeyLike*](../types/types.keylike.md) ; `publicKey`: [*KeyLike*](../types/types.keylike.md) }\> + +Defined in: [util/generate_key_pair.ts:47](https://github.com/panva/jose/blob/v3.9.0/src/util/generate_key_pair.ts#L47) diff --git a/docs/functions/util_generate_secret.generatesecret.md b/docs/functions/util_generate_secret.generatesecret.md new file mode 100644 index 0000000000..c9b9393d56 --- /dev/null +++ b/docs/functions/util_generate_secret.generatesecret.md @@ -0,0 +1,36 @@ +# Function: generateSecret + +[util/generate_secret](../modules/util_generate_secret.md).generateSecret + +▸ **generateSecret**(`alg`: *string*): *Promise*<[*KeyLike*](../types/types.keylike.md)\> + +Generates a symmetric secret key for a given JWA algorithm identifier. + +**`example`** +```js +// ESM import +import { generateSecret } from 'jose/util/generate_secret' +``` + +**`example`** +```js +// CJS import +const { generateSecret } = require('jose/util/generate_secret') +``` + +**`example`** +```js +// usage +const secret = await generateSecret('HS256') +console.log(secret) +``` + +#### Parameters: + +Name | Type | Description | +:------ | :------ | :------ | +`alg` | *string* | JWA Algorithm Identifier to be used with the generated secret. | + +**Returns:** *Promise*<[*KeyLike*](../types/types.keylike.md)\> + +Defined in: [util/generate_secret.ts:28](https://github.com/panva/jose/blob/v3.9.0/src/util/generate_secret.ts#L28) diff --git a/docs/functions/util_random.random.md b/docs/functions/util_random.random.md new file mode 100644 index 0000000000..0548a97981 --- /dev/null +++ b/docs/functions/util_random.random.md @@ -0,0 +1,15 @@ +# Function: random + +[util/random](../modules/util_random.md).random + +▸ `Const`**random**(`array`: *Uint8Array*): *Uint8Array* + +#### Parameters: + +Name | Type | +:------ | :------ | +`array` | *Uint8Array* | + +**Returns:** *Uint8Array* + +Defined in: [util/random.ts:7](https://github.com/panva/jose/blob/v3.9.0/src/util/random.ts#L7) diff --git a/docs/interfaces/_jwe_compact_decrypt_.compactdecryptgetkey.md b/docs/interfaces/_jwe_compact_decrypt_.compactdecryptgetkey.md deleted file mode 100644 index 8ee336778b..0000000000 --- a/docs/interfaces/_jwe_compact_decrypt_.compactdecryptgetkey.md +++ /dev/null @@ -1,22 +0,0 @@ -# Interface: CompactDecryptGetKey - -Interface for Compact JWE Decryption dynamic key resolution. -No token components have been verified at the time of this function call. - -## Callable - -▸ (`protectedHeader`: [JWEHeaderParameters](_types_d_.jweheaderparameters.md), `token`: [FlattenedJWE](_types_d_.flattenedjwe.md)): Promise<[KeyLike](../types/_types_d_.keylike.md)\> - -*Defined in [src/types.d.ts:79](https://github.com/panva/jose/blob/v3.8.0/src/types.d.ts#L79)* - -Interface for Compact JWE Decryption dynamic key resolution. -No token components have been verified at the time of this function call. - -#### Parameters: - -Name | Type | ------- | ------ | -`protectedHeader` | [JWEHeaderParameters](_types_d_.jweheaderparameters.md) | -`token` | [FlattenedJWE](_types_d_.flattenedjwe.md) | - -**Returns:** Promise<[KeyLike](../types/_types_d_.keylike.md)\> diff --git a/docs/interfaces/_jwe_flattened_decrypt_.flatteneddecryptgetkey.md b/docs/interfaces/_jwe_flattened_decrypt_.flatteneddecryptgetkey.md deleted file mode 100644 index 6d8e8b25ec..0000000000 --- a/docs/interfaces/_jwe_flattened_decrypt_.flatteneddecryptgetkey.md +++ /dev/null @@ -1,22 +0,0 @@ -# Interface: FlattenedDecryptGetKey - -Interface for Flattened JWE Decryption dynamic key resolution. -No token components have been verified at the time of this function call. - -## Callable - -▸ (`protectedHeader`: [JWEHeaderParameters](_types_d_.jweheaderparameters.md) \| undefined, `token`: [FlattenedJWE](_types_d_.flattenedjwe.md)): Promise<[KeyLike](../types/_types_d_.keylike.md)\> - -*Defined in [src/types.d.ts:79](https://github.com/panva/jose/blob/v3.8.0/src/types.d.ts#L79)* - -Interface for Flattened JWE Decryption dynamic key resolution. -No token components have been verified at the time of this function call. - -#### Parameters: - -Name | Type | ------- | ------ | -`protectedHeader` | [JWEHeaderParameters](_types_d_.jweheaderparameters.md) \| undefined | -`token` | [FlattenedJWE](_types_d_.flattenedjwe.md) | - -**Returns:** Promise<[KeyLike](../types/_types_d_.keylike.md)\> diff --git a/docs/interfaces/_jwe_general_decrypt_.generaldecryptgetkey.md b/docs/interfaces/_jwe_general_decrypt_.generaldecryptgetkey.md deleted file mode 100644 index 021bcaf88e..0000000000 --- a/docs/interfaces/_jwe_general_decrypt_.generaldecryptgetkey.md +++ /dev/null @@ -1,22 +0,0 @@ -# Interface: GeneralDecryptGetKey - -Interface for General JWE Decryption dynamic key resolution. -No token components have been verified at the time of this function call. - -## Callable - -▸ (`protectedHeader`: [JWEHeaderParameters](_types_d_.jweheaderparameters.md), `token`: [FlattenedJWE](_types_d_.flattenedjwe.md)): Promise<[KeyLike](../types/_types_d_.keylike.md)\> - -*Defined in [src/types.d.ts:79](https://github.com/panva/jose/blob/v3.8.0/src/types.d.ts#L79)* - -Interface for General JWE Decryption dynamic key resolution. -No token components have been verified at the time of this function call. - -#### Parameters: - -Name | Type | ------- | ------ | -`protectedHeader` | [JWEHeaderParameters](_types_d_.jweheaderparameters.md) | -`token` | [FlattenedJWE](_types_d_.flattenedjwe.md) | - -**Returns:** Promise<[KeyLike](../types/_types_d_.keylike.md)\> diff --git a/docs/interfaces/_jwks_remote_.remotejwksetoptions.md b/docs/interfaces/_jwks_remote_.remotejwksetoptions.md deleted file mode 100644 index c803478cd4..0000000000 --- a/docs/interfaces/_jwks_remote_.remotejwksetoptions.md +++ /dev/null @@ -1,46 +0,0 @@ -# Interface: RemoteJWKSetOptions - -Options for the remote JSON Web Key Set. - -## Index - -### Properties - -* [agent](_jwks_remote_.remotejwksetoptions.md#agent) -* [cooldownDuration](_jwks_remote_.remotejwksetoptions.md#cooldownduration) -* [timeoutDuration](_jwks_remote_.remotejwksetoptions.md#timeoutduration) - -## Properties - -### agent - -• `Optional` **agent**: Agent \| Agent - -*Defined in [src/jwks/remote.ts:55](https://github.com/panva/jose/blob/v3.8.0/src/jwks/remote.ts#L55)* - -An instance of http.Agent or https.Agent to pass to the http.get or -https.get method options. Use when behind an http(s) proxy. -This is a Node.js runtime specific option, it is ignored -when used outside of Node.js runtime. - -___ - -### cooldownDuration - -• `Optional` **cooldownDuration**: number - -*Defined in [src/jwks/remote.ts:47](https://github.com/panva/jose/blob/v3.8.0/src/jwks/remote.ts#L47)* - -Duration for which no more HTTP requests will be triggered -after a previous successful fetch. Default is 30000. - -___ - -### timeoutDuration - -• `Optional` **timeoutDuration**: number - -*Defined in [src/jwks/remote.ts:41](https://github.com/panva/jose/blob/v3.8.0/src/jwks/remote.ts#L41)* - -Timeout for the HTTP request. When reached the request will be -aborted and the verification will fail. Default is 5000. diff --git a/docs/interfaces/_jws_compact_verify_.compactverifygetkey.md b/docs/interfaces/_jws_compact_verify_.compactverifygetkey.md deleted file mode 100644 index 1f9b129524..0000000000 --- a/docs/interfaces/_jws_compact_verify_.compactverifygetkey.md +++ /dev/null @@ -1,22 +0,0 @@ -# Interface: CompactVerifyGetKey - -Interface for Compact JWS Verification dynamic key resolution. -No token components have been verified at the time of this function call. - -## Callable - -▸ (`protectedHeader`: [JWSHeaderParameters](_types_d_.jwsheaderparameters.md), `token`: [FlattenedJWSInput](_types_d_.flattenedjwsinput.md)): Promise<[KeyLike](../types/_types_d_.keylike.md)\> - -*Defined in [src/types.d.ts:79](https://github.com/panva/jose/blob/v3.8.0/src/types.d.ts#L79)* - -Interface for Compact JWS Verification dynamic key resolution. -No token components have been verified at the time of this function call. - -#### Parameters: - -Name | Type | ------- | ------ | -`protectedHeader` | [JWSHeaderParameters](_types_d_.jwsheaderparameters.md) | -`token` | [FlattenedJWSInput](_types_d_.flattenedjwsinput.md) | - -**Returns:** Promise<[KeyLike](../types/_types_d_.keylike.md)\> diff --git a/docs/interfaces/_jws_flattened_verify_.flattenedverifygetkey.md b/docs/interfaces/_jws_flattened_verify_.flattenedverifygetkey.md deleted file mode 100644 index c3b56ffca2..0000000000 --- a/docs/interfaces/_jws_flattened_verify_.flattenedverifygetkey.md +++ /dev/null @@ -1,22 +0,0 @@ -# Interface: FlattenedVerifyGetKey - -Interface for Flattened JWS Verification dynamic key resolution. -No token components have been verified at the time of this function call. - -## Callable - -▸ (`protectedHeader`: [JWSHeaderParameters](_types_d_.jwsheaderparameters.md) \| undefined, `token`: [FlattenedJWSInput](_types_d_.flattenedjwsinput.md)): Promise<[KeyLike](../types/_types_d_.keylike.md)\> - -*Defined in [src/types.d.ts:79](https://github.com/panva/jose/blob/v3.8.0/src/types.d.ts#L79)* - -Interface for Flattened JWS Verification dynamic key resolution. -No token components have been verified at the time of this function call. - -#### Parameters: - -Name | Type | ------- | ------ | -`protectedHeader` | [JWSHeaderParameters](_types_d_.jwsheaderparameters.md) \| undefined | -`token` | [FlattenedJWSInput](_types_d_.flattenedjwsinput.md) | - -**Returns:** Promise<[KeyLike](../types/_types_d_.keylike.md)\> diff --git a/docs/interfaces/_jws_general_sign_.signature.md b/docs/interfaces/_jws_general_sign_.signature.md deleted file mode 100644 index 0afc416c4c..0000000000 --- a/docs/interfaces/_jws_general_sign_.signature.md +++ /dev/null @@ -1,44 +0,0 @@ -# Interface: Signature - -## Index - -### Methods - -* [setProtectedHeader](_jws_general_sign_.signature.md#setprotectedheader) -* [setUnprotectedHeader](_jws_general_sign_.signature.md#setunprotectedheader) - -## Methods - -### setProtectedHeader - -▸ **setProtectedHeader**(`protectedHeader`: [JWSHeaderParameters](_types_d_.jwsheaderparameters.md)): [Signature](_jws_general_sign_.signature.md) - -*Defined in [src/jws/general/sign.ts:13](https://github.com/panva/jose/blob/v3.8.0/src/jws/general/sign.ts#L13)* - -Sets the JWS Protected Header on the Signature object. - -#### Parameters: - -Name | Type | Description | ------- | ------ | ------ | -`protectedHeader` | [JWSHeaderParameters](_types_d_.jwsheaderparameters.md) | JWS Protected Header. | - -**Returns:** [Signature](_jws_general_sign_.signature.md) - -___ - -### setUnprotectedHeader - -▸ **setUnprotectedHeader**(`unprotectedHeader`: [JWSHeaderParameters](_types_d_.jwsheaderparameters.md)): [Signature](_jws_general_sign_.signature.md) - -*Defined in [src/jws/general/sign.ts:20](https://github.com/panva/jose/blob/v3.8.0/src/jws/general/sign.ts#L20)* - -Sets the JWS Unprotected Header on the Signature object. - -#### Parameters: - -Name | Type | Description | ------- | ------ | ------ | -`unprotectedHeader` | [JWSHeaderParameters](_types_d_.jwsheaderparameters.md) | JWS Unprotected Header. | - -**Returns:** [Signature](_jws_general_sign_.signature.md) diff --git a/docs/interfaces/_jws_general_verify_.generalverifygetkey.md b/docs/interfaces/_jws_general_verify_.generalverifygetkey.md deleted file mode 100644 index 5fe0005240..0000000000 --- a/docs/interfaces/_jws_general_verify_.generalverifygetkey.md +++ /dev/null @@ -1,22 +0,0 @@ -# Interface: GeneralVerifyGetKey - -Interface for General JWS Verification dynamic key resolution. -No token components have been verified at the time of this function call. - -## Callable - -▸ (`protectedHeader`: [JWSHeaderParameters](_types_d_.jwsheaderparameters.md), `token`: [FlattenedJWSInput](_types_d_.flattenedjwsinput.md)): Promise<[KeyLike](../types/_types_d_.keylike.md)\> - -*Defined in [src/types.d.ts:79](https://github.com/panva/jose/blob/v3.8.0/src/types.d.ts#L79)* - -Interface for General JWS Verification dynamic key resolution. -No token components have been verified at the time of this function call. - -#### Parameters: - -Name | Type | ------- | ------ | -`protectedHeader` | [JWSHeaderParameters](_types_d_.jwsheaderparameters.md) | -`token` | [FlattenedJWSInput](_types_d_.flattenedjwsinput.md) | - -**Returns:** Promise<[KeyLike](../types/_types_d_.keylike.md)\> diff --git a/docs/interfaces/_jwt_decrypt_.jwtdecryptgetkey.md b/docs/interfaces/_jwt_decrypt_.jwtdecryptgetkey.md deleted file mode 100644 index 584e22341b..0000000000 --- a/docs/interfaces/_jwt_decrypt_.jwtdecryptgetkey.md +++ /dev/null @@ -1,22 +0,0 @@ -# Interface: JWTDecryptGetKey - -Interface for JWT Decryption dynamic key resolution. -No token components have been verified at the time of this function call. - -## Callable - -▸ (`protectedHeader`: [JWEHeaderParameters](_types_d_.jweheaderparameters.md), `token`: [FlattenedJWE](_types_d_.flattenedjwe.md)): Promise<[KeyLike](../types/_types_d_.keylike.md)\> - -*Defined in [src/types.d.ts:79](https://github.com/panva/jose/blob/v3.8.0/src/types.d.ts#L79)* - -Interface for JWT Decryption dynamic key resolution. -No token components have been verified at the time of this function call. - -#### Parameters: - -Name | Type | ------- | ------ | -`protectedHeader` | [JWEHeaderParameters](_types_d_.jweheaderparameters.md) | -`token` | [FlattenedJWE](_types_d_.flattenedjwe.md) | - -**Returns:** Promise<[KeyLike](../types/_types_d_.keylike.md)\> diff --git a/docs/interfaces/_jwt_decrypt_.jwtdecryptoptions.md b/docs/interfaces/_jwt_decrypt_.jwtdecryptoptions.md deleted file mode 100644 index 2f5d3e4064..0000000000 --- a/docs/interfaces/_jwt_decrypt_.jwtdecryptoptions.md +++ /dev/null @@ -1,151 +0,0 @@ -# Interface: JWTDecryptOptions - -Combination of JWE Decryption options and JWT Claims Set verification options. - -## Index - -### Properties - -* [audience](_jwt_decrypt_.jwtdecryptoptions.md#audience) -* [clockTolerance](_jwt_decrypt_.jwtdecryptoptions.md#clocktolerance) -* [contentEncryptionAlgorithms](_jwt_decrypt_.jwtdecryptoptions.md#contentencryptionalgorithms) -* [crit](_jwt_decrypt_.jwtdecryptoptions.md#crit) -* [currentDate](_jwt_decrypt_.jwtdecryptoptions.md#currentdate) -* [inflateRaw](_jwt_decrypt_.jwtdecryptoptions.md#inflateraw) -* [issuer](_jwt_decrypt_.jwtdecryptoptions.md#issuer) -* [keyManagementAlgorithms](_jwt_decrypt_.jwtdecryptoptions.md#keymanagementalgorithms) -* [maxTokenAge](_jwt_decrypt_.jwtdecryptoptions.md#maxtokenage) -* [subject](_jwt_decrypt_.jwtdecryptoptions.md#subject) -* [typ](_jwt_decrypt_.jwtdecryptoptions.md#typ) - -## Properties - -### audience - -• `Optional` **audience**: string \| string[] - -*Defined in [src/types.d.ts:422](https://github.com/panva/jose/blob/v3.8.0/src/types.d.ts#L422)* - -Expected JWT "aud" (Audience) Claim value(s). - -___ - -### clockTolerance - -• `Optional` **clockTolerance**: string \| number - -*Defined in [src/types.d.ts:429](https://github.com/panva/jose/blob/v3.8.0/src/types.d.ts#L429)* - -Expected clock tolerance -- in seconds when number (e.g. 5) -- parsed as seconds when a string (e.g. "5 seconds", "10 minutes", "2 hours"). - -___ - -### contentEncryptionAlgorithms - -• `Optional` **contentEncryptionAlgorithms**: string[] - -*Defined in [src/types.d.ts:395](https://github.com/panva/jose/blob/v3.8.0/src/types.d.ts#L395)* - -A list of accepted JWE "enc" (Encryption Algorithm) Header Parameter values. - -___ - -### crit - -• `Optional` **crit**: { [propName:string]: boolean; } - -*Defined in [src/types.d.ts:378](https://github.com/panva/jose/blob/v3.8.0/src/types.d.ts#L378)* - -An object with keys representing recognized "crit" (Critical) Header Parameter -names. The value for those is either `true` or `false`. `true` when the -Header Parameter MUST be integrity protected, `false` when it's irrelevant. - -This makes the "Extension Header Parameter "${parameter}" is not recognized" -error go away. - -Use this when a given JWS/JWT/JWE profile requires the use of proprietary -non-registered "crit" (Critical) Header Parameters. This will only make sure -the Header Parameter is syntactically correct when provided and that it is -optionally integrity protected. It will not process the Header Parameter in -any way or reject if the operation if it is missing. You MUST still -verify the Header Parameter was present and process it according to the -profile's validation steps after the operation succeeds. - -The JWS extension Header Parameter `b64` is always recognized and processed -properly. No other registered Header Parameters that need this kind of -default built-in treatment are currently available. - -___ - -### currentDate - -• `Optional` **currentDate**: Date - -*Defined in [src/types.d.ts:456](https://github.com/panva/jose/blob/v3.8.0/src/types.d.ts#L456)* - -Date to use when comparing NumericDate claims, defaults to `new Date()`. - -___ - -### inflateRaw - -• `Optional` **inflateRaw**: [InflateFunction](_types_d_.inflatefunction.md) - -*Defined in [src/types.d.ts:401](https://github.com/panva/jose/blob/v3.8.0/src/types.d.ts#L401)* - -In a browser runtime you have to provide an implementation for Inflate Raw -when you expect JWEs with compressed plaintext. - -___ - -### issuer - -• `Optional` **issuer**: string \| string[] - -*Defined in [src/types.d.ts:434](https://github.com/panva/jose/blob/v3.8.0/src/types.d.ts#L434)* - -Expected JWT "iss" (Issuer) Claim value(s). - -___ - -### keyManagementAlgorithms - -• `Optional` **keyManagementAlgorithms**: string[] - -*Defined in [src/types.d.ts:390](https://github.com/panva/jose/blob/v3.8.0/src/types.d.ts#L390)* - -A list of accepted JWE "alg" (Algorithm) Header Parameter values. - -___ - -### maxTokenAge - -• `Optional` **maxTokenAge**: string \| number - -*Defined in [src/types.d.ts:441](https://github.com/panva/jose/blob/v3.8.0/src/types.d.ts#L441)* - -Maximum time elapsed (in seconds) from the JWT "iat" (Issued At) Claim value. -- in seconds when number (e.g. 5) -- parsed as seconds when a string (e.g. "5 seconds", "10 minutes", "2 hours"). - -___ - -### subject - -• `Optional` **subject**: string - -*Defined in [src/types.d.ts:446](https://github.com/panva/jose/blob/v3.8.0/src/types.d.ts#L446)* - -Expected JWT "sub" (Subject) Claim value. - -___ - -### typ - -• `Optional` **typ**: string - -*Defined in [src/types.d.ts:451](https://github.com/panva/jose/blob/v3.8.0/src/types.d.ts#L451)* - -Expected JWT "typ" (Type) Header Parameter value. diff --git a/docs/interfaces/_jwt_verify_.jwtverifygetkey.md b/docs/interfaces/_jwt_verify_.jwtverifygetkey.md deleted file mode 100644 index abd00ab8d9..0000000000 --- a/docs/interfaces/_jwt_verify_.jwtverifygetkey.md +++ /dev/null @@ -1,22 +0,0 @@ -# Interface: JWTVerifyGetKey - -Interface for JWT Verification dynamic key resolution. -No token components have been verified at the time of this function call. - -## Callable - -▸ (`protectedHeader`: [JWSHeaderParameters](_types_d_.jwsheaderparameters.md), `token`: [FlattenedJWSInput](_types_d_.flattenedjwsinput.md)): Promise<[KeyLike](../types/_types_d_.keylike.md)\> - -*Defined in [src/types.d.ts:79](https://github.com/panva/jose/blob/v3.8.0/src/types.d.ts#L79)* - -Interface for JWT Verification dynamic key resolution. -No token components have been verified at the time of this function call. - -#### Parameters: - -Name | Type | ------- | ------ | -`protectedHeader` | [JWSHeaderParameters](_types_d_.jwsheaderparameters.md) | -`token` | [FlattenedJWSInput](_types_d_.flattenedjwsinput.md) | - -**Returns:** Promise<[KeyLike](../types/_types_d_.keylike.md)\> diff --git a/docs/interfaces/_jwt_verify_.jwtverifyoptions.md b/docs/interfaces/_jwt_verify_.jwtverifyoptions.md deleted file mode 100644 index 0a8ac16e54..0000000000 --- a/docs/interfaces/_jwt_verify_.jwtverifyoptions.md +++ /dev/null @@ -1,128 +0,0 @@ -# Interface: JWTVerifyOptions - -Combination of JWS Verification options and JWT Claims Set verification options. - -## Index - -### Properties - -* [algorithms](_jwt_verify_.jwtverifyoptions.md#algorithms) -* [audience](_jwt_verify_.jwtverifyoptions.md#audience) -* [clockTolerance](_jwt_verify_.jwtverifyoptions.md#clocktolerance) -* [crit](_jwt_verify_.jwtverifyoptions.md#crit) -* [currentDate](_jwt_verify_.jwtverifyoptions.md#currentdate) -* [issuer](_jwt_verify_.jwtverifyoptions.md#issuer) -* [maxTokenAge](_jwt_verify_.jwtverifyoptions.md#maxtokenage) -* [subject](_jwt_verify_.jwtverifyoptions.md#subject) -* [typ](_jwt_verify_.jwtverifyoptions.md#typ) - -## Properties - -### algorithms - -• `Optional` **algorithms**: string[] - -*Defined in [src/types.d.ts:466](https://github.com/panva/jose/blob/v3.8.0/src/types.d.ts#L466)* - -A list of accepted JWS "alg" (Algorithm) Header Parameter values. - -___ - -### audience - -• `Optional` **audience**: string \| string[] - -*Defined in [src/types.d.ts:422](https://github.com/panva/jose/blob/v3.8.0/src/types.d.ts#L422)* - -Expected JWT "aud" (Audience) Claim value(s). - -___ - -### clockTolerance - -• `Optional` **clockTolerance**: string \| number - -*Defined in [src/types.d.ts:429](https://github.com/panva/jose/blob/v3.8.0/src/types.d.ts#L429)* - -Expected clock tolerance -- in seconds when number (e.g. 5) -- parsed as seconds when a string (e.g. "5 seconds", "10 minutes", "2 hours"). - -___ - -### crit - -• `Optional` **crit**: { [propName:string]: boolean; } - -*Defined in [src/types.d.ts:378](https://github.com/panva/jose/blob/v3.8.0/src/types.d.ts#L378)* - -An object with keys representing recognized "crit" (Critical) Header Parameter -names. The value for those is either `true` or `false`. `true` when the -Header Parameter MUST be integrity protected, `false` when it's irrelevant. - -This makes the "Extension Header Parameter "${parameter}" is not recognized" -error go away. - -Use this when a given JWS/JWT/JWE profile requires the use of proprietary -non-registered "crit" (Critical) Header Parameters. This will only make sure -the Header Parameter is syntactically correct when provided and that it is -optionally integrity protected. It will not process the Header Parameter in -any way or reject if the operation if it is missing. You MUST still -verify the Header Parameter was present and process it according to the -profile's validation steps after the operation succeeds. - -The JWS extension Header Parameter `b64` is always recognized and processed -properly. No other registered Header Parameters that need this kind of -default built-in treatment are currently available. - -___ - -### currentDate - -• `Optional` **currentDate**: Date - -*Defined in [src/types.d.ts:456](https://github.com/panva/jose/blob/v3.8.0/src/types.d.ts#L456)* - -Date to use when comparing NumericDate claims, defaults to `new Date()`. - -___ - -### issuer - -• `Optional` **issuer**: string \| string[] - -*Defined in [src/types.d.ts:434](https://github.com/panva/jose/blob/v3.8.0/src/types.d.ts#L434)* - -Expected JWT "iss" (Issuer) Claim value(s). - -___ - -### maxTokenAge - -• `Optional` **maxTokenAge**: string \| number - -*Defined in [src/types.d.ts:441](https://github.com/panva/jose/blob/v3.8.0/src/types.d.ts#L441)* - -Maximum time elapsed (in seconds) from the JWT "iat" (Issued At) Claim value. -- in seconds when number (e.g. 5) -- parsed as seconds when a string (e.g. "5 seconds", "10 minutes", "2 hours"). - -___ - -### subject - -• `Optional` **subject**: string - -*Defined in [src/types.d.ts:446](https://github.com/panva/jose/blob/v3.8.0/src/types.d.ts#L446)* - -Expected JWT "sub" (Subject) Claim value. - -___ - -### typ - -• `Optional` **typ**: string - -*Defined in [src/types.d.ts:451](https://github.com/panva/jose/blob/v3.8.0/src/types.d.ts#L451)* - -Expected JWT "typ" (Type) Header Parameter value. diff --git a/docs/interfaces/_types_d_.compactdecryptresult.md b/docs/interfaces/_types_d_.compactdecryptresult.md deleted file mode 100644 index 28da4aa751..0000000000 --- a/docs/interfaces/_types_d_.compactdecryptresult.md +++ /dev/null @@ -1,28 +0,0 @@ -# Interface: CompactDecryptResult - -## Index - -### Properties - -* [plaintext](_types_d_.compactdecryptresult.md#plaintext) -* [protectedHeader](_types_d_.compactdecryptresult.md#protectedheader) - -## Properties - -### plaintext - -• **plaintext**: Uint8Array - -*Defined in [src/types.d.ts:567](https://github.com/panva/jose/blob/v3.8.0/src/types.d.ts#L567)* - -Plaintext. - -___ - -### protectedHeader - -• **protectedHeader**: [JWEHeaderParameters](_types_d_.jweheaderparameters.md) - -*Defined in [src/types.d.ts:572](https://github.com/panva/jose/blob/v3.8.0/src/types.d.ts#L572)* - -JWE Protected Header. diff --git a/docs/interfaces/_types_d_.compactverifyresult.md b/docs/interfaces/_types_d_.compactverifyresult.md deleted file mode 100644 index 11c84a8cfc..0000000000 --- a/docs/interfaces/_types_d_.compactverifyresult.md +++ /dev/null @@ -1,28 +0,0 @@ -# Interface: CompactVerifyResult - -## Index - -### Properties - -* [payload](_types_d_.compactverifyresult.md#payload) -* [protectedHeader](_types_d_.compactverifyresult.md#protectedheader) - -## Properties - -### payload - -• **payload**: Uint8Array - -*Defined in [src/types.d.ts:598](https://github.com/panva/jose/blob/v3.8.0/src/types.d.ts#L598)* - -JWS Payload. - -___ - -### protectedHeader - -• **protectedHeader**: [JWSHeaderParameters](_types_d_.jwsheaderparameters.md) - -*Defined in [src/types.d.ts:603](https://github.com/panva/jose/blob/v3.8.0/src/types.d.ts#L603)* - -JWS Protected Header. diff --git a/docs/interfaces/_types_d_.flatteneddecryptresult.md b/docs/interfaces/_types_d_.flatteneddecryptresult.md deleted file mode 100644 index 76ad9a3d6f..0000000000 --- a/docs/interfaces/_types_d_.flatteneddecryptresult.md +++ /dev/null @@ -1,61 +0,0 @@ -# Interface: FlattenedDecryptResult - -## Index - -### Properties - -* [additionalAuthenticatedData](_types_d_.flatteneddecryptresult.md#additionalauthenticateddata) -* [plaintext](_types_d_.flatteneddecryptresult.md#plaintext) -* [protectedHeader](_types_d_.flatteneddecryptresult.md#protectedheader) -* [sharedUnprotectedHeader](_types_d_.flatteneddecryptresult.md#sharedunprotectedheader) -* [unprotectedHeader](_types_d_.flatteneddecryptresult.md#unprotectedheader) - -## Properties - -### additionalAuthenticatedData - -• `Optional` **additionalAuthenticatedData**: Uint8Array - -*Defined in [src/types.d.ts:538](https://github.com/panva/jose/blob/v3.8.0/src/types.d.ts#L538)* - -JWE AAD. - -___ - -### plaintext - -• **plaintext**: Uint8Array - -*Defined in [src/types.d.ts:543](https://github.com/panva/jose/blob/v3.8.0/src/types.d.ts#L543)* - -Plaintext. - -___ - -### protectedHeader - -• `Optional` **protectedHeader**: [JWEHeaderParameters](_types_d_.jweheaderparameters.md) - -*Defined in [src/types.d.ts:548](https://github.com/panva/jose/blob/v3.8.0/src/types.d.ts#L548)* - -JWE Protected Header. - -___ - -### sharedUnprotectedHeader - -• `Optional` **sharedUnprotectedHeader**: [JWEHeaderParameters](_types_d_.jweheaderparameters.md) - -*Defined in [src/types.d.ts:553](https://github.com/panva/jose/blob/v3.8.0/src/types.d.ts#L553)* - -JWE Shared Unprotected Header. - -___ - -### unprotectedHeader - -• `Optional` **unprotectedHeader**: [JWEHeaderParameters](_types_d_.jweheaderparameters.md) - -*Defined in [src/types.d.ts:558](https://github.com/panva/jose/blob/v3.8.0/src/types.d.ts#L558)* - -JWE Per-Recipient Unprotected Header. diff --git a/docs/interfaces/_types_d_.flattenedjws.md b/docs/interfaces/_types_d_.flattenedjws.md deleted file mode 100644 index 9b609b1f9e..0000000000 --- a/docs/interfaces/_types_d_.flattenedjws.md +++ /dev/null @@ -1,28 +0,0 @@ -# Interface: FlattenedJWS - -Flattened JWS definition. Payload is an optional return property, it -is not returned when JWS Unencoded Payload Option -[RFC7797](https://tools.ietf.org/html/rfc7797) is used. - -## Index - -### Properties - -* [payload](_types_d_.flattenedjws.md#payload) -* [signature](_types_d_.flattenedjws.md#signature) - -## Properties - -### payload - -• `Optional` **payload**: string - -*Defined in [src/types.d.ts:160](https://github.com/panva/jose/blob/v3.8.0/src/types.d.ts#L160)* - -___ - -### signature - -• **signature**: string - -*Defined in [src/types.d.ts:161](https://github.com/panva/jose/blob/v3.8.0/src/types.d.ts#L161)* diff --git a/docs/interfaces/_types_d_.flattenedverifyresult.md b/docs/interfaces/_types_d_.flattenedverifyresult.md deleted file mode 100644 index 728ac95db6..0000000000 --- a/docs/interfaces/_types_d_.flattenedverifyresult.md +++ /dev/null @@ -1,39 +0,0 @@ -# Interface: FlattenedVerifyResult - -## Index - -### Properties - -* [payload](_types_d_.flattenedverifyresult.md#payload) -* [protectedHeader](_types_d_.flattenedverifyresult.md#protectedheader) -* [unprotectedHeader](_types_d_.flattenedverifyresult.md#unprotectedheader) - -## Properties - -### payload - -• **payload**: Uint8Array - -*Defined in [src/types.d.ts:579](https://github.com/panva/jose/blob/v3.8.0/src/types.d.ts#L579)* - -JWS Payload. - -___ - -### protectedHeader - -• `Optional` **protectedHeader**: [JWSHeaderParameters](_types_d_.jwsheaderparameters.md) - -*Defined in [src/types.d.ts:584](https://github.com/panva/jose/blob/v3.8.0/src/types.d.ts#L584)* - -JWS Protected Header. - -___ - -### unprotectedHeader - -• `Optional` **unprotectedHeader**: [JWSHeaderParameters](_types_d_.jwsheaderparameters.md) - -*Defined in [src/types.d.ts:589](https://github.com/panva/jose/blob/v3.8.0/src/types.d.ts#L589)* - -JWS Unprotected Header. diff --git a/docs/interfaces/_types_d_.generaldecryptresult.md b/docs/interfaces/_types_d_.generaldecryptresult.md deleted file mode 100644 index fe7e3f5e70..0000000000 --- a/docs/interfaces/_types_d_.generaldecryptresult.md +++ /dev/null @@ -1,61 +0,0 @@ -# Interface: GeneralDecryptResult - -## Index - -### Properties - -* [additionalAuthenticatedData](_types_d_.generaldecryptresult.md#additionalauthenticateddata) -* [plaintext](_types_d_.generaldecryptresult.md#plaintext) -* [protectedHeader](_types_d_.generaldecryptresult.md#protectedheader) -* [sharedUnprotectedHeader](_types_d_.generaldecryptresult.md#sharedunprotectedheader) -* [unprotectedHeader](_types_d_.generaldecryptresult.md#unprotectedheader) - -## Properties - -### additionalAuthenticatedData - -• `Optional` **additionalAuthenticatedData**: Uint8Array - -*Defined in [src/types.d.ts:538](https://github.com/panva/jose/blob/v3.8.0/src/types.d.ts#L538)* - -JWE AAD. - -___ - -### plaintext - -• **plaintext**: Uint8Array - -*Defined in [src/types.d.ts:543](https://github.com/panva/jose/blob/v3.8.0/src/types.d.ts#L543)* - -Plaintext. - -___ - -### protectedHeader - -• `Optional` **protectedHeader**: [JWEHeaderParameters](_types_d_.jweheaderparameters.md) - -*Defined in [src/types.d.ts:548](https://github.com/panva/jose/blob/v3.8.0/src/types.d.ts#L548)* - -JWE Protected Header. - -___ - -### sharedUnprotectedHeader - -• `Optional` **sharedUnprotectedHeader**: [JWEHeaderParameters](_types_d_.jweheaderparameters.md) - -*Defined in [src/types.d.ts:553](https://github.com/panva/jose/blob/v3.8.0/src/types.d.ts#L553)* - -JWE Shared Unprotected Header. - -___ - -### unprotectedHeader - -• `Optional` **unprotectedHeader**: [JWEHeaderParameters](_types_d_.jweheaderparameters.md) - -*Defined in [src/types.d.ts:558](https://github.com/panva/jose/blob/v3.8.0/src/types.d.ts#L558)* - -JWE Per-Recipient Unprotected Header. diff --git a/docs/interfaces/_types_d_.generaljwe.md b/docs/interfaces/_types_d_.generaljwe.md deleted file mode 100644 index 13b95563b1..0000000000 --- a/docs/interfaces/_types_d_.generaljwe.md +++ /dev/null @@ -1,15 +0,0 @@ -# Interface: GeneralJWE - -## Index - -### Properties - -* [recipients](_types_d_.generaljwe.md#recipients) - -## Properties - -### recipients - -• **recipients**: Pick<[FlattenedJWE](_types_d_.flattenedjwe.md), \"encrypted\_key\" \| \"header\"\>[] - -*Defined in [src/types.d.ts:320](https://github.com/panva/jose/blob/v3.8.0/src/types.d.ts#L320)* diff --git a/docs/interfaces/_types_d_.generaljws.md b/docs/interfaces/_types_d_.generaljws.md deleted file mode 100644 index 12c7b6c1a7..0000000000 --- a/docs/interfaces/_types_d_.generaljws.md +++ /dev/null @@ -1,28 +0,0 @@ -# Interface: GeneralJWS - -General JWS definition. Payload is an optional return property, it -is not returned when JWS Unencoded Payload Option -[RFC7797](https://tools.ietf.org/html/rfc7797) is used. - -## Index - -### Properties - -* [payload](_types_d_.generaljws.md#payload) -* [signatures](_types_d_.generaljws.md#signatures) - -## Properties - -### payload - -• `Optional` **payload**: string - -*Defined in [src/types.d.ts:170](https://github.com/panva/jose/blob/v3.8.0/src/types.d.ts#L170)* - -___ - -### signatures - -• **signatures**: Omit<[FlattenedJWSInput](_types_d_.flattenedjwsinput.md), \"payload\"\>[] - -*Defined in [src/types.d.ts:171](https://github.com/panva/jose/blob/v3.8.0/src/types.d.ts#L171)* diff --git a/docs/interfaces/_types_d_.generalverifyresult.md b/docs/interfaces/_types_d_.generalverifyresult.md deleted file mode 100644 index c002f069d4..0000000000 --- a/docs/interfaces/_types_d_.generalverifyresult.md +++ /dev/null @@ -1,39 +0,0 @@ -# Interface: GeneralVerifyResult - -## Index - -### Properties - -* [payload](_types_d_.generalverifyresult.md#payload) -* [protectedHeader](_types_d_.generalverifyresult.md#protectedheader) -* [unprotectedHeader](_types_d_.generalverifyresult.md#unprotectedheader) - -## Properties - -### payload - -• **payload**: Uint8Array - -*Defined in [src/types.d.ts:579](https://github.com/panva/jose/blob/v3.8.0/src/types.d.ts#L579)* - -JWS Payload. - -___ - -### protectedHeader - -• `Optional` **protectedHeader**: [JWSHeaderParameters](_types_d_.jwsheaderparameters.md) - -*Defined in [src/types.d.ts:584](https://github.com/panva/jose/blob/v3.8.0/src/types.d.ts#L584)* - -JWS Protected Header. - -___ - -### unprotectedHeader - -• `Optional` **unprotectedHeader**: [JWSHeaderParameters](_types_d_.jwsheaderparameters.md) - -*Defined in [src/types.d.ts:589](https://github.com/panva/jose/blob/v3.8.0/src/types.d.ts#L589)* - -JWS Unprotected Header. diff --git a/docs/interfaces/_types_d_.getkeyfunction.md b/docs/interfaces/_types_d_.getkeyfunction.md deleted file mode 100644 index 9efa0212bb..0000000000 --- a/docs/interfaces/_types_d_.getkeyfunction.md +++ /dev/null @@ -1,33 +0,0 @@ -# Interface: GetKeyFunction - -Generic Interface for consuming operations dynamic key resolution. -No token components have been verified at the time of this function call. - -If you cannot match a key suitable for the token, throw an error instead. - -## Type parameters - -Name | ------- | -`T` | -`T2` | - -## Callable - -▸ (`protectedHeader`: T, `token`: T2): Promise<[KeyLike](../types/_types_d_.keylike.md)\> - -*Defined in [src/types.d.ts:79](https://github.com/panva/jose/blob/v3.8.0/src/types.d.ts#L79)* - -Generic Interface for consuming operations dynamic key resolution. -No token components have been verified at the time of this function call. - -If you cannot match a key suitable for the token, throw an error instead. - -#### Parameters: - -Name | Type | Description | ------- | ------ | ------ | -`protectedHeader` | T | JWE or JWS Protected Header. | -`token` | T2 | The consumed JWE or JWS token. | - -**Returns:** Promise<[KeyLike](../types/_types_d_.keylike.md)\> diff --git a/docs/interfaces/_types_d_.joseheaderparameters.md b/docs/interfaces/_types_d_.joseheaderparameters.md deleted file mode 100644 index f7d46fc2c4..0000000000 --- a/docs/interfaces/_types_d_.joseheaderparameters.md +++ /dev/null @@ -1,83 +0,0 @@ -# Interface: JoseHeaderParameters - -## Index - -### Properties - -* [cty](_types_d_.joseheaderparameters.md#cty) -* [jwk](_types_d_.joseheaderparameters.md#jwk) -* [kid](_types_d_.joseheaderparameters.md#kid) -* [typ](_types_d_.joseheaderparameters.md#typ) -* [x5c](_types_d_.joseheaderparameters.md#x5c) -* [x5t](_types_d_.joseheaderparameters.md#x5t) -* [x5u](_types_d_.joseheaderparameters.md#x5u) - -## Properties - -### cty - -• `Optional` **cty**: string - -*Defined in [src/types.d.ts:208](https://github.com/panva/jose/blob/v3.8.0/src/types.d.ts#L208)* - -"cty" (Content Type) Header Parameter. - -___ - -### jwk - -• `Optional` **jwk**: Pick<[JWK](_types_d_.jwk.md), \"kty\" \| \"crv\" \| \"x\" \| \"y\" \| \"e\" \| \"n\"\> - -*Defined in [src/types.d.ts:198](https://github.com/panva/jose/blob/v3.8.0/src/types.d.ts#L198)* - -"jwk" (JSON Web Key) Header Parameter. - -___ - -### kid - -• `Optional` **kid**: string - -*Defined in [src/types.d.ts:178](https://github.com/panva/jose/blob/v3.8.0/src/types.d.ts#L178)* - -"kid" (Key ID) Header Parameter. - -___ - -### typ - -• `Optional` **typ**: string - -*Defined in [src/types.d.ts:203](https://github.com/panva/jose/blob/v3.8.0/src/types.d.ts#L203)* - -"typ" (Type) Header Parameter. - -___ - -### x5c - -• `Optional` **x5c**: string[] - -*Defined in [src/types.d.ts:188](https://github.com/panva/jose/blob/v3.8.0/src/types.d.ts#L188)* - -"x5c" (X.509 Certificate Chain) Header Parameter. - -___ - -### x5t - -• `Optional` **x5t**: string - -*Defined in [src/types.d.ts:183](https://github.com/panva/jose/blob/v3.8.0/src/types.d.ts#L183)* - -"x5t" (X.509 Certificate SHA-1 Thumbprint) Header Parameter. - -___ - -### x5u - -• `Optional` **x5u**: string - -*Defined in [src/types.d.ts:193](https://github.com/panva/jose/blob/v3.8.0/src/types.d.ts#L193)* - -"x5u" (X.509 URL) Header Parameter. diff --git a/docs/interfaces/_types_d_.jweheaderparameters.md b/docs/interfaces/_types_d_.jweheaderparameters.md deleted file mode 100644 index 142a442875..0000000000 --- a/docs/interfaces/_types_d_.jweheaderparameters.md +++ /dev/null @@ -1,136 +0,0 @@ -# Interface: JWEHeaderParameters - -Recognized JWE Header Parameters, any other Header members -may also be present. - -## Indexable - -▪ [propName: string]: any - -Any other JWE Header member. - -## Index - -### Properties - -* [alg](_types_d_.jweheaderparameters.md#alg) -* [crit](_types_d_.jweheaderparameters.md#crit) -* [cty](_types_d_.jweheaderparameters.md#cty) -* [enc](_types_d_.jweheaderparameters.md#enc) -* [jwk](_types_d_.jweheaderparameters.md#jwk) -* [kid](_types_d_.jweheaderparameters.md#kid) -* [typ](_types_d_.jweheaderparameters.md#typ) -* [x5c](_types_d_.jweheaderparameters.md#x5c) -* [x5t](_types_d_.jweheaderparameters.md#x5t) -* [x5u](_types_d_.jweheaderparameters.md#x5u) -* [zip](_types_d_.jweheaderparameters.md#zip) - -## Properties - -### alg - -• `Optional` **alg**: string - -*Defined in [src/types.d.ts:331](https://github.com/panva/jose/blob/v3.8.0/src/types.d.ts#L331)* - -JWE "alg" (Algorithm) Header Parameter. - -___ - -### crit - -• `Optional` **crit**: string[] - -*Defined in [src/types.d.ts:341](https://github.com/panva/jose/blob/v3.8.0/src/types.d.ts#L341)* - -JWE "crit" (Critical) Header Parameter. - -___ - -### cty - -• `Optional` **cty**: string - -*Defined in [src/types.d.ts:208](https://github.com/panva/jose/blob/v3.8.0/src/types.d.ts#L208)* - -"cty" (Content Type) Header Parameter. - -___ - -### enc - -• `Optional` **enc**: string - -*Defined in [src/types.d.ts:336](https://github.com/panva/jose/blob/v3.8.0/src/types.d.ts#L336)* - -JWE "enc" (Encryption Algorithm) Header Parameter. - -___ - -### jwk - -• `Optional` **jwk**: Pick<[JWK](_types_d_.jwk.md), \"kty\" \| \"crv\" \| \"x\" \| \"y\" \| \"e\" \| \"n\"\> - -*Defined in [src/types.d.ts:198](https://github.com/panva/jose/blob/v3.8.0/src/types.d.ts#L198)* - -"jwk" (JSON Web Key) Header Parameter. - -___ - -### kid - -• `Optional` **kid**: string - -*Defined in [src/types.d.ts:178](https://github.com/panva/jose/blob/v3.8.0/src/types.d.ts#L178)* - -"kid" (Key ID) Header Parameter. - -___ - -### typ - -• `Optional` **typ**: string - -*Defined in [src/types.d.ts:203](https://github.com/panva/jose/blob/v3.8.0/src/types.d.ts#L203)* - -"typ" (Type) Header Parameter. - -___ - -### x5c - -• `Optional` **x5c**: string[] - -*Defined in [src/types.d.ts:188](https://github.com/panva/jose/blob/v3.8.0/src/types.d.ts#L188)* - -"x5c" (X.509 Certificate Chain) Header Parameter. - -___ - -### x5t - -• `Optional` **x5t**: string - -*Defined in [src/types.d.ts:183](https://github.com/panva/jose/blob/v3.8.0/src/types.d.ts#L183)* - -"x5t" (X.509 Certificate SHA-1 Thumbprint) Header Parameter. - -___ - -### x5u - -• `Optional` **x5u**: string - -*Defined in [src/types.d.ts:193](https://github.com/panva/jose/blob/v3.8.0/src/types.d.ts#L193)* - -"x5u" (X.509 URL) Header Parameter. - -___ - -### zip - -• `Optional` **zip**: string - -*Defined in [src/types.d.ts:346](https://github.com/panva/jose/blob/v3.8.0/src/types.d.ts#L346)* - -JWE "zip" (Compression Algorithm) Header Parameter. diff --git a/docs/interfaces/_types_d_.jwekeymanagementheaderparameters.md b/docs/interfaces/_types_d_.jwekeymanagementheaderparameters.md deleted file mode 100644 index 60a7e97c65..0000000000 --- a/docs/interfaces/_types_d_.jwekeymanagementheaderparameters.md +++ /dev/null @@ -1,62 +0,0 @@ -# Interface: JWEKeyManagementHeaderParameters - -Recognized JWE Key Management-related Header Parameters. - -## Index - -### Properties - -* [apu](_types_d_.jwekeymanagementheaderparameters.md#apu) -* [apv](_types_d_.jwekeymanagementheaderparameters.md#apv) -* [epk](_types_d_.jwekeymanagementheaderparameters.md#epk) -* [iv](_types_d_.jwekeymanagementheaderparameters.md#iv) -* [p2c](_types_d_.jwekeymanagementheaderparameters.md#p2c) -* [p2s](_types_d_.jwekeymanagementheaderparameters.md#p2s) - -## Properties - -### apu - -• `Optional` **apu**: Uint8Array - -*Defined in [src/types.d.ts:243](https://github.com/panva/jose/blob/v3.8.0/src/types.d.ts#L243)* - -___ - -### apv - -• `Optional` **apv**: Uint8Array - -*Defined in [src/types.d.ts:244](https://github.com/panva/jose/blob/v3.8.0/src/types.d.ts#L244)* - -___ - -### epk - -• `Optional` **epk**: [KeyLike](../types/_types_d_.keylike.md) - -*Defined in [src/types.d.ts:245](https://github.com/panva/jose/blob/v3.8.0/src/types.d.ts#L245)* - -___ - -### iv - -• `Optional` **iv**: Uint8Array - -*Defined in [src/types.d.ts:246](https://github.com/panva/jose/blob/v3.8.0/src/types.d.ts#L246)* - -___ - -### p2c - -• `Optional` **p2c**: number - -*Defined in [src/types.d.ts:247](https://github.com/panva/jose/blob/v3.8.0/src/types.d.ts#L247)* - -___ - -### p2s - -• `Optional` **p2s**: Uint8Array - -*Defined in [src/types.d.ts:248](https://github.com/panva/jose/blob/v3.8.0/src/types.d.ts#L248)* diff --git a/docs/interfaces/_types_d_.jwk.md b/docs/interfaces/_types_d_.jwk.md deleted file mode 100644 index 7adbbe8795..0000000000 --- a/docs/interfaces/_types_d_.jwk.md +++ /dev/null @@ -1,236 +0,0 @@ -# Interface: JWK - -JSON Web Key ([JWK](https://tools.ietf.org/html/rfc7517)). -"RSA", "EC", "OKP", and "oct" key types are supported. - -## Index - -### Properties - -* [alg](_types_d_.jwk.md#alg) -* [crv](_types_d_.jwk.md#crv) -* [d](_types_d_.jwk.md#d) -* [dp](_types_d_.jwk.md#dp) -* [dq](_types_d_.jwk.md#dq) -* [e](_types_d_.jwk.md#e) -* [ext](_types_d_.jwk.md#ext) -* [k](_types_d_.jwk.md#k) -* [key\_ops](_types_d_.jwk.md#key_ops) -* [kid](_types_d_.jwk.md#kid) -* [kty](_types_d_.jwk.md#kty) -* [n](_types_d_.jwk.md#n) -* [oth](_types_d_.jwk.md#oth) -* [p](_types_d_.jwk.md#p) -* [q](_types_d_.jwk.md#q) -* [qi](_types_d_.jwk.md#qi) -* [use](_types_d_.jwk.md#use) -* [x](_types_d_.jwk.md#x) -* [x5c](_types_d_.jwk.md#x5c) -* [x5t](_types_d_.jwk.md#x5t) -* [x5t#S256](_types_d_.jwk.md#x5t#s256) -* [x5u](_types_d_.jwk.md#x5u) -* [y](_types_d_.jwk.md#y) - -## Properties - -### alg - -• `Optional` **alg**: string - -*Defined in [src/types.d.ts:14](https://github.com/panva/jose/blob/v3.8.0/src/types.d.ts#L14)* - -JWK "alg" (Algorithm) Parameter. - -___ - -### crv - -• `Optional` **crv**: string - -*Defined in [src/types.d.ts:15](https://github.com/panva/jose/blob/v3.8.0/src/types.d.ts#L15)* - -___ - -### d - -• `Optional` **d**: string - -*Defined in [src/types.d.ts:16](https://github.com/panva/jose/blob/v3.8.0/src/types.d.ts#L16)* - -___ - -### dp - -• `Optional` **dp**: string - -*Defined in [src/types.d.ts:17](https://github.com/panva/jose/blob/v3.8.0/src/types.d.ts#L17)* - -___ - -### dq - -• `Optional` **dq**: string - -*Defined in [src/types.d.ts:18](https://github.com/panva/jose/blob/v3.8.0/src/types.d.ts#L18)* - -___ - -### e - -• `Optional` **e**: string - -*Defined in [src/types.d.ts:19](https://github.com/panva/jose/blob/v3.8.0/src/types.d.ts#L19)* - -___ - -### ext - -• `Optional` **ext**: false \| true - -*Defined in [src/types.d.ts:23](https://github.com/panva/jose/blob/v3.8.0/src/types.d.ts#L23)* - -JWK "ext" (Extractable) Parameter. - -___ - -### k - -• `Optional` **k**: string - -*Defined in [src/types.d.ts:24](https://github.com/panva/jose/blob/v3.8.0/src/types.d.ts#L24)* - -___ - -### key\_ops - -• `Optional` **key\_ops**: string[] - -*Defined in [src/types.d.ts:28](https://github.com/panva/jose/blob/v3.8.0/src/types.d.ts#L28)* - -JWK "key_ops" (Key Operations) Parameter. - -___ - -### kid - -• `Optional` **kid**: string - -*Defined in [src/types.d.ts:32](https://github.com/panva/jose/blob/v3.8.0/src/types.d.ts#L32)* - -JWK "kid" (Key ID) Parameter. - -___ - -### kty - -• `Optional` **kty**: string - -*Defined in [src/types.d.ts:36](https://github.com/panva/jose/blob/v3.8.0/src/types.d.ts#L36)* - -JWK "kty" (Key Type) Parameter. - -___ - -### n - -• `Optional` **n**: string - -*Defined in [src/types.d.ts:37](https://github.com/panva/jose/blob/v3.8.0/src/types.d.ts#L37)* - -___ - -### oth - -• `Optional` **oth**: Array<{ d?: string ; r?: string ; t?: string }\> - -*Defined in [src/types.d.ts:38](https://github.com/panva/jose/blob/v3.8.0/src/types.d.ts#L38)* - -___ - -### p - -• `Optional` **p**: string - -*Defined in [src/types.d.ts:43](https://github.com/panva/jose/blob/v3.8.0/src/types.d.ts#L43)* - -___ - -### q - -• `Optional` **q**: string - -*Defined in [src/types.d.ts:44](https://github.com/panva/jose/blob/v3.8.0/src/types.d.ts#L44)* - -___ - -### qi - -• `Optional` **qi**: string - -*Defined in [src/types.d.ts:45](https://github.com/panva/jose/blob/v3.8.0/src/types.d.ts#L45)* - -___ - -### use - -• `Optional` **use**: string - -*Defined in [src/types.d.ts:49](https://github.com/panva/jose/blob/v3.8.0/src/types.d.ts#L49)* - -JWK "use" (Public Key Use) Parameter. - -___ - -### x - -• `Optional` **x**: string - -*Defined in [src/types.d.ts:50](https://github.com/panva/jose/blob/v3.8.0/src/types.d.ts#L50)* - -___ - -### x5c - -• `Optional` **x5c**: string[] - -*Defined in [src/types.d.ts:55](https://github.com/panva/jose/blob/v3.8.0/src/types.d.ts#L55)* - -JWK "x5c" (X.509 Certificate Chain) Parameter. - -___ - -### x5t - -• `Optional` **x5t**: string - -*Defined in [src/types.d.ts:59](https://github.com/panva/jose/blob/v3.8.0/src/types.d.ts#L59)* - -JWK "x5t" (X.509 Certificate SHA-1 Thumbprint) Parameter. - -___ - -### x5t#S256 - -• `Optional` **x5t#S256**: string - -*Defined in [src/types.d.ts:63](https://github.com/panva/jose/blob/v3.8.0/src/types.d.ts#L63)* - -"x5t#S256" (X.509 Certificate SHA-256 Thumbprint) Parameter. - -___ - -### x5u - -• `Optional` **x5u**: string - -*Defined in [src/types.d.ts:67](https://github.com/panva/jose/blob/v3.8.0/src/types.d.ts#L67)* - -JWK "x5u" (X.509 URL) Parameter. - -___ - -### y - -• `Optional` **y**: string - -*Defined in [src/types.d.ts:51](https://github.com/panva/jose/blob/v3.8.0/src/types.d.ts#L51)* diff --git a/docs/interfaces/_types_d_.jwsheaderparameters.md b/docs/interfaces/_types_d_.jwsheaderparameters.md deleted file mode 100644 index 26bb35db09..0000000000 --- a/docs/interfaces/_types_d_.jwsheaderparameters.md +++ /dev/null @@ -1,127 +0,0 @@ -# Interface: JWSHeaderParameters - -Recognized JWS Header Parameters, any other Header Members -may also be present. - -## Indexable - -▪ [propName: string]: any - -Any other JWS Header member. - -## Index - -### Properties - -* [alg](_types_d_.jwsheaderparameters.md#alg) -* [b64](_types_d_.jwsheaderparameters.md#b64) -* [crit](_types_d_.jwsheaderparameters.md#crit) -* [cty](_types_d_.jwsheaderparameters.md#cty) -* [jwk](_types_d_.jwsheaderparameters.md#jwk) -* [kid](_types_d_.jwsheaderparameters.md#kid) -* [typ](_types_d_.jwsheaderparameters.md#typ) -* [x5c](_types_d_.jwsheaderparameters.md#x5c) -* [x5t](_types_d_.jwsheaderparameters.md#x5t) -* [x5u](_types_d_.jwsheaderparameters.md#x5u) - -## Properties - -### alg - -• `Optional` **alg**: string - -*Defined in [src/types.d.ts:219](https://github.com/panva/jose/blob/v3.8.0/src/types.d.ts#L219)* - -JWS "alg" (Algorithm) Header Parameter. - -___ - -### b64 - -• `Optional` **b64**: false \| true - -*Defined in [src/types.d.ts:226](https://github.com/panva/jose/blob/v3.8.0/src/types.d.ts#L226)* - -This JWS Extension Header Parameter modifies the JWS Payload -representation and the JWS Signing Input computation as per -[RFC7797](https://tools.ietf.org/html/rfc7797). - -___ - -### crit - -• `Optional` **crit**: string[] - -*Defined in [src/types.d.ts:231](https://github.com/panva/jose/blob/v3.8.0/src/types.d.ts#L231)* - -JWS "crit" (Critical) Header Parameter. - -___ - -### cty - -• `Optional` **cty**: string - -*Defined in [src/types.d.ts:208](https://github.com/panva/jose/blob/v3.8.0/src/types.d.ts#L208)* - -"cty" (Content Type) Header Parameter. - -___ - -### jwk - -• `Optional` **jwk**: Pick<[JWK](_types_d_.jwk.md), \"kty\" \| \"crv\" \| \"x\" \| \"y\" \| \"e\" \| \"n\"\> - -*Defined in [src/types.d.ts:198](https://github.com/panva/jose/blob/v3.8.0/src/types.d.ts#L198)* - -"jwk" (JSON Web Key) Header Parameter. - -___ - -### kid - -• `Optional` **kid**: string - -*Defined in [src/types.d.ts:178](https://github.com/panva/jose/blob/v3.8.0/src/types.d.ts#L178)* - -"kid" (Key ID) Header Parameter. - -___ - -### typ - -• `Optional` **typ**: string - -*Defined in [src/types.d.ts:203](https://github.com/panva/jose/blob/v3.8.0/src/types.d.ts#L203)* - -"typ" (Type) Header Parameter. - -___ - -### x5c - -• `Optional` **x5c**: string[] - -*Defined in [src/types.d.ts:188](https://github.com/panva/jose/blob/v3.8.0/src/types.d.ts#L188)* - -"x5c" (X.509 Certificate Chain) Header Parameter. - -___ - -### x5t - -• `Optional` **x5t**: string - -*Defined in [src/types.d.ts:183](https://github.com/panva/jose/blob/v3.8.0/src/types.d.ts#L183)* - -"x5t" (X.509 Certificate SHA-1 Thumbprint) Header Parameter. - -___ - -### x5u - -• `Optional` **x5u**: string - -*Defined in [src/types.d.ts:193](https://github.com/panva/jose/blob/v3.8.0/src/types.d.ts#L193)* - -"x5u" (X.509 URL) Header Parameter. diff --git a/docs/interfaces/_types_d_.jwtclaimverificationoptions.md b/docs/interfaces/_types_d_.jwtclaimverificationoptions.md deleted file mode 100644 index 31cf538932..0000000000 --- a/docs/interfaces/_types_d_.jwtclaimverificationoptions.md +++ /dev/null @@ -1,89 +0,0 @@ -# Interface: JWTClaimVerificationOptions - -JWT Claims Set verification options. - -## Index - -### Properties - -* [audience](_types_d_.jwtclaimverificationoptions.md#audience) -* [clockTolerance](_types_d_.jwtclaimverificationoptions.md#clocktolerance) -* [currentDate](_types_d_.jwtclaimverificationoptions.md#currentdate) -* [issuer](_types_d_.jwtclaimverificationoptions.md#issuer) -* [maxTokenAge](_types_d_.jwtclaimverificationoptions.md#maxtokenage) -* [subject](_types_d_.jwtclaimverificationoptions.md#subject) -* [typ](_types_d_.jwtclaimverificationoptions.md#typ) - -## Properties - -### audience - -• `Optional` **audience**: string \| string[] - -*Defined in [src/types.d.ts:422](https://github.com/panva/jose/blob/v3.8.0/src/types.d.ts#L422)* - -Expected JWT "aud" (Audience) Claim value(s). - -___ - -### clockTolerance - -• `Optional` **clockTolerance**: string \| number - -*Defined in [src/types.d.ts:429](https://github.com/panva/jose/blob/v3.8.0/src/types.d.ts#L429)* - -Expected clock tolerance -- in seconds when number (e.g. 5) -- parsed as seconds when a string (e.g. "5 seconds", "10 minutes", "2 hours"). - -___ - -### currentDate - -• `Optional` **currentDate**: Date - -*Defined in [src/types.d.ts:456](https://github.com/panva/jose/blob/v3.8.0/src/types.d.ts#L456)* - -Date to use when comparing NumericDate claims, defaults to `new Date()`. - -___ - -### issuer - -• `Optional` **issuer**: string \| string[] - -*Defined in [src/types.d.ts:434](https://github.com/panva/jose/blob/v3.8.0/src/types.d.ts#L434)* - -Expected JWT "iss" (Issuer) Claim value(s). - -___ - -### maxTokenAge - -• `Optional` **maxTokenAge**: string \| number - -*Defined in [src/types.d.ts:441](https://github.com/panva/jose/blob/v3.8.0/src/types.d.ts#L441)* - -Maximum time elapsed (in seconds) from the JWT "iat" (Issued At) Claim value. -- in seconds when number (e.g. 5) -- parsed as seconds when a string (e.g. "5 seconds", "10 minutes", "2 hours"). - -___ - -### subject - -• `Optional` **subject**: string - -*Defined in [src/types.d.ts:446](https://github.com/panva/jose/blob/v3.8.0/src/types.d.ts#L446)* - -Expected JWT "sub" (Subject) Claim value. - -___ - -### typ - -• `Optional` **typ**: string - -*Defined in [src/types.d.ts:451](https://github.com/panva/jose/blob/v3.8.0/src/types.d.ts#L451)* - -Expected JWT "typ" (Type) Header Parameter value. diff --git a/docs/interfaces/_types_d_.jwtdecryptresult.md b/docs/interfaces/_types_d_.jwtdecryptresult.md deleted file mode 100644 index 59f68787c8..0000000000 --- a/docs/interfaces/_types_d_.jwtdecryptresult.md +++ /dev/null @@ -1,28 +0,0 @@ -# Interface: JWTDecryptResult - -## Index - -### Properties - -* [payload](_types_d_.jwtdecryptresult.md#payload) -* [protectedHeader](_types_d_.jwtdecryptresult.md#protectedheader) - -## Properties - -### payload - -• **payload**: [JWTPayload](_types_d_.jwtpayload.md) - -*Defined in [src/types.d.ts:622](https://github.com/panva/jose/blob/v3.8.0/src/types.d.ts#L622)* - -JWT Claims Set. - -___ - -### protectedHeader - -• **protectedHeader**: [JWEHeaderParameters](_types_d_.jweheaderparameters.md) - -*Defined in [src/types.d.ts:627](https://github.com/panva/jose/blob/v3.8.0/src/types.d.ts#L627)* - -JWE Protected Header. diff --git a/docs/interfaces/_types_d_.jwtpayload.md b/docs/interfaces/_types_d_.jwtpayload.md deleted file mode 100644 index 688fd6c96d..0000000000 --- a/docs/interfaces/_types_d_.jwtpayload.md +++ /dev/null @@ -1,92 +0,0 @@ -# Interface: JWTPayload - -Recognized JWT Claims Set members, any other members -may also be present. - -## Indexable - -▪ [propName: string]: any - -Any other JWT Claim Set member. - -## Index - -### Properties - -* [aud](_types_d_.jwtpayload.md#aud) -* [exp](_types_d_.jwtpayload.md#exp) -* [iat](_types_d_.jwtpayload.md#iat) -* [iss](_types_d_.jwtpayload.md#iss) -* [jti](_types_d_.jwtpayload.md#jti) -* [nbf](_types_d_.jwtpayload.md#nbf) -* [sub](_types_d_.jwtpayload.md#sub) - -## Properties - -### aud - -• `Optional` **aud**: string \| string[] - -*Defined in [src/types.d.ts:492](https://github.com/panva/jose/blob/v3.8.0/src/types.d.ts#L492)* - -JWT Audience [RFC7519#section-4.1.3](https://tools.ietf.org/html/rfc7519#section-4.1.3). - -___ - -### exp - -• `Optional` **exp**: number - -*Defined in [src/types.d.ts:507](https://github.com/panva/jose/blob/v3.8.0/src/types.d.ts#L507)* - -JWT Expiration Time - [RFC7519#section-4.1.4](https://tools.ietf.org/html/rfc7519#section-4.1.4). - -___ - -### iat - -• `Optional` **iat**: number - -*Defined in [src/types.d.ts:512](https://github.com/panva/jose/blob/v3.8.0/src/types.d.ts#L512)* - -JWT Issued At - [RFC7519#section-4.1.6](https://tools.ietf.org/html/rfc7519#section-4.1.6). - -___ - -### iss - -• `Optional` **iss**: string - -*Defined in [src/types.d.ts:482](https://github.com/panva/jose/blob/v3.8.0/src/types.d.ts#L482)* - -JWT Issuer - [RFC7519#section-4.1.1](https://tools.ietf.org/html/rfc7519#section-4.1.1). - -___ - -### jti - -• `Optional` **jti**: string - -*Defined in [src/types.d.ts:497](https://github.com/panva/jose/blob/v3.8.0/src/types.d.ts#L497)* - -JWT ID - [RFC7519#section-4.1.7](https://tools.ietf.org/html/rfc7519#section-4.1.7). - -___ - -### nbf - -• `Optional` **nbf**: number - -*Defined in [src/types.d.ts:502](https://github.com/panva/jose/blob/v3.8.0/src/types.d.ts#L502)* - -JWT Not Before - [RFC7519#section-4.1.5](https://tools.ietf.org/html/rfc7519#section-4.1.5). - -___ - -### sub - -• `Optional` **sub**: string - -*Defined in [src/types.d.ts:487](https://github.com/panva/jose/blob/v3.8.0/src/types.d.ts#L487)* - -JWT Subject - [RFC7519#section-4.1.2](https://tools.ietf.org/html/rfc7519#section-4.1.2). diff --git a/docs/interfaces/_types_d_.jwtverifyresult.md b/docs/interfaces/_types_d_.jwtverifyresult.md deleted file mode 100644 index b6a0ba76c2..0000000000 --- a/docs/interfaces/_types_d_.jwtverifyresult.md +++ /dev/null @@ -1,28 +0,0 @@ -# Interface: JWTVerifyResult - -## Index - -### Properties - -* [payload](_types_d_.jwtverifyresult.md#payload) -* [protectedHeader](_types_d_.jwtverifyresult.md#protectedheader) - -## Properties - -### payload - -• **payload**: [JWTPayload](_types_d_.jwtpayload.md) - -*Defined in [src/types.d.ts:610](https://github.com/panva/jose/blob/v3.8.0/src/types.d.ts#L610)* - -JWT Claims Set. - -___ - -### protectedHeader - -• **protectedHeader**: [JWSHeaderParameters](_types_d_.jwsheaderparameters.md) - -*Defined in [src/types.d.ts:615](https://github.com/panva/jose/blob/v3.8.0/src/types.d.ts#L615)* - -JWS Protected Header. diff --git a/docs/interfaces/_util_generate_key_pair_.generatekeypairoptions.md b/docs/interfaces/_util_generate_key_pair_.generatekeypairoptions.md deleted file mode 100644 index 99ccd7e81e..0000000000 --- a/docs/interfaces/_util_generate_key_pair_.generatekeypairoptions.md +++ /dev/null @@ -1,31 +0,0 @@ -# Interface: GenerateKeyPairOptions - -## Index - -### Properties - -* [crv](_util_generate_key_pair_.generatekeypairoptions.md#crv) -* [modulusLength](_util_generate_key_pair_.generatekeypairoptions.md#moduluslength) - -## Properties - -### crv - -• `Optional` **crv**: string - -*Defined in [src/util/generate_key_pair.ts:10](https://github.com/panva/jose/blob/v3.8.0/src/util/generate_key_pair.ts#L10)* - -The EC "crv" (Curve) or OKP "crv" (Subtype of Key Pair) value to generate. -The curve must be both supported on the runtime as well as applicable for -the given JWA algorithm identifier. - -___ - -### modulusLength - -• `Optional` **modulusLength**: number - -*Defined in [src/util/generate_key_pair.ts:16](https://github.com/panva/jose/blob/v3.8.0/src/util/generate_key_pair.ts#L16)* - -A hint for RSA algorithms to generate an RSA key of a given `modulusLength` -(Key size in bits). JOSE requires 2048 bits or larger. Default is 2048. diff --git a/docs/interfaces/jwe_compact_decrypt.compactdecryptgetkey.md b/docs/interfaces/jwe_compact_decrypt.compactdecryptgetkey.md new file mode 100644 index 0000000000..c4d2c9e064 --- /dev/null +++ b/docs/interfaces/jwe_compact_decrypt.compactdecryptgetkey.md @@ -0,0 +1,30 @@ +# Interface: CompactDecryptGetKey + +[jwe/compact/decrypt](../modules/jwe_compact_decrypt.md).CompactDecryptGetKey + +Interface for Compact JWE Decryption dynamic key resolution. +No token components have been verified at the time of this function call. + +## Hierarchy + +* [*GetKeyFunction*](types.getkeyfunction.md)<[*JWEHeaderParameters*](types.jweheaderparameters.md), [*FlattenedJWE*](types.flattenedjwe.md)\> + + ↳ **CompactDecryptGetKey** + +## Callable + +▸ **CompactDecryptGetKey**(`protectedHeader`: [*JWEHeaderParameters*](types.jweheaderparameters.md), `token`: [*FlattenedJWE*](types.flattenedjwe.md)): *Promise*<[*KeyLike*](../types/types.keylike.md)\> + +Interface for Compact JWE Decryption dynamic key resolution. +No token components have been verified at the time of this function call. + +#### Parameters: + +Name | Type | +:------ | :------ | +`protectedHeader` | [*JWEHeaderParameters*](types.jweheaderparameters.md) | +`token` | [*FlattenedJWE*](types.flattenedjwe.md) | + +**Returns:** *Promise*<[*KeyLike*](../types/types.keylike.md)\> + +Defined in: [types.d.ts:79](https://github.com/panva/jose/blob/v3.9.0/src/types.d.ts#L79) diff --git a/docs/interfaces/jwe_flattened_decrypt.flatteneddecryptgetkey.md b/docs/interfaces/jwe_flattened_decrypt.flatteneddecryptgetkey.md new file mode 100644 index 0000000000..18127317a2 --- /dev/null +++ b/docs/interfaces/jwe_flattened_decrypt.flatteneddecryptgetkey.md @@ -0,0 +1,30 @@ +# Interface: FlattenedDecryptGetKey + +[jwe/flattened/decrypt](../modules/jwe_flattened_decrypt.md).FlattenedDecryptGetKey + +Interface for Flattened JWE Decryption dynamic key resolution. +No token components have been verified at the time of this function call. + +## Hierarchy + +* [*GetKeyFunction*](types.getkeyfunction.md)<[*JWEHeaderParameters*](types.jweheaderparameters.md) \| undefined, [*FlattenedJWE*](types.flattenedjwe.md)\> + + ↳ **FlattenedDecryptGetKey** + +## Callable + +▸ **FlattenedDecryptGetKey**(`protectedHeader`: *undefined* \| [*JWEHeaderParameters*](types.jweheaderparameters.md), `token`: [*FlattenedJWE*](types.flattenedjwe.md)): *Promise*<[*KeyLike*](../types/types.keylike.md)\> + +Interface for Flattened JWE Decryption dynamic key resolution. +No token components have been verified at the time of this function call. + +#### Parameters: + +Name | Type | +:------ | :------ | +`protectedHeader` | *undefined* \| [*JWEHeaderParameters*](types.jweheaderparameters.md) | +`token` | [*FlattenedJWE*](types.flattenedjwe.md) | + +**Returns:** *Promise*<[*KeyLike*](../types/types.keylike.md)\> + +Defined in: [types.d.ts:79](https://github.com/panva/jose/blob/v3.9.0/src/types.d.ts#L79) diff --git a/docs/interfaces/jwe_general_decrypt.generaldecryptgetkey.md b/docs/interfaces/jwe_general_decrypt.generaldecryptgetkey.md new file mode 100644 index 0000000000..d7d626f2e4 --- /dev/null +++ b/docs/interfaces/jwe_general_decrypt.generaldecryptgetkey.md @@ -0,0 +1,30 @@ +# Interface: GeneralDecryptGetKey + +[jwe/general/decrypt](../modules/jwe_general_decrypt.md).GeneralDecryptGetKey + +Interface for General JWE Decryption dynamic key resolution. +No token components have been verified at the time of this function call. + +## Hierarchy + +* [*GetKeyFunction*](types.getkeyfunction.md)<[*JWEHeaderParameters*](types.jweheaderparameters.md), [*FlattenedJWE*](types.flattenedjwe.md)\> + + ↳ **GeneralDecryptGetKey** + +## Callable + +▸ **GeneralDecryptGetKey**(`protectedHeader`: [*JWEHeaderParameters*](types.jweheaderparameters.md), `token`: [*FlattenedJWE*](types.flattenedjwe.md)): *Promise*<[*KeyLike*](../types/types.keylike.md)\> + +Interface for General JWE Decryption dynamic key resolution. +No token components have been verified at the time of this function call. + +#### Parameters: + +Name | Type | +:------ | :------ | +`protectedHeader` | [*JWEHeaderParameters*](types.jweheaderparameters.md) | +`token` | [*FlattenedJWE*](types.flattenedjwe.md) | + +**Returns:** *Promise*<[*KeyLike*](../types/types.keylike.md)\> + +Defined in: [types.d.ts:79](https://github.com/panva/jose/blob/v3.9.0/src/types.d.ts#L79) diff --git a/docs/interfaces/jwks_remote.remotejwksetoptions.md b/docs/interfaces/jwks_remote.remotejwksetoptions.md new file mode 100644 index 0000000000..e4540cdc86 --- /dev/null +++ b/docs/interfaces/jwks_remote.remotejwksetoptions.md @@ -0,0 +1,48 @@ +# Interface: RemoteJWKSetOptions + +[jwks/remote](../modules/jwks_remote.md).RemoteJWKSetOptions + +Options for the remote JSON Web Key Set. + +## Table of contents + +### Properties + +- [agent](jwks_remote.remotejwksetoptions.md#agent) +- [cooldownDuration](jwks_remote.remotejwksetoptions.md#cooldownduration) +- [timeoutDuration](jwks_remote.remotejwksetoptions.md#timeoutduration) + +## Properties + +### agent + +• `Optional` **agent**: *Agent* \| *Agent* + +An instance of http.Agent or https.Agent to pass to the http.get or +https.get method options. Use when behind an http(s) proxy. +This is a Node.js runtime specific option, it is ignored +when used outside of Node.js runtime. + +Defined in: [jwks/remote.ts:55](https://github.com/panva/jose/blob/v3.9.0/src/jwks/remote.ts#L55) + +___ + +### cooldownDuration + +• `Optional` **cooldownDuration**: *number* + +Duration for which no more HTTP requests will be triggered +after a previous successful fetch. Default is 30000. + +Defined in: [jwks/remote.ts:47](https://github.com/panva/jose/blob/v3.9.0/src/jwks/remote.ts#L47) + +___ + +### timeoutDuration + +• `Optional` **timeoutDuration**: *number* + +Timeout for the HTTP request. When reached the request will be +aborted and the verification will fail. Default is 5000. + +Defined in: [jwks/remote.ts:41](https://github.com/panva/jose/blob/v3.9.0/src/jwks/remote.ts#L41) diff --git a/docs/interfaces/jws_compact_verify.compactverifygetkey.md b/docs/interfaces/jws_compact_verify.compactverifygetkey.md new file mode 100644 index 0000000000..8724c241af --- /dev/null +++ b/docs/interfaces/jws_compact_verify.compactverifygetkey.md @@ -0,0 +1,30 @@ +# Interface: CompactVerifyGetKey + +[jws/compact/verify](../modules/jws_compact_verify.md).CompactVerifyGetKey + +Interface for Compact JWS Verification dynamic key resolution. +No token components have been verified at the time of this function call. + +## Hierarchy + +* [*GetKeyFunction*](types.getkeyfunction.md)<[*JWSHeaderParameters*](types.jwsheaderparameters.md), [*FlattenedJWSInput*](types.flattenedjwsinput.md)\> + + ↳ **CompactVerifyGetKey** + +## Callable + +▸ **CompactVerifyGetKey**(`protectedHeader`: [*JWSHeaderParameters*](types.jwsheaderparameters.md), `token`: [*FlattenedJWSInput*](types.flattenedjwsinput.md)): *Promise*<[*KeyLike*](../types/types.keylike.md)\> + +Interface for Compact JWS Verification dynamic key resolution. +No token components have been verified at the time of this function call. + +#### Parameters: + +Name | Type | +:------ | :------ | +`protectedHeader` | [*JWSHeaderParameters*](types.jwsheaderparameters.md) | +`token` | [*FlattenedJWSInput*](types.flattenedjwsinput.md) | + +**Returns:** *Promise*<[*KeyLike*](../types/types.keylike.md)\> + +Defined in: [types.d.ts:79](https://github.com/panva/jose/blob/v3.9.0/src/types.d.ts#L79) diff --git a/docs/interfaces/jws_flattened_verify.flattenedverifygetkey.md b/docs/interfaces/jws_flattened_verify.flattenedverifygetkey.md new file mode 100644 index 0000000000..5910862ee5 --- /dev/null +++ b/docs/interfaces/jws_flattened_verify.flattenedverifygetkey.md @@ -0,0 +1,30 @@ +# Interface: FlattenedVerifyGetKey + +[jws/flattened/verify](../modules/jws_flattened_verify.md).FlattenedVerifyGetKey + +Interface for Flattened JWS Verification dynamic key resolution. +No token components have been verified at the time of this function call. + +## Hierarchy + +* [*GetKeyFunction*](types.getkeyfunction.md)<[*JWSHeaderParameters*](types.jwsheaderparameters.md) \| undefined, [*FlattenedJWSInput*](types.flattenedjwsinput.md)\> + + ↳ **FlattenedVerifyGetKey** + +## Callable + +▸ **FlattenedVerifyGetKey**(`protectedHeader`: *undefined* \| [*JWSHeaderParameters*](types.jwsheaderparameters.md), `token`: [*FlattenedJWSInput*](types.flattenedjwsinput.md)): *Promise*<[*KeyLike*](../types/types.keylike.md)\> + +Interface for Flattened JWS Verification dynamic key resolution. +No token components have been verified at the time of this function call. + +#### Parameters: + +Name | Type | +:------ | :------ | +`protectedHeader` | *undefined* \| [*JWSHeaderParameters*](types.jwsheaderparameters.md) | +`token` | [*FlattenedJWSInput*](types.flattenedjwsinput.md) | + +**Returns:** *Promise*<[*KeyLike*](../types/types.keylike.md)\> + +Defined in: [types.d.ts:79](https://github.com/panva/jose/blob/v3.9.0/src/types.d.ts#L79) diff --git a/docs/interfaces/jws_general_sign.signature.md b/docs/interfaces/jws_general_sign.signature.md new file mode 100644 index 0000000000..429738c78b --- /dev/null +++ b/docs/interfaces/jws_general_sign.signature.md @@ -0,0 +1,46 @@ +# Interface: Signature + +[jws/general/sign](../modules/jws_general_sign.md).Signature + +## Table of contents + +### Methods + +- [setProtectedHeader](jws_general_sign.signature.md#setprotectedheader) +- [setUnprotectedHeader](jws_general_sign.signature.md#setunprotectedheader) + +## Methods + +### setProtectedHeader + +▸ **setProtectedHeader**(`protectedHeader`: [*JWSHeaderParameters*](types.jwsheaderparameters.md)): [*Signature*](jws_general_sign.signature.md) + +Sets the JWS Protected Header on the Signature object. + +#### Parameters: + +Name | Type | Description | +:------ | :------ | :------ | +`protectedHeader` | [*JWSHeaderParameters*](types.jwsheaderparameters.md) | JWS Protected Header. | + +**Returns:** [*Signature*](jws_general_sign.signature.md) + +Defined in: [jws/general/sign.ts:13](https://github.com/panva/jose/blob/v3.9.0/src/jws/general/sign.ts#L13) + +___ + +### setUnprotectedHeader + +▸ **setUnprotectedHeader**(`unprotectedHeader`: [*JWSHeaderParameters*](types.jwsheaderparameters.md)): [*Signature*](jws_general_sign.signature.md) + +Sets the JWS Unprotected Header on the Signature object. + +#### Parameters: + +Name | Type | Description | +:------ | :------ | :------ | +`unprotectedHeader` | [*JWSHeaderParameters*](types.jwsheaderparameters.md) | JWS Unprotected Header. | + +**Returns:** [*Signature*](jws_general_sign.signature.md) + +Defined in: [jws/general/sign.ts:20](https://github.com/panva/jose/blob/v3.9.0/src/jws/general/sign.ts#L20) diff --git a/docs/interfaces/jws_general_verify.generalverifygetkey.md b/docs/interfaces/jws_general_verify.generalverifygetkey.md new file mode 100644 index 0000000000..744df5c707 --- /dev/null +++ b/docs/interfaces/jws_general_verify.generalverifygetkey.md @@ -0,0 +1,30 @@ +# Interface: GeneralVerifyGetKey + +[jws/general/verify](../modules/jws_general_verify.md).GeneralVerifyGetKey + +Interface for General JWS Verification dynamic key resolution. +No token components have been verified at the time of this function call. + +## Hierarchy + +* [*GetKeyFunction*](types.getkeyfunction.md)<[*JWSHeaderParameters*](types.jwsheaderparameters.md), [*FlattenedJWSInput*](types.flattenedjwsinput.md)\> + + ↳ **GeneralVerifyGetKey** + +## Callable + +▸ **GeneralVerifyGetKey**(`protectedHeader`: [*JWSHeaderParameters*](types.jwsheaderparameters.md), `token`: [*FlattenedJWSInput*](types.flattenedjwsinput.md)): *Promise*<[*KeyLike*](../types/types.keylike.md)\> + +Interface for General JWS Verification dynamic key resolution. +No token components have been verified at the time of this function call. + +#### Parameters: + +Name | Type | +:------ | :------ | +`protectedHeader` | [*JWSHeaderParameters*](types.jwsheaderparameters.md) | +`token` | [*FlattenedJWSInput*](types.flattenedjwsinput.md) | + +**Returns:** *Promise*<[*KeyLike*](../types/types.keylike.md)\> + +Defined in: [types.d.ts:79](https://github.com/panva/jose/blob/v3.9.0/src/types.d.ts#L79) diff --git a/docs/interfaces/jwt_decrypt.jwtdecryptgetkey.md b/docs/interfaces/jwt_decrypt.jwtdecryptgetkey.md new file mode 100644 index 0000000000..574ace5cea --- /dev/null +++ b/docs/interfaces/jwt_decrypt.jwtdecryptgetkey.md @@ -0,0 +1,30 @@ +# Interface: JWTDecryptGetKey + +[jwt/decrypt](../modules/jwt_decrypt.md).JWTDecryptGetKey + +Interface for JWT Decryption dynamic key resolution. +No token components have been verified at the time of this function call. + +## Hierarchy + +* [*GetKeyFunction*](types.getkeyfunction.md)<[*JWEHeaderParameters*](types.jweheaderparameters.md), [*FlattenedJWE*](types.flattenedjwe.md)\> + + ↳ **JWTDecryptGetKey** + +## Callable + +▸ **JWTDecryptGetKey**(`protectedHeader`: [*JWEHeaderParameters*](types.jweheaderparameters.md), `token`: [*FlattenedJWE*](types.flattenedjwe.md)): *Promise*<[*KeyLike*](../types/types.keylike.md)\> + +Interface for JWT Decryption dynamic key resolution. +No token components have been verified at the time of this function call. + +#### Parameters: + +Name | Type | +:------ | :------ | +`protectedHeader` | [*JWEHeaderParameters*](types.jweheaderparameters.md) | +`token` | [*FlattenedJWE*](types.flattenedjwe.md) | + +**Returns:** *Promise*<[*KeyLike*](../types/types.keylike.md)\> + +Defined in: [types.d.ts:79](https://github.com/panva/jose/blob/v3.9.0/src/types.d.ts#L79) diff --git a/docs/interfaces/jwt_decrypt.jwtdecryptoptions.md b/docs/interfaces/jwt_decrypt.jwtdecryptoptions.md new file mode 100644 index 0000000000..4c3f31e5ad --- /dev/null +++ b/docs/interfaces/jwt_decrypt.jwtdecryptoptions.md @@ -0,0 +1,185 @@ +# Interface: JWTDecryptOptions + +[jwt/decrypt](../modules/jwt_decrypt.md).JWTDecryptOptions + +Combination of JWE Decryption options and JWT Claims Set verification options. + +## Hierarchy + +* [*DecryptOptions*](types.decryptoptions.md) + +* [*JWTClaimVerificationOptions*](types.jwtclaimverificationoptions.md) + + ↳ **JWTDecryptOptions** + +## Table of contents + +### Properties + +- [audience](jwt_decrypt.jwtdecryptoptions.md#audience) +- [clockTolerance](jwt_decrypt.jwtdecryptoptions.md#clocktolerance) +- [contentEncryptionAlgorithms](jwt_decrypt.jwtdecryptoptions.md#contentencryptionalgorithms) +- [crit](jwt_decrypt.jwtdecryptoptions.md#crit) +- [currentDate](jwt_decrypt.jwtdecryptoptions.md#currentdate) +- [inflateRaw](jwt_decrypt.jwtdecryptoptions.md#inflateraw) +- [issuer](jwt_decrypt.jwtdecryptoptions.md#issuer) +- [keyManagementAlgorithms](jwt_decrypt.jwtdecryptoptions.md#keymanagementalgorithms) +- [maxTokenAge](jwt_decrypt.jwtdecryptoptions.md#maxtokenage) +- [subject](jwt_decrypt.jwtdecryptoptions.md#subject) +- [typ](jwt_decrypt.jwtdecryptoptions.md#typ) + +## Properties + +### audience + +• `Optional` **audience**: *string* \| *string*[] + +Expected JWT "aud" (Audience) Claim value(s). + +Inherited from: [JWTClaimVerificationOptions](types.jwtclaimverificationoptions.md).[audience](types.jwtclaimverificationoptions.md#audience) + +Defined in: [types.d.ts:422](https://github.com/panva/jose/blob/v3.9.0/src/types.d.ts#L422) + +___ + +### clockTolerance + +• `Optional` **clockTolerance**: *string* \| *number* + +Expected clock tolerance +- in seconds when number (e.g. 5) +- parsed as seconds when a string (e.g. "5 seconds", "10 minutes", "2 hours"). + +Inherited from: [JWTClaimVerificationOptions](types.jwtclaimverificationoptions.md).[clockTolerance](types.jwtclaimverificationoptions.md#clocktolerance) + +Defined in: [types.d.ts:429](https://github.com/panva/jose/blob/v3.9.0/src/types.d.ts#L429) + +___ + +### contentEncryptionAlgorithms + +• `Optional` **contentEncryptionAlgorithms**: *string*[] + +A list of accepted JWE "enc" (Encryption Algorithm) Header Parameter values. + +Inherited from: [DecryptOptions](types.decryptoptions.md).[contentEncryptionAlgorithms](types.decryptoptions.md#contentencryptionalgorithms) + +Defined in: [types.d.ts:395](https://github.com/panva/jose/blob/v3.9.0/src/types.d.ts#L395) + +___ + +### crit + +• `Optional` **crit**: *object* + +An object with keys representing recognized "crit" (Critical) Header Parameter +names. The value for those is either `true` or `false`. `true` when the +Header Parameter MUST be integrity protected, `false` when it's irrelevant. + +This makes the "Extension Header Parameter "${parameter}" is not recognized" +error go away. + +Use this when a given JWS/JWT/JWE profile requires the use of proprietary +non-registered "crit" (Critical) Header Parameters. This will only make sure +the Header Parameter is syntactically correct when provided and that it is +optionally integrity protected. It will not process the Header Parameter in +any way or reject if the operation if it is missing. You MUST still +verify the Header Parameter was present and process it according to the +profile's validation steps after the operation succeeds. + +The JWS extension Header Parameter `b64` is always recognized and processed +properly. No other registered Header Parameters that need this kind of +default built-in treatment are currently available. + +#### Type declaration: + +Inherited from: [DecryptOptions](types.decryptoptions.md).[crit](types.decryptoptions.md#crit) + +Defined in: [types.d.ts:378](https://github.com/panva/jose/blob/v3.9.0/src/types.d.ts#L378) + +___ + +### currentDate + +• `Optional` **currentDate**: Date + +Date to use when comparing NumericDate claims, defaults to `new Date()`. + +Inherited from: [JWTClaimVerificationOptions](types.jwtclaimverificationoptions.md).[currentDate](types.jwtclaimverificationoptions.md#currentdate) + +Defined in: [types.d.ts:456](https://github.com/panva/jose/blob/v3.9.0/src/types.d.ts#L456) + +___ + +### inflateRaw + +• `Optional` **inflateRaw**: [*InflateFunction*](types.inflatefunction.md) + +In a browser runtime you have to provide an implementation for Inflate Raw +when you expect JWEs with compressed plaintext. + +Inherited from: [DecryptOptions](types.decryptoptions.md).[inflateRaw](types.decryptoptions.md#inflateraw) + +Defined in: [types.d.ts:401](https://github.com/panva/jose/blob/v3.9.0/src/types.d.ts#L401) + +___ + +### issuer + +• `Optional` **issuer**: *string* \| *string*[] + +Expected JWT "iss" (Issuer) Claim value(s). + +Inherited from: [JWTClaimVerificationOptions](types.jwtclaimverificationoptions.md).[issuer](types.jwtclaimverificationoptions.md#issuer) + +Defined in: [types.d.ts:434](https://github.com/panva/jose/blob/v3.9.0/src/types.d.ts#L434) + +___ + +### keyManagementAlgorithms + +• `Optional` **keyManagementAlgorithms**: *string*[] + +A list of accepted JWE "alg" (Algorithm) Header Parameter values. + +Inherited from: [DecryptOptions](types.decryptoptions.md).[keyManagementAlgorithms](types.decryptoptions.md#keymanagementalgorithms) + +Defined in: [types.d.ts:390](https://github.com/panva/jose/blob/v3.9.0/src/types.d.ts#L390) + +___ + +### maxTokenAge + +• `Optional` **maxTokenAge**: *string* \| *number* + +Maximum time elapsed (in seconds) from the JWT "iat" (Issued At) Claim value. +- in seconds when number (e.g. 5) +- parsed as seconds when a string (e.g. "5 seconds", "10 minutes", "2 hours"). + +Inherited from: [JWTClaimVerificationOptions](types.jwtclaimverificationoptions.md).[maxTokenAge](types.jwtclaimverificationoptions.md#maxtokenage) + +Defined in: [types.d.ts:441](https://github.com/panva/jose/blob/v3.9.0/src/types.d.ts#L441) + +___ + +### subject + +• `Optional` **subject**: *string* + +Expected JWT "sub" (Subject) Claim value. + +Inherited from: [JWTClaimVerificationOptions](types.jwtclaimverificationoptions.md).[subject](types.jwtclaimverificationoptions.md#subject) + +Defined in: [types.d.ts:446](https://github.com/panva/jose/blob/v3.9.0/src/types.d.ts#L446) + +___ + +### typ + +• `Optional` **typ**: *string* + +Expected JWT "typ" (Type) Header Parameter value. + +Inherited from: [JWTClaimVerificationOptions](types.jwtclaimverificationoptions.md).[typ](types.jwtclaimverificationoptions.md#typ) + +Defined in: [types.d.ts:451](https://github.com/panva/jose/blob/v3.9.0/src/types.d.ts#L451) diff --git a/docs/interfaces/jwt_verify.jwtverifygetkey.md b/docs/interfaces/jwt_verify.jwtverifygetkey.md new file mode 100644 index 0000000000..418aacb341 --- /dev/null +++ b/docs/interfaces/jwt_verify.jwtverifygetkey.md @@ -0,0 +1,30 @@ +# Interface: JWTVerifyGetKey + +[jwt/verify](../modules/jwt_verify.md).JWTVerifyGetKey + +Interface for JWT Verification dynamic key resolution. +No token components have been verified at the time of this function call. + +## Hierarchy + +* [*GetKeyFunction*](types.getkeyfunction.md)<[*JWSHeaderParameters*](types.jwsheaderparameters.md), [*FlattenedJWSInput*](types.flattenedjwsinput.md)\> + + ↳ **JWTVerifyGetKey** + +## Callable + +▸ **JWTVerifyGetKey**(`protectedHeader`: [*JWSHeaderParameters*](types.jwsheaderparameters.md), `token`: [*FlattenedJWSInput*](types.flattenedjwsinput.md)): *Promise*<[*KeyLike*](../types/types.keylike.md)\> + +Interface for JWT Verification dynamic key resolution. +No token components have been verified at the time of this function call. + +#### Parameters: + +Name | Type | +:------ | :------ | +`protectedHeader` | [*JWSHeaderParameters*](types.jwsheaderparameters.md) | +`token` | [*FlattenedJWSInput*](types.flattenedjwsinput.md) | + +**Returns:** *Promise*<[*KeyLike*](../types/types.keylike.md)\> + +Defined in: [types.d.ts:79](https://github.com/panva/jose/blob/v3.9.0/src/types.d.ts#L79) diff --git a/docs/interfaces/jwt_verify.jwtverifyoptions.md b/docs/interfaces/jwt_verify.jwtverifyoptions.md new file mode 100644 index 0000000000..35f32da176 --- /dev/null +++ b/docs/interfaces/jwt_verify.jwtverifyoptions.md @@ -0,0 +1,158 @@ +# Interface: JWTVerifyOptions + +[jwt/verify](../modules/jwt_verify.md).JWTVerifyOptions + +Combination of JWS Verification options and JWT Claims Set verification options. + +## Hierarchy + +* [*VerifyOptions*](types.verifyoptions.md) + +* [*JWTClaimVerificationOptions*](types.jwtclaimverificationoptions.md) + + ↳ **JWTVerifyOptions** + +## Table of contents + +### Properties + +- [algorithms](jwt_verify.jwtverifyoptions.md#algorithms) +- [audience](jwt_verify.jwtverifyoptions.md#audience) +- [clockTolerance](jwt_verify.jwtverifyoptions.md#clocktolerance) +- [crit](jwt_verify.jwtverifyoptions.md#crit) +- [currentDate](jwt_verify.jwtverifyoptions.md#currentdate) +- [issuer](jwt_verify.jwtverifyoptions.md#issuer) +- [maxTokenAge](jwt_verify.jwtverifyoptions.md#maxtokenage) +- [subject](jwt_verify.jwtverifyoptions.md#subject) +- [typ](jwt_verify.jwtverifyoptions.md#typ) + +## Properties + +### algorithms + +• `Optional` **algorithms**: *string*[] + +A list of accepted JWS "alg" (Algorithm) Header Parameter values. + +Inherited from: [VerifyOptions](types.verifyoptions.md).[algorithms](types.verifyoptions.md#algorithms) + +Defined in: [types.d.ts:466](https://github.com/panva/jose/blob/v3.9.0/src/types.d.ts#L466) + +___ + +### audience + +• `Optional` **audience**: *string* \| *string*[] + +Expected JWT "aud" (Audience) Claim value(s). + +Inherited from: [JWTClaimVerificationOptions](types.jwtclaimverificationoptions.md).[audience](types.jwtclaimverificationoptions.md#audience) + +Defined in: [types.d.ts:422](https://github.com/panva/jose/blob/v3.9.0/src/types.d.ts#L422) + +___ + +### clockTolerance + +• `Optional` **clockTolerance**: *string* \| *number* + +Expected clock tolerance +- in seconds when number (e.g. 5) +- parsed as seconds when a string (e.g. "5 seconds", "10 minutes", "2 hours"). + +Inherited from: [JWTClaimVerificationOptions](types.jwtclaimverificationoptions.md).[clockTolerance](types.jwtclaimverificationoptions.md#clocktolerance) + +Defined in: [types.d.ts:429](https://github.com/panva/jose/blob/v3.9.0/src/types.d.ts#L429) + +___ + +### crit + +• `Optional` **crit**: *object* + +An object with keys representing recognized "crit" (Critical) Header Parameter +names. The value for those is either `true` or `false`. `true` when the +Header Parameter MUST be integrity protected, `false` when it's irrelevant. + +This makes the "Extension Header Parameter "${parameter}" is not recognized" +error go away. + +Use this when a given JWS/JWT/JWE profile requires the use of proprietary +non-registered "crit" (Critical) Header Parameters. This will only make sure +the Header Parameter is syntactically correct when provided and that it is +optionally integrity protected. It will not process the Header Parameter in +any way or reject if the operation if it is missing. You MUST still +verify the Header Parameter was present and process it according to the +profile's validation steps after the operation succeeds. + +The JWS extension Header Parameter `b64` is always recognized and processed +properly. No other registered Header Parameters that need this kind of +default built-in treatment are currently available. + +#### Type declaration: + +Inherited from: [VerifyOptions](types.verifyoptions.md).[crit](types.verifyoptions.md#crit) + +Defined in: [types.d.ts:378](https://github.com/panva/jose/blob/v3.9.0/src/types.d.ts#L378) + +___ + +### currentDate + +• `Optional` **currentDate**: Date + +Date to use when comparing NumericDate claims, defaults to `new Date()`. + +Inherited from: [JWTClaimVerificationOptions](types.jwtclaimverificationoptions.md).[currentDate](types.jwtclaimverificationoptions.md#currentdate) + +Defined in: [types.d.ts:456](https://github.com/panva/jose/blob/v3.9.0/src/types.d.ts#L456) + +___ + +### issuer + +• `Optional` **issuer**: *string* \| *string*[] + +Expected JWT "iss" (Issuer) Claim value(s). + +Inherited from: [JWTClaimVerificationOptions](types.jwtclaimverificationoptions.md).[issuer](types.jwtclaimverificationoptions.md#issuer) + +Defined in: [types.d.ts:434](https://github.com/panva/jose/blob/v3.9.0/src/types.d.ts#L434) + +___ + +### maxTokenAge + +• `Optional` **maxTokenAge**: *string* \| *number* + +Maximum time elapsed (in seconds) from the JWT "iat" (Issued At) Claim value. +- in seconds when number (e.g. 5) +- parsed as seconds when a string (e.g. "5 seconds", "10 minutes", "2 hours"). + +Inherited from: [JWTClaimVerificationOptions](types.jwtclaimverificationoptions.md).[maxTokenAge](types.jwtclaimverificationoptions.md#maxtokenage) + +Defined in: [types.d.ts:441](https://github.com/panva/jose/blob/v3.9.0/src/types.d.ts#L441) + +___ + +### subject + +• `Optional` **subject**: *string* + +Expected JWT "sub" (Subject) Claim value. + +Inherited from: [JWTClaimVerificationOptions](types.jwtclaimverificationoptions.md).[subject](types.jwtclaimverificationoptions.md#subject) + +Defined in: [types.d.ts:446](https://github.com/panva/jose/blob/v3.9.0/src/types.d.ts#L446) + +___ + +### typ + +• `Optional` **typ**: *string* + +Expected JWT "typ" (Type) Header Parameter value. + +Inherited from: [JWTClaimVerificationOptions](types.jwtclaimverificationoptions.md).[typ](types.jwtclaimverificationoptions.md#typ) + +Defined in: [types.d.ts:451](https://github.com/panva/jose/blob/v3.9.0/src/types.d.ts#L451) diff --git a/docs/interfaces/types.compactdecryptresult.md b/docs/interfaces/types.compactdecryptresult.md new file mode 100644 index 0000000000..1073172c2b --- /dev/null +++ b/docs/interfaces/types.compactdecryptresult.md @@ -0,0 +1,30 @@ +# Interface: CompactDecryptResult + +[types](../modules/types.md).CompactDecryptResult + +## Table of contents + +### Properties + +- [plaintext](types.compactdecryptresult.md#plaintext) +- [protectedHeader](types.compactdecryptresult.md#protectedheader) + +## Properties + +### plaintext + +• **plaintext**: *Uint8Array* + +Plaintext. + +Defined in: [types.d.ts:567](https://github.com/panva/jose/blob/v3.9.0/src/types.d.ts#L567) + +___ + +### protectedHeader + +• **protectedHeader**: [*JWEHeaderParameters*](types.jweheaderparameters.md) + +JWE Protected Header. + +Defined in: [types.d.ts:572](https://github.com/panva/jose/blob/v3.9.0/src/types.d.ts#L572) diff --git a/docs/interfaces/types.compactverifyresult.md b/docs/interfaces/types.compactverifyresult.md new file mode 100644 index 0000000000..a69c0fa621 --- /dev/null +++ b/docs/interfaces/types.compactverifyresult.md @@ -0,0 +1,30 @@ +# Interface: CompactVerifyResult + +[types](../modules/types.md).CompactVerifyResult + +## Table of contents + +### Properties + +- [payload](types.compactverifyresult.md#payload) +- [protectedHeader](types.compactverifyresult.md#protectedheader) + +## Properties + +### payload + +• **payload**: *Uint8Array* + +JWS Payload. + +Defined in: [types.d.ts:598](https://github.com/panva/jose/blob/v3.9.0/src/types.d.ts#L598) + +___ + +### protectedHeader + +• **protectedHeader**: [*JWSHeaderParameters*](types.jwsheaderparameters.md) + +JWS Protected Header. + +Defined in: [types.d.ts:603](https://github.com/panva/jose/blob/v3.9.0/src/types.d.ts#L603) diff --git a/docs/interfaces/_types_d_.critoption.md b/docs/interfaces/types.critoption.md similarity index 71% rename from docs/interfaces/_types_d_.critoption.md rename to docs/interfaces/types.critoption.md index ac9d12cfcb..bdae8f58d3 100644 --- a/docs/interfaces/_types_d_.critoption.md +++ b/docs/interfaces/types.critoption.md @@ -1,20 +1,32 @@ # Interface: CritOption +[types](../modules/types.md).CritOption + Shared Interface with a "crit" property for all sign and verify operations. -## Index +## Hierarchy + +* **CritOption** + + ↳ [*DecryptOptions*](types.decryptoptions.md) + + ↳ [*EncryptOptions*](types.encryptoptions.md) + + ↳ [*VerifyOptions*](types.verifyoptions.md) + + ↳ [*SignOptions*](types.signoptions.md) + +## Table of contents ### Properties -* [crit](_types_d_.critoption.md#crit) +- [crit](types.critoption.md#crit) ## Properties ### crit -• `Optional` **crit**: { [propName:string]: boolean; } - -*Defined in [src/types.d.ts:378](https://github.com/panva/jose/blob/v3.8.0/src/types.d.ts#L378)* +• `Optional` **crit**: *object* An object with keys representing recognized "crit" (Critical) Header Parameter names. The value for those is either `true` or `false`. `true` when the @@ -34,3 +46,7 @@ profile's validation steps after the operation succeeds. The JWS extension Header Parameter `b64` is always recognized and processed properly. No other registered Header Parameters that need this kind of default built-in treatment are currently available. + +#### Type declaration: + +Defined in: [types.d.ts:378](https://github.com/panva/jose/blob/v3.9.0/src/types.d.ts#L378) diff --git a/docs/interfaces/_types_d_.decryptoptions.md b/docs/interfaces/types.decryptoptions.md similarity index 56% rename from docs/interfaces/_types_d_.decryptoptions.md rename to docs/interfaces/types.decryptoptions.md index 68f39e665c..e87f167473 100644 --- a/docs/interfaces/_types_d_.decryptoptions.md +++ b/docs/interfaces/types.decryptoptions.md @@ -1,33 +1,41 @@ # Interface: DecryptOptions +[types](../modules/types.md).DecryptOptions + JWE Decryption options. -## Index +## Hierarchy + +* [*CritOption*](types.critoption.md) + + ↳ **DecryptOptions** + + ↳↳ [*JWTDecryptOptions*](jwt_decrypt.jwtdecryptoptions.md) + +## Table of contents ### Properties -* [contentEncryptionAlgorithms](_types_d_.decryptoptions.md#contentencryptionalgorithms) -* [crit](_types_d_.decryptoptions.md#crit) -* [inflateRaw](_types_d_.decryptoptions.md#inflateraw) -* [keyManagementAlgorithms](_types_d_.decryptoptions.md#keymanagementalgorithms) +- [contentEncryptionAlgorithms](types.decryptoptions.md#contentencryptionalgorithms) +- [crit](types.decryptoptions.md#crit) +- [inflateRaw](types.decryptoptions.md#inflateraw) +- [keyManagementAlgorithms](types.decryptoptions.md#keymanagementalgorithms) ## Properties ### contentEncryptionAlgorithms -• `Optional` **contentEncryptionAlgorithms**: string[] - -*Defined in [src/types.d.ts:395](https://github.com/panva/jose/blob/v3.8.0/src/types.d.ts#L395)* +• `Optional` **contentEncryptionAlgorithms**: *string*[] A list of accepted JWE "enc" (Encryption Algorithm) Header Parameter values. +Defined in: [types.d.ts:395](https://github.com/panva/jose/blob/v3.9.0/src/types.d.ts#L395) + ___ ### crit -• `Optional` **crit**: { [propName:string]: boolean; } - -*Defined in [src/types.d.ts:378](https://github.com/panva/jose/blob/v3.8.0/src/types.d.ts#L378)* +• `Optional` **crit**: *object* An object with keys representing recognized "crit" (Critical) Header Parameter names. The value for those is either `true` or `false`. `true` when the @@ -48,23 +56,29 @@ The JWS extension Header Parameter `b64` is always recognized and processed properly. No other registered Header Parameters that need this kind of default built-in treatment are currently available. +#### Type declaration: + +Inherited from: [CritOption](types.critoption.md).[crit](types.critoption.md#crit) + +Defined in: [types.d.ts:378](https://github.com/panva/jose/blob/v3.9.0/src/types.d.ts#L378) + ___ ### inflateRaw -• `Optional` **inflateRaw**: [InflateFunction](_types_d_.inflatefunction.md) - -*Defined in [src/types.d.ts:401](https://github.com/panva/jose/blob/v3.8.0/src/types.d.ts#L401)* +• `Optional` **inflateRaw**: [*InflateFunction*](types.inflatefunction.md) In a browser runtime you have to provide an implementation for Inflate Raw when you expect JWEs with compressed plaintext. +Defined in: [types.d.ts:401](https://github.com/panva/jose/blob/v3.9.0/src/types.d.ts#L401) + ___ ### keyManagementAlgorithms -• `Optional` **keyManagementAlgorithms**: string[] - -*Defined in [src/types.d.ts:390](https://github.com/panva/jose/blob/v3.8.0/src/types.d.ts#L390)* +• `Optional` **keyManagementAlgorithms**: *string*[] A list of accepted JWE "alg" (Algorithm) Header Parameter values. + +Defined in: [types.d.ts:390](https://github.com/panva/jose/blob/v3.9.0/src/types.d.ts#L390) diff --git a/docs/interfaces/_types_d_.deflatefunction.md b/docs/interfaces/types.deflatefunction.md similarity index 55% rename from docs/interfaces/_types_d_.deflatefunction.md rename to docs/interfaces/types.deflatefunction.md index 6120409434..732396151e 100644 --- a/docs/interfaces/_types_d_.deflatefunction.md +++ b/docs/interfaces/types.deflatefunction.md @@ -1,19 +1,21 @@ # Interface: DeflateFunction +[types](../modules/types.md).DeflateFunction + Deflate Raw implementation, e.g. promisified [zlib.deflateRaw](https://nodejs.org/api/zlib.html#zlib_zlib_deflateraw_buffer_options_callback). ## Callable -▸ (`input`: Uint8Array): Promise - -*Defined in [src/types.d.ts:523](https://github.com/panva/jose/blob/v3.8.0/src/types.d.ts#L523)* +▸ **DeflateFunction**(`input`: *Uint8Array*): *Promise* Deflate Raw implementation, e.g. promisified [zlib.deflateRaw](https://nodejs.org/api/zlib.html#zlib_zlib_deflateraw_buffer_options_callback). #### Parameters: Name | Type | ------- | ------ | -`input` | Uint8Array | +:------ | :------ | +`input` | *Uint8Array* | + +**Returns:** *Promise* -**Returns:** Promise +Defined in: [types.d.ts:523](https://github.com/panva/jose/blob/v3.9.0/src/types.d.ts#L523) diff --git a/docs/interfaces/_types_d_.encryptoptions.md b/docs/interfaces/types.encryptoptions.md similarity index 66% rename from docs/interfaces/_types_d_.encryptoptions.md rename to docs/interfaces/types.encryptoptions.md index a6e0b9cca7..b2dd7b6a44 100644 --- a/docs/interfaces/_types_d_.encryptoptions.md +++ b/docs/interfaces/types.encryptoptions.md @@ -1,21 +1,27 @@ # Interface: EncryptOptions +[types](../modules/types.md).EncryptOptions + JWE Encryption options. -## Index +## Hierarchy + +* [*CritOption*](types.critoption.md) + + ↳ **EncryptOptions** + +## Table of contents ### Properties -* [crit](_types_d_.encryptoptions.md#crit) -* [deflateRaw](_types_d_.encryptoptions.md#deflateraw) +- [crit](types.encryptoptions.md#crit) +- [deflateRaw](types.encryptoptions.md#deflateraw) ## Properties ### crit -• `Optional` **crit**: { [propName:string]: boolean; } - -*Defined in [src/types.d.ts:378](https://github.com/panva/jose/blob/v3.8.0/src/types.d.ts#L378)* +• `Optional` **crit**: *object* An object with keys representing recognized "crit" (Critical) Header Parameter names. The value for those is either `true` or `false`. `true` when the @@ -36,13 +42,19 @@ The JWS extension Header Parameter `b64` is always recognized and processed properly. No other registered Header Parameters that need this kind of default built-in treatment are currently available. +#### Type declaration: + +Inherited from: [CritOption](types.critoption.md).[crit](types.critoption.md#crit) + +Defined in: [types.d.ts:378](https://github.com/panva/jose/blob/v3.9.0/src/types.d.ts#L378) + ___ ### deflateRaw -• `Optional` **deflateRaw**: [DeflateFunction](_types_d_.deflatefunction.md) - -*Defined in [src/types.d.ts:412](https://github.com/panva/jose/blob/v3.8.0/src/types.d.ts#L412)* +• `Optional` **deflateRaw**: [*DeflateFunction*](types.deflatefunction.md) In a browser runtime you have to provide an implementation for Deflate Raw when you will be producing JWEs with compressed plaintext. + +Defined in: [types.d.ts:412](https://github.com/panva/jose/blob/v3.9.0/src/types.d.ts#L412) diff --git a/docs/interfaces/types.flatteneddecryptresult.md b/docs/interfaces/types.flatteneddecryptresult.md new file mode 100644 index 0000000000..ff643ef52b --- /dev/null +++ b/docs/interfaces/types.flatteneddecryptresult.md @@ -0,0 +1,69 @@ +# Interface: FlattenedDecryptResult + +[types](../modules/types.md).FlattenedDecryptResult + +## Hierarchy + +* **FlattenedDecryptResult** + + ↳ [*GeneralDecryptResult*](types.generaldecryptresult.md) + +## Table of contents + +### Properties + +- [additionalAuthenticatedData](types.flatteneddecryptresult.md#additionalauthenticateddata) +- [plaintext](types.flatteneddecryptresult.md#plaintext) +- [protectedHeader](types.flatteneddecryptresult.md#protectedheader) +- [sharedUnprotectedHeader](types.flatteneddecryptresult.md#sharedunprotectedheader) +- [unprotectedHeader](types.flatteneddecryptresult.md#unprotectedheader) + +## Properties + +### additionalAuthenticatedData + +• `Optional` **additionalAuthenticatedData**: *Uint8Array* + +JWE AAD. + +Defined in: [types.d.ts:538](https://github.com/panva/jose/blob/v3.9.0/src/types.d.ts#L538) + +___ + +### plaintext + +• **plaintext**: *Uint8Array* + +Plaintext. + +Defined in: [types.d.ts:543](https://github.com/panva/jose/blob/v3.9.0/src/types.d.ts#L543) + +___ + +### protectedHeader + +• `Optional` **protectedHeader**: [*JWEHeaderParameters*](types.jweheaderparameters.md) + +JWE Protected Header. + +Defined in: [types.d.ts:548](https://github.com/panva/jose/blob/v3.9.0/src/types.d.ts#L548) + +___ + +### sharedUnprotectedHeader + +• `Optional` **sharedUnprotectedHeader**: [*JWEHeaderParameters*](types.jweheaderparameters.md) + +JWE Shared Unprotected Header. + +Defined in: [types.d.ts:553](https://github.com/panva/jose/blob/v3.9.0/src/types.d.ts#L553) + +___ + +### unprotectedHeader + +• `Optional` **unprotectedHeader**: [*JWEHeaderParameters*](types.jweheaderparameters.md) + +JWE Per-Recipient Unprotected Header. + +Defined in: [types.d.ts:558](https://github.com/panva/jose/blob/v3.9.0/src/types.d.ts#L558) diff --git a/docs/interfaces/_types_d_.flattenedjwe.md b/docs/interfaces/types.flattenedjwe.md similarity index 56% rename from docs/interfaces/_types_d_.flattenedjwe.md rename to docs/interfaces/types.flattenedjwe.md index 470001b317..91b92a666e 100644 --- a/docs/interfaces/_types_d_.flattenedjwe.md +++ b/docs/interfaces/types.flattenedjwe.md @@ -1,27 +1,27 @@ # Interface: FlattenedJWE +[types](../modules/types.md).FlattenedJWE + Flattened JWE definition. -## Index +## Table of contents ### Properties -* [aad](_types_d_.flattenedjwe.md#aad) -* [ciphertext](_types_d_.flattenedjwe.md#ciphertext) -* [encrypted\_key](_types_d_.flattenedjwe.md#encrypted_key) -* [header](_types_d_.flattenedjwe.md#header) -* [iv](_types_d_.flattenedjwe.md#iv) -* [protected](_types_d_.flattenedjwe.md#protected) -* [tag](_types_d_.flattenedjwe.md#tag) -* [unprotected](_types_d_.flattenedjwe.md#unprotected) +- [aad](types.flattenedjwe.md#aad) +- [ciphertext](types.flattenedjwe.md#ciphertext) +- [encrypted\_key](types.flattenedjwe.md#encrypted_key) +- [header](types.flattenedjwe.md#header) +- [iv](types.flattenedjwe.md#iv) +- [protected](types.flattenedjwe.md#protected) +- [tag](types.flattenedjwe.md#tag) +- [unprotected](types.flattenedjwe.md#unprotected) ## Properties ### aad -• `Optional` **aad**: string - -*Defined in [src/types.d.ts:262](https://github.com/panva/jose/blob/v3.8.0/src/types.d.ts#L262)* +• `Optional` **aad**: *string* The "aad" member MUST be present and contain the value BASE64URL(JWE AAD)) when the JWE AAD value is non-empty; @@ -29,36 +29,36 @@ otherwise, it MUST be absent. A JWE AAD value can be included to supply a base64url-encoded value to be integrity protected but not encrypted. +Defined in: [types.d.ts:262](https://github.com/panva/jose/blob/v3.9.0/src/types.d.ts#L262) + ___ ### ciphertext -• **ciphertext**: string - -*Defined in [src/types.d.ts:268](https://github.com/panva/jose/blob/v3.8.0/src/types.d.ts#L268)* +• **ciphertext**: *string* The "ciphertext" member MUST be present and contain the value BASE64URL(JWE Ciphertext). +Defined in: [types.d.ts:268](https://github.com/panva/jose/blob/v3.9.0/src/types.d.ts#L268) + ___ ### encrypted\_key -• `Optional` **encrypted\_key**: string - -*Defined in [src/types.d.ts:275](https://github.com/panva/jose/blob/v3.8.0/src/types.d.ts#L275)* +• `Optional` **encrypted\_key**: *string* The "encrypted_key" member MUST be present and contain the value BASE64URL(JWE Encrypted Key) when the JWE Encrypted Key value is non-empty; otherwise, it MUST be absent. +Defined in: [types.d.ts:275](https://github.com/panva/jose/blob/v3.9.0/src/types.d.ts#L275) + ___ ### header -• `Optional` **header**: [JWEHeaderParameters](_types_d_.jweheaderparameters.md) - -*Defined in [src/types.d.ts:285](https://github.com/panva/jose/blob/v3.8.0/src/types.d.ts#L285)* +• `Optional` **header**: [*JWEHeaderParameters*](types.jweheaderparameters.md) The "header" member MUST be present and contain the value JWE Per- Recipient Unprotected Header when the JWE Per-Recipient @@ -67,53 +67,55 @@ absent. This value is represented as an unencoded JSON object, rather than as a string. These Header Parameter values are not integrity protected. +Defined in: [types.d.ts:285](https://github.com/panva/jose/blob/v3.9.0/src/types.d.ts#L285) + ___ ### iv -• **iv**: string - -*Defined in [src/types.d.ts:292](https://github.com/panva/jose/blob/v3.8.0/src/types.d.ts#L292)* +• **iv**: *string* The "iv" member MUST be present and contain the value BASE64URL(JWE Initialization Vector) when the JWE Initialization Vector value is non-empty; otherwise, it MUST be absent. +Defined in: [types.d.ts:292](https://github.com/panva/jose/blob/v3.9.0/src/types.d.ts#L292) + ___ ### protected -• `Optional` **protected**: string - -*Defined in [src/types.d.ts:300](https://github.com/panva/jose/blob/v3.8.0/src/types.d.ts#L300)* +• `Optional` **protected**: *string* The "protected" member MUST be present and contain the value BASE64URL(UTF8(JWE Protected Header)) when the JWE Protected Header value is non-empty; otherwise, it MUST be absent. These Header Parameter values are integrity protected. +Defined in: [types.d.ts:300](https://github.com/panva/jose/blob/v3.9.0/src/types.d.ts#L300) + ___ ### tag -• **tag**: string - -*Defined in [src/types.d.ts:307](https://github.com/panva/jose/blob/v3.8.0/src/types.d.ts#L307)* +• **tag**: *string* The "tag" member MUST be present and contain the value BASE64URL(JWE Authentication Tag) when the JWE Authentication Tag value is non-empty; otherwise, it MUST be absent. +Defined in: [types.d.ts:307](https://github.com/panva/jose/blob/v3.9.0/src/types.d.ts#L307) + ___ ### unprotected -• `Optional` **unprotected**: [JWEHeaderParameters](_types_d_.jweheaderparameters.md) - -*Defined in [src/types.d.ts:316](https://github.com/panva/jose/blob/v3.8.0/src/types.d.ts#L316)* +• `Optional` **unprotected**: [*JWEHeaderParameters*](types.jweheaderparameters.md) The "unprotected" member MUST be present and contain the value JWE Shared Unprotected Header when the JWE Shared Unprotected Header value is non-empty; otherwise, it MUST be absent. This value is represented as an unencoded JSON object, rather than as a string. These Header Parameter values are not integrity protected. + +Defined in: [types.d.ts:316](https://github.com/panva/jose/blob/v3.9.0/src/types.d.ts#L316) diff --git a/docs/interfaces/types.flattenedjws.md b/docs/interfaces/types.flattenedjws.md new file mode 100644 index 0000000000..8349c7dc5b --- /dev/null +++ b/docs/interfaces/types.flattenedjws.md @@ -0,0 +1,73 @@ +# Interface: FlattenedJWS + +[types](../modules/types.md).FlattenedJWS + +Flattened JWS definition. Payload is an optional return property, it +is not returned when JWS Unencoded Payload Option +[RFC7797](https://tools.ietf.org/html/rfc7797) is used. + +## Hierarchy + +* *Partial*<[*FlattenedJWSInput*](types.flattenedjwsinput.md)\> + + ↳ **FlattenedJWS** + +## Table of contents + +### Properties + +- [header](types.flattenedjws.md#header) +- [payload](types.flattenedjws.md#payload) +- [protected](types.flattenedjws.md#protected) +- [signature](types.flattenedjws.md#signature) + +## Properties + +### header + +• `Optional` **header**: [*JWSHeaderParameters*](types.jwsheaderparameters.md) + +The "header" member MUST be present and contain the value JWS +Unprotected Header when the JWS Unprotected Header value is non- +empty; otherwise, it MUST be absent. This value is represented as +an unencoded JSON object, rather than as a string. These Header +Parameter values are not integrity protected. + +Inherited from: void + +Defined in: [types.d.ts:110](https://github.com/panva/jose/blob/v3.9.0/src/types.d.ts#L110) + +___ + +### payload + +• `Optional` **payload**: *string* + +Overrides: void + +Defined in: [types.d.ts:160](https://github.com/panva/jose/blob/v3.9.0/src/types.d.ts#L160) + +___ + +### protected + +• `Optional` **protected**: *string* + +The "protected" member MUST be present and contain the value +BASE64URL(UTF8(JWS Protected Header)) when the JWS Protected +Header value is non-empty; otherwise, it MUST be absent. These +Header Parameter values are integrity protected. + +Inherited from: void + +Defined in: [types.d.ts:125](https://github.com/panva/jose/blob/v3.9.0/src/types.d.ts#L125) + +___ + +### signature + +• **signature**: *string* + +Overrides: void + +Defined in: [types.d.ts:161](https://github.com/panva/jose/blob/v3.9.0/src/types.d.ts#L161) diff --git a/docs/interfaces/_types_d_.flattenedjwsinput.md b/docs/interfaces/types.flattenedjwsinput.md similarity index 56% rename from docs/interfaces/_types_d_.flattenedjwsinput.md rename to docs/interfaces/types.flattenedjwsinput.md index d90e7d23c0..b5d3c75afd 100644 --- a/docs/interfaces/_types_d_.flattenedjwsinput.md +++ b/docs/interfaces/types.flattenedjwsinput.md @@ -1,24 +1,24 @@ # Interface: FlattenedJWSInput +[types](../modules/types.md).FlattenedJWSInput + Flattened JWS definition for verify function inputs, allows payload as Uint8Array for detached signature validation. -## Index +## Table of contents ### Properties -* [header](_types_d_.flattenedjwsinput.md#header) -* [payload](_types_d_.flattenedjwsinput.md#payload) -* [protected](_types_d_.flattenedjwsinput.md#protected) -* [signature](_types_d_.flattenedjwsinput.md#signature) +- [header](types.flattenedjwsinput.md#header) +- [payload](types.flattenedjwsinput.md#payload) +- [protected](types.flattenedjwsinput.md#protected) +- [signature](types.flattenedjwsinput.md#signature) ## Properties ### header -• `Optional` **header**: [JWSHeaderParameters](_types_d_.jwsheaderparameters.md) - -*Defined in [src/types.d.ts:110](https://github.com/panva/jose/blob/v3.8.0/src/types.d.ts#L110)* +• `Optional` **header**: [*JWSHeaderParameters*](types.jwsheaderparameters.md) The "header" member MUST be present and contain the value JWS Unprotected Header when the JWS Unprotected Header value is non- @@ -26,38 +26,40 @@ empty; otherwise, it MUST be absent. This value is represented as an unencoded JSON object, rather than as a string. These Header Parameter values are not integrity protected. +Defined in: [types.d.ts:110](https://github.com/panva/jose/blob/v3.9.0/src/types.d.ts#L110) + ___ ### payload -• **payload**: string \| Uint8Array - -*Defined in [src/types.d.ts:117](https://github.com/panva/jose/blob/v3.8.0/src/types.d.ts#L117)* +• **payload**: *string* \| *Uint8Array* The "payload" member MUST be present and contain the value BASE64URL(JWS Payload). When RFC7797 "b64": false is used the value passed may also be a Uint8Array. +Defined in: [types.d.ts:117](https://github.com/panva/jose/blob/v3.9.0/src/types.d.ts#L117) + ___ ### protected -• `Optional` **protected**: string - -*Defined in [src/types.d.ts:125](https://github.com/panva/jose/blob/v3.8.0/src/types.d.ts#L125)* +• `Optional` **protected**: *string* The "protected" member MUST be present and contain the value BASE64URL(UTF8(JWS Protected Header)) when the JWS Protected Header value is non-empty; otherwise, it MUST be absent. These Header Parameter values are integrity protected. +Defined in: [types.d.ts:125](https://github.com/panva/jose/blob/v3.9.0/src/types.d.ts#L125) + ___ ### signature -• **signature**: string - -*Defined in [src/types.d.ts:131](https://github.com/panva/jose/blob/v3.8.0/src/types.d.ts#L131)* +• **signature**: *string* The "signature" member MUST be present and contain the value BASE64URL(JWS Signature). + +Defined in: [types.d.ts:131](https://github.com/panva/jose/blob/v3.9.0/src/types.d.ts#L131) diff --git a/docs/interfaces/types.flattenedverifyresult.md b/docs/interfaces/types.flattenedverifyresult.md new file mode 100644 index 0000000000..01ce102a89 --- /dev/null +++ b/docs/interfaces/types.flattenedverifyresult.md @@ -0,0 +1,47 @@ +# Interface: FlattenedVerifyResult + +[types](../modules/types.md).FlattenedVerifyResult + +## Hierarchy + +* **FlattenedVerifyResult** + + ↳ [*GeneralVerifyResult*](types.generalverifyresult.md) + +## Table of contents + +### Properties + +- [payload](types.flattenedverifyresult.md#payload) +- [protectedHeader](types.flattenedverifyresult.md#protectedheader) +- [unprotectedHeader](types.flattenedverifyresult.md#unprotectedheader) + +## Properties + +### payload + +• **payload**: *Uint8Array* + +JWS Payload. + +Defined in: [types.d.ts:579](https://github.com/panva/jose/blob/v3.9.0/src/types.d.ts#L579) + +___ + +### protectedHeader + +• `Optional` **protectedHeader**: [*JWSHeaderParameters*](types.jwsheaderparameters.md) + +JWS Protected Header. + +Defined in: [types.d.ts:584](https://github.com/panva/jose/blob/v3.9.0/src/types.d.ts#L584) + +___ + +### unprotectedHeader + +• `Optional` **unprotectedHeader**: [*JWSHeaderParameters*](types.jwsheaderparameters.md) + +JWS Unprotected Header. + +Defined in: [types.d.ts:589](https://github.com/panva/jose/blob/v3.9.0/src/types.d.ts#L589) diff --git a/docs/interfaces/types.generaldecryptresult.md b/docs/interfaces/types.generaldecryptresult.md new file mode 100644 index 0000000000..df7428abfb --- /dev/null +++ b/docs/interfaces/types.generaldecryptresult.md @@ -0,0 +1,79 @@ +# Interface: GeneralDecryptResult + +[types](../modules/types.md).GeneralDecryptResult + +## Hierarchy + +* [*FlattenedDecryptResult*](types.flatteneddecryptresult.md) + + ↳ **GeneralDecryptResult** + +## Table of contents + +### Properties + +- [additionalAuthenticatedData](types.generaldecryptresult.md#additionalauthenticateddata) +- [plaintext](types.generaldecryptresult.md#plaintext) +- [protectedHeader](types.generaldecryptresult.md#protectedheader) +- [sharedUnprotectedHeader](types.generaldecryptresult.md#sharedunprotectedheader) +- [unprotectedHeader](types.generaldecryptresult.md#unprotectedheader) + +## Properties + +### additionalAuthenticatedData + +• `Optional` **additionalAuthenticatedData**: *Uint8Array* + +JWE AAD. + +Inherited from: [FlattenedDecryptResult](types.flatteneddecryptresult.md).[additionalAuthenticatedData](types.flatteneddecryptresult.md#additionalauthenticateddata) + +Defined in: [types.d.ts:538](https://github.com/panva/jose/blob/v3.9.0/src/types.d.ts#L538) + +___ + +### plaintext + +• **plaintext**: *Uint8Array* + +Plaintext. + +Inherited from: [FlattenedDecryptResult](types.flatteneddecryptresult.md).[plaintext](types.flatteneddecryptresult.md#plaintext) + +Defined in: [types.d.ts:543](https://github.com/panva/jose/blob/v3.9.0/src/types.d.ts#L543) + +___ + +### protectedHeader + +• `Optional` **protectedHeader**: [*JWEHeaderParameters*](types.jweheaderparameters.md) + +JWE Protected Header. + +Inherited from: [FlattenedDecryptResult](types.flatteneddecryptresult.md).[protectedHeader](types.flatteneddecryptresult.md#protectedheader) + +Defined in: [types.d.ts:548](https://github.com/panva/jose/blob/v3.9.0/src/types.d.ts#L548) + +___ + +### sharedUnprotectedHeader + +• `Optional` **sharedUnprotectedHeader**: [*JWEHeaderParameters*](types.jweheaderparameters.md) + +JWE Shared Unprotected Header. + +Inherited from: [FlattenedDecryptResult](types.flatteneddecryptresult.md).[sharedUnprotectedHeader](types.flatteneddecryptresult.md#sharedunprotectedheader) + +Defined in: [types.d.ts:553](https://github.com/panva/jose/blob/v3.9.0/src/types.d.ts#L553) + +___ + +### unprotectedHeader + +• `Optional` **unprotectedHeader**: [*JWEHeaderParameters*](types.jweheaderparameters.md) + +JWE Per-Recipient Unprotected Header. + +Inherited from: [FlattenedDecryptResult](types.flatteneddecryptresult.md).[unprotectedHeader](types.flatteneddecryptresult.md#unprotectedheader) + +Defined in: [types.d.ts:558](https://github.com/panva/jose/blob/v3.9.0/src/types.d.ts#L558) diff --git a/docs/interfaces/types.generaljwe.md b/docs/interfaces/types.generaljwe.md new file mode 100644 index 0000000000..5eaeae4d14 --- /dev/null +++ b/docs/interfaces/types.generaljwe.md @@ -0,0 +1,117 @@ +# Interface: GeneralJWE + +[types](../modules/types.md).GeneralJWE + +## Hierarchy + +* *Omit*<[*FlattenedJWE*](types.flattenedjwe.md), *encrypted_key* \| *header*\> + + ↳ **GeneralJWE** + +## Table of contents + +### Properties + +- [aad](types.generaljwe.md#aad) +- [ciphertext](types.generaljwe.md#ciphertext) +- [iv](types.generaljwe.md#iv) +- [protected](types.generaljwe.md#protected) +- [recipients](types.generaljwe.md#recipients) +- [tag](types.generaljwe.md#tag) +- [unprotected](types.generaljwe.md#unprotected) + +## Properties + +### aad + +• `Optional` **aad**: *string* + +The "aad" member MUST be present and contain the value +BASE64URL(JWE AAD)) when the JWE AAD value is non-empty; +otherwise, it MUST be absent. A JWE AAD value can be included to +supply a base64url-encoded value to be integrity protected but not +encrypted. + +Inherited from: void + +Defined in: [types.d.ts:262](https://github.com/panva/jose/blob/v3.9.0/src/types.d.ts#L262) + +___ + +### ciphertext + +• **ciphertext**: *string* + +The "ciphertext" member MUST be present and contain the value +BASE64URL(JWE Ciphertext). + +Inherited from: void + +Defined in: [types.d.ts:268](https://github.com/panva/jose/blob/v3.9.0/src/types.d.ts#L268) + +___ + +### iv + +• **iv**: *string* + +The "iv" member MUST be present and contain the value +BASE64URL(JWE Initialization Vector) when the JWE Initialization +Vector value is non-empty; otherwise, it MUST be absent. + +Inherited from: void + +Defined in: [types.d.ts:292](https://github.com/panva/jose/blob/v3.9.0/src/types.d.ts#L292) + +___ + +### protected + +• `Optional` **protected**: *string* + +The "protected" member MUST be present and contain the value +BASE64URL(UTF8(JWE Protected Header)) when the JWE Protected +Header value is non-empty; otherwise, it MUST be absent. These +Header Parameter values are integrity protected. + +Inherited from: void + +Defined in: [types.d.ts:300](https://github.com/panva/jose/blob/v3.9.0/src/types.d.ts#L300) + +___ + +### recipients + +• **recipients**: *Pick*<[*FlattenedJWE*](types.flattenedjwe.md), *header* \| *encrypted_key*\>[] + +Defined in: [types.d.ts:320](https://github.com/panva/jose/blob/v3.9.0/src/types.d.ts#L320) + +___ + +### tag + +• **tag**: *string* + +The "tag" member MUST be present and contain the value +BASE64URL(JWE Authentication Tag) when the JWE Authentication Tag +value is non-empty; otherwise, it MUST be absent. + +Inherited from: void + +Defined in: [types.d.ts:307](https://github.com/panva/jose/blob/v3.9.0/src/types.d.ts#L307) + +___ + +### unprotected + +• `Optional` **unprotected**: [*JWEHeaderParameters*](types.jweheaderparameters.md) + +The "unprotected" member MUST be present and contain the value JWE +Shared Unprotected Header when the JWE Shared Unprotected Header +value is non-empty; otherwise, it MUST be absent. This value is +represented as an unencoded JSON object, rather than as a string. +These Header Parameter values are not integrity protected. + +Inherited from: void + +Defined in: [types.d.ts:316](https://github.com/panva/jose/blob/v3.9.0/src/types.d.ts#L316) diff --git a/docs/interfaces/types.generaljws.md b/docs/interfaces/types.generaljws.md new file mode 100644 index 0000000000..05260c0381 --- /dev/null +++ b/docs/interfaces/types.generaljws.md @@ -0,0 +1,30 @@ +# Interface: GeneralJWS + +[types](../modules/types.md).GeneralJWS + +General JWS definition. Payload is an optional return property, it +is not returned when JWS Unencoded Payload Option +[RFC7797](https://tools.ietf.org/html/rfc7797) is used. + +## Table of contents + +### Properties + +- [payload](types.generaljws.md#payload) +- [signatures](types.generaljws.md#signatures) + +## Properties + +### payload + +• `Optional` **payload**: *string* + +Defined in: [types.d.ts:170](https://github.com/panva/jose/blob/v3.9.0/src/types.d.ts#L170) + +___ + +### signatures + +• **signatures**: *Omit*<[*FlattenedJWSInput*](types.flattenedjwsinput.md), *payload*\>[] + +Defined in: [types.d.ts:171](https://github.com/panva/jose/blob/v3.9.0/src/types.d.ts#L171) diff --git a/docs/interfaces/_types_d_.generaljwsinput.md b/docs/interfaces/types.generaljwsinput.md similarity index 52% rename from docs/interfaces/_types_d_.generaljwsinput.md rename to docs/interfaces/types.generaljwsinput.md index 92c2efefcd..03700e1143 100644 --- a/docs/interfaces/_types_d_.generaljwsinput.md +++ b/docs/interfaces/types.generaljwsinput.md @@ -1,35 +1,37 @@ # Interface: GeneralJWSInput +[types](../modules/types.md).GeneralJWSInput + General JWS definition for verify function inputs, allows payload as Uint8Array for detached signature validation. -## Index +## Table of contents ### Properties -* [payload](_types_d_.generaljwsinput.md#payload) -* [signatures](_types_d_.generaljwsinput.md#signatures) +- [payload](types.generaljwsinput.md#payload) +- [signatures](types.generaljwsinput.md#signatures) ## Properties ### payload -• **payload**: string \| Uint8Array - -*Defined in [src/types.d.ts:144](https://github.com/panva/jose/blob/v3.8.0/src/types.d.ts#L144)* +• **payload**: *string* \| *Uint8Array* The "payload" member MUST be present and contain the value BASE64URL(JWS Payload). When RFC7797 "b64": false is used the value passed may also be a Uint8Array. +Defined in: [types.d.ts:144](https://github.com/panva/jose/blob/v3.9.0/src/types.d.ts#L144) + ___ ### signatures -• **signatures**: Omit<[FlattenedJWSInput](_types_d_.flattenedjwsinput.md), \"payload\"\>[] - -*Defined in [src/types.d.ts:151](https://github.com/panva/jose/blob/v3.8.0/src/types.d.ts#L151)* +• **signatures**: *Omit*<[*FlattenedJWSInput*](types.flattenedjwsinput.md), *payload*\>[] The "signatures" member value MUST be an array of JSON objects. Each object represents a signature or MAC over the JWS Payload and the JWS Protected Header. + +Defined in: [types.d.ts:151](https://github.com/panva/jose/blob/v3.9.0/src/types.d.ts#L151) diff --git a/docs/interfaces/types.generalverifyresult.md b/docs/interfaces/types.generalverifyresult.md new file mode 100644 index 0000000000..dfb69de4cc --- /dev/null +++ b/docs/interfaces/types.generalverifyresult.md @@ -0,0 +1,53 @@ +# Interface: GeneralVerifyResult + +[types](../modules/types.md).GeneralVerifyResult + +## Hierarchy + +* [*FlattenedVerifyResult*](types.flattenedverifyresult.md) + + ↳ **GeneralVerifyResult** + +## Table of contents + +### Properties + +- [payload](types.generalverifyresult.md#payload) +- [protectedHeader](types.generalverifyresult.md#protectedheader) +- [unprotectedHeader](types.generalverifyresult.md#unprotectedheader) + +## Properties + +### payload + +• **payload**: *Uint8Array* + +JWS Payload. + +Inherited from: [FlattenedVerifyResult](types.flattenedverifyresult.md).[payload](types.flattenedverifyresult.md#payload) + +Defined in: [types.d.ts:579](https://github.com/panva/jose/blob/v3.9.0/src/types.d.ts#L579) + +___ + +### protectedHeader + +• `Optional` **protectedHeader**: [*JWSHeaderParameters*](types.jwsheaderparameters.md) + +JWS Protected Header. + +Inherited from: [FlattenedVerifyResult](types.flattenedverifyresult.md).[protectedHeader](types.flattenedverifyresult.md#protectedheader) + +Defined in: [types.d.ts:584](https://github.com/panva/jose/blob/v3.9.0/src/types.d.ts#L584) + +___ + +### unprotectedHeader + +• `Optional` **unprotectedHeader**: [*JWSHeaderParameters*](types.jwsheaderparameters.md) + +JWS Unprotected Header. + +Inherited from: [FlattenedVerifyResult](types.flattenedverifyresult.md).[unprotectedHeader](types.flattenedverifyresult.md#unprotectedheader) + +Defined in: [types.d.ts:589](https://github.com/panva/jose/blob/v3.9.0/src/types.d.ts#L589) diff --git a/docs/interfaces/types.getkeyfunction.md b/docs/interfaces/types.getkeyfunction.md new file mode 100644 index 0000000000..bd099e60cd --- /dev/null +++ b/docs/interfaces/types.getkeyfunction.md @@ -0,0 +1,55 @@ +# Interface: GetKeyFunction + +[types](../modules/types.md).GetKeyFunction + +Generic Interface for consuming operations dynamic key resolution. +No token components have been verified at the time of this function call. + +If you cannot match a key suitable for the token, throw an error instead. + +## Type parameters + +Name | +:------ | +`T` | +`T2` | + +## Hierarchy + +* **GetKeyFunction** + + ↳ [*JWTDecryptGetKey*](jwt_decrypt.jwtdecryptgetkey.md) + + ↳ [*JWTVerifyGetKey*](jwt_verify.jwtverifygetkey.md) + + ↳ [*CompactDecryptGetKey*](jwe_compact_decrypt.compactdecryptgetkey.md) + + ↳ [*FlattenedDecryptGetKey*](jwe_flattened_decrypt.flatteneddecryptgetkey.md) + + ↳ [*GeneralDecryptGetKey*](jwe_general_decrypt.generaldecryptgetkey.md) + + ↳ [*CompactVerifyGetKey*](jws_compact_verify.compactverifygetkey.md) + + ↳ [*FlattenedVerifyGetKey*](jws_flattened_verify.flattenedverifygetkey.md) + + ↳ [*GeneralVerifyGetKey*](jws_general_verify.generalverifygetkey.md) + +## Callable + +▸ **GetKeyFunction**(`protectedHeader`: T, `token`: T2): *Promise*<[*KeyLike*](../types/types.keylike.md)\> + +Generic Interface for consuming operations dynamic key resolution. +No token components have been verified at the time of this function call. + +If you cannot match a key suitable for the token, throw an error instead. + +#### Parameters: + +Name | Type | Description | +:------ | :------ | :------ | +`protectedHeader` | T | JWE or JWS Protected Header. | +`token` | T2 | The consumed JWE or JWS token. | + +**Returns:** *Promise*<[*KeyLike*](../types/types.keylike.md)\> + +Defined in: [types.d.ts:79](https://github.com/panva/jose/blob/v3.9.0/src/types.d.ts#L79) diff --git a/docs/interfaces/_types_d_.inflatefunction.md b/docs/interfaces/types.inflatefunction.md similarity index 55% rename from docs/interfaces/_types_d_.inflatefunction.md rename to docs/interfaces/types.inflatefunction.md index 65887c93f3..a9d49eb089 100644 --- a/docs/interfaces/_types_d_.inflatefunction.md +++ b/docs/interfaces/types.inflatefunction.md @@ -1,19 +1,21 @@ # Interface: InflateFunction +[types](../modules/types.md).InflateFunction + Inflate Raw implementation, e.g. promisified [zlib.inflateRaw](https://nodejs.org/api/zlib.html#zlib_zlib_inflateraw_buffer_options_callback). ## Callable -▸ (`input`: Uint8Array): Promise - -*Defined in [src/types.d.ts:530](https://github.com/panva/jose/blob/v3.8.0/src/types.d.ts#L530)* +▸ **InflateFunction**(`input`: *Uint8Array*): *Promise* Inflate Raw implementation, e.g. promisified [zlib.inflateRaw](https://nodejs.org/api/zlib.html#zlib_zlib_inflateraw_buffer_options_callback). #### Parameters: Name | Type | ------- | ------ | -`input` | Uint8Array | +:------ | :------ | +`input` | *Uint8Array* | + +**Returns:** *Promise* -**Returns:** Promise +Defined in: [types.d.ts:530](https://github.com/panva/jose/blob/v3.9.0/src/types.d.ts#L530) diff --git a/docs/interfaces/types.joseheaderparameters.md b/docs/interfaces/types.joseheaderparameters.md new file mode 100644 index 0000000000..6e4a9ca7a4 --- /dev/null +++ b/docs/interfaces/types.joseheaderparameters.md @@ -0,0 +1,93 @@ +# Interface: JoseHeaderParameters + +[types](../modules/types.md).JoseHeaderParameters + +## Hierarchy + +* **JoseHeaderParameters** + + ↳ [*JWSHeaderParameters*](types.jwsheaderparameters.md) + + ↳ [*JWEHeaderParameters*](types.jweheaderparameters.md) + +## Table of contents + +### Properties + +- [cty](types.joseheaderparameters.md#cty) +- [jwk](types.joseheaderparameters.md#jwk) +- [kid](types.joseheaderparameters.md#kid) +- [typ](types.joseheaderparameters.md#typ) +- [x5c](types.joseheaderparameters.md#x5c) +- [x5t](types.joseheaderparameters.md#x5t) +- [x5u](types.joseheaderparameters.md#x5u) + +## Properties + +### cty + +• `Optional` **cty**: *string* + +"cty" (Content Type) Header Parameter. + +Defined in: [types.d.ts:208](https://github.com/panva/jose/blob/v3.9.0/src/types.d.ts#L208) + +___ + +### jwk + +• `Optional` **jwk**: *Pick*<[*JWK*](types.jwk.md), *kty* \| *crv* \| *x* \| *y* \| *e* \| *n*\> + +"jwk" (JSON Web Key) Header Parameter. + +Defined in: [types.d.ts:198](https://github.com/panva/jose/blob/v3.9.0/src/types.d.ts#L198) + +___ + +### kid + +• `Optional` **kid**: *string* + +"kid" (Key ID) Header Parameter. + +Defined in: [types.d.ts:178](https://github.com/panva/jose/blob/v3.9.0/src/types.d.ts#L178) + +___ + +### typ + +• `Optional` **typ**: *string* + +"typ" (Type) Header Parameter. + +Defined in: [types.d.ts:203](https://github.com/panva/jose/blob/v3.9.0/src/types.d.ts#L203) + +___ + +### x5c + +• `Optional` **x5c**: *string*[] + +"x5c" (X.509 Certificate Chain) Header Parameter. + +Defined in: [types.d.ts:188](https://github.com/panva/jose/blob/v3.9.0/src/types.d.ts#L188) + +___ + +### x5t + +• `Optional` **x5t**: *string* + +"x5t" (X.509 Certificate SHA-1 Thumbprint) Header Parameter. + +Defined in: [types.d.ts:183](https://github.com/panva/jose/blob/v3.9.0/src/types.d.ts#L183) + +___ + +### x5u + +• `Optional` **x5u**: *string* + +"x5u" (X.509 URL) Header Parameter. + +Defined in: [types.d.ts:193](https://github.com/panva/jose/blob/v3.9.0/src/types.d.ts#L193) diff --git a/docs/interfaces/types.jweheaderparameters.md b/docs/interfaces/types.jweheaderparameters.md new file mode 100644 index 0000000000..a46f136a94 --- /dev/null +++ b/docs/interfaces/types.jweheaderparameters.md @@ -0,0 +1,158 @@ +# Interface: JWEHeaderParameters + +[types](../modules/types.md).JWEHeaderParameters + +Recognized JWE Header Parameters, any other Header members +may also be present. + +## Hierarchy + +* [*JoseHeaderParameters*](types.joseheaderparameters.md) + + ↳ **JWEHeaderParameters** + +## Indexable + +▪ [propName: *string*]: *any* + +Any other JWE Header member. + +## Table of contents + +### Properties + +- [alg](types.jweheaderparameters.md#alg) +- [crit](types.jweheaderparameters.md#crit) +- [cty](types.jweheaderparameters.md#cty) +- [enc](types.jweheaderparameters.md#enc) +- [jwk](types.jweheaderparameters.md#jwk) +- [kid](types.jweheaderparameters.md#kid) +- [typ](types.jweheaderparameters.md#typ) +- [x5c](types.jweheaderparameters.md#x5c) +- [x5t](types.jweheaderparameters.md#x5t) +- [x5u](types.jweheaderparameters.md#x5u) +- [zip](types.jweheaderparameters.md#zip) + +## Properties + +### alg + +• `Optional` **alg**: *string* + +JWE "alg" (Algorithm) Header Parameter. + +Defined in: [types.d.ts:331](https://github.com/panva/jose/blob/v3.9.0/src/types.d.ts#L331) + +___ + +### crit + +• `Optional` **crit**: *string*[] + +JWE "crit" (Critical) Header Parameter. + +Defined in: [types.d.ts:341](https://github.com/panva/jose/blob/v3.9.0/src/types.d.ts#L341) + +___ + +### cty + +• `Optional` **cty**: *string* + +"cty" (Content Type) Header Parameter. + +Inherited from: [JoseHeaderParameters](types.joseheaderparameters.md).[cty](types.joseheaderparameters.md#cty) + +Defined in: [types.d.ts:208](https://github.com/panva/jose/blob/v3.9.0/src/types.d.ts#L208) + +___ + +### enc + +• `Optional` **enc**: *string* + +JWE "enc" (Encryption Algorithm) Header Parameter. + +Defined in: [types.d.ts:336](https://github.com/panva/jose/blob/v3.9.0/src/types.d.ts#L336) + +___ + +### jwk + +• `Optional` **jwk**: *Pick*<[*JWK*](types.jwk.md), *kty* \| *crv* \| *x* \| *y* \| *e* \| *n*\> + +"jwk" (JSON Web Key) Header Parameter. + +Inherited from: [JoseHeaderParameters](types.joseheaderparameters.md).[jwk](types.joseheaderparameters.md#jwk) + +Defined in: [types.d.ts:198](https://github.com/panva/jose/blob/v3.9.0/src/types.d.ts#L198) + +___ + +### kid + +• `Optional` **kid**: *string* + +"kid" (Key ID) Header Parameter. + +Inherited from: [JoseHeaderParameters](types.joseheaderparameters.md).[kid](types.joseheaderparameters.md#kid) + +Defined in: [types.d.ts:178](https://github.com/panva/jose/blob/v3.9.0/src/types.d.ts#L178) + +___ + +### typ + +• `Optional` **typ**: *string* + +"typ" (Type) Header Parameter. + +Inherited from: [JoseHeaderParameters](types.joseheaderparameters.md).[typ](types.joseheaderparameters.md#typ) + +Defined in: [types.d.ts:203](https://github.com/panva/jose/blob/v3.9.0/src/types.d.ts#L203) + +___ + +### x5c + +• `Optional` **x5c**: *string*[] + +"x5c" (X.509 Certificate Chain) Header Parameter. + +Inherited from: [JoseHeaderParameters](types.joseheaderparameters.md).[x5c](types.joseheaderparameters.md#x5c) + +Defined in: [types.d.ts:188](https://github.com/panva/jose/blob/v3.9.0/src/types.d.ts#L188) + +___ + +### x5t + +• `Optional` **x5t**: *string* + +"x5t" (X.509 Certificate SHA-1 Thumbprint) Header Parameter. + +Inherited from: [JoseHeaderParameters](types.joseheaderparameters.md).[x5t](types.joseheaderparameters.md#x5t) + +Defined in: [types.d.ts:183](https://github.com/panva/jose/blob/v3.9.0/src/types.d.ts#L183) + +___ + +### x5u + +• `Optional` **x5u**: *string* + +"x5u" (X.509 URL) Header Parameter. + +Inherited from: [JoseHeaderParameters](types.joseheaderparameters.md).[x5u](types.joseheaderparameters.md#x5u) + +Defined in: [types.d.ts:193](https://github.com/panva/jose/blob/v3.9.0/src/types.d.ts#L193) + +___ + +### zip + +• `Optional` **zip**: *string* + +JWE "zip" (Compression Algorithm) Header Parameter. + +Defined in: [types.d.ts:346](https://github.com/panva/jose/blob/v3.9.0/src/types.d.ts#L346) diff --git a/docs/interfaces/types.jwekeymanagementheaderparameters.md b/docs/interfaces/types.jwekeymanagementheaderparameters.md new file mode 100644 index 0000000000..099192a627 --- /dev/null +++ b/docs/interfaces/types.jwekeymanagementheaderparameters.md @@ -0,0 +1,64 @@ +# Interface: JWEKeyManagementHeaderParameters + +[types](../modules/types.md).JWEKeyManagementHeaderParameters + +Recognized JWE Key Management-related Header Parameters. + +## Table of contents + +### Properties + +- [apu](types.jwekeymanagementheaderparameters.md#apu) +- [apv](types.jwekeymanagementheaderparameters.md#apv) +- [epk](types.jwekeymanagementheaderparameters.md#epk) +- [iv](types.jwekeymanagementheaderparameters.md#iv) +- [p2c](types.jwekeymanagementheaderparameters.md#p2c) +- [p2s](types.jwekeymanagementheaderparameters.md#p2s) + +## Properties + +### apu + +• `Optional` **apu**: *Uint8Array* + +Defined in: [types.d.ts:243](https://github.com/panva/jose/blob/v3.9.0/src/types.d.ts#L243) + +___ + +### apv + +• `Optional` **apv**: *Uint8Array* + +Defined in: [types.d.ts:244](https://github.com/panva/jose/blob/v3.9.0/src/types.d.ts#L244) + +___ + +### epk + +• `Optional` **epk**: [*KeyLike*](../types/types.keylike.md) + +Defined in: [types.d.ts:245](https://github.com/panva/jose/blob/v3.9.0/src/types.d.ts#L245) + +___ + +### iv + +• `Optional` **iv**: *Uint8Array* + +Defined in: [types.d.ts:246](https://github.com/panva/jose/blob/v3.9.0/src/types.d.ts#L246) + +___ + +### p2c + +• `Optional` **p2c**: *number* + +Defined in: [types.d.ts:247](https://github.com/panva/jose/blob/v3.9.0/src/types.d.ts#L247) + +___ + +### p2s + +• `Optional` **p2s**: *Uint8Array* + +Defined in: [types.d.ts:248](https://github.com/panva/jose/blob/v3.9.0/src/types.d.ts#L248) diff --git a/docs/interfaces/types.jwk.md b/docs/interfaces/types.jwk.md new file mode 100644 index 0000000000..ed0d41370a --- /dev/null +++ b/docs/interfaces/types.jwk.md @@ -0,0 +1,238 @@ +# Interface: JWK + +[types](../modules/types.md).JWK + +JSON Web Key ([JWK](https://tools.ietf.org/html/rfc7517)). +"RSA", "EC", "OKP", and "oct" key types are supported. + +## Table of contents + +### Properties + +- [alg](types.jwk.md#alg) +- [crv](types.jwk.md#crv) +- [d](types.jwk.md#d) +- [dp](types.jwk.md#dp) +- [dq](types.jwk.md#dq) +- [e](types.jwk.md#e) +- [ext](types.jwk.md#ext) +- [k](types.jwk.md#k) +- [key\_ops](types.jwk.md#key_ops) +- [kid](types.jwk.md#kid) +- [kty](types.jwk.md#kty) +- [n](types.jwk.md#n) +- [oth](types.jwk.md#oth) +- [p](types.jwk.md#p) +- [q](types.jwk.md#q) +- [qi](types.jwk.md#qi) +- [use](types.jwk.md#use) +- [x](types.jwk.md#x) +- [x5c](types.jwk.md#x5c) +- [x5t](types.jwk.md#x5t) +- [x5t#S256](types.jwk.md#x5t#s256) +- [x5u](types.jwk.md#x5u) +- [y](types.jwk.md#y) + +## Properties + +### alg + +• `Optional` **alg**: *string* + +JWK "alg" (Algorithm) Parameter. + +Defined in: [types.d.ts:14](https://github.com/panva/jose/blob/v3.9.0/src/types.d.ts#L14) + +___ + +### crv + +• `Optional` **crv**: *string* + +Defined in: [types.d.ts:15](https://github.com/panva/jose/blob/v3.9.0/src/types.d.ts#L15) + +___ + +### d + +• `Optional` **d**: *string* + +Defined in: [types.d.ts:16](https://github.com/panva/jose/blob/v3.9.0/src/types.d.ts#L16) + +___ + +### dp + +• `Optional` **dp**: *string* + +Defined in: [types.d.ts:17](https://github.com/panva/jose/blob/v3.9.0/src/types.d.ts#L17) + +___ + +### dq + +• `Optional` **dq**: *string* + +Defined in: [types.d.ts:18](https://github.com/panva/jose/blob/v3.9.0/src/types.d.ts#L18) + +___ + +### e + +• `Optional` **e**: *string* + +Defined in: [types.d.ts:19](https://github.com/panva/jose/blob/v3.9.0/src/types.d.ts#L19) + +___ + +### ext + +• `Optional` **ext**: *boolean* + +JWK "ext" (Extractable) Parameter. + +Defined in: [types.d.ts:23](https://github.com/panva/jose/blob/v3.9.0/src/types.d.ts#L23) + +___ + +### k + +• `Optional` **k**: *string* + +Defined in: [types.d.ts:24](https://github.com/panva/jose/blob/v3.9.0/src/types.d.ts#L24) + +___ + +### key\_ops + +• `Optional` **key\_ops**: *string*[] + +JWK "key_ops" (Key Operations) Parameter. + +Defined in: [types.d.ts:28](https://github.com/panva/jose/blob/v3.9.0/src/types.d.ts#L28) + +___ + +### kid + +• `Optional` **kid**: *string* + +JWK "kid" (Key ID) Parameter. + +Defined in: [types.d.ts:32](https://github.com/panva/jose/blob/v3.9.0/src/types.d.ts#L32) + +___ + +### kty + +• `Optional` **kty**: *string* + +JWK "kty" (Key Type) Parameter. + +Defined in: [types.d.ts:36](https://github.com/panva/jose/blob/v3.9.0/src/types.d.ts#L36) + +___ + +### n + +• `Optional` **n**: *string* + +Defined in: [types.d.ts:37](https://github.com/panva/jose/blob/v3.9.0/src/types.d.ts#L37) + +___ + +### oth + +• `Optional` **oth**: { `d?`: *string* ; `r?`: *string* ; `t?`: *string* }[] + +Defined in: [types.d.ts:38](https://github.com/panva/jose/blob/v3.9.0/src/types.d.ts#L38) + +___ + +### p + +• `Optional` **p**: *string* + +Defined in: [types.d.ts:43](https://github.com/panva/jose/blob/v3.9.0/src/types.d.ts#L43) + +___ + +### q + +• `Optional` **q**: *string* + +Defined in: [types.d.ts:44](https://github.com/panva/jose/blob/v3.9.0/src/types.d.ts#L44) + +___ + +### qi + +• `Optional` **qi**: *string* + +Defined in: [types.d.ts:45](https://github.com/panva/jose/blob/v3.9.0/src/types.d.ts#L45) + +___ + +### use + +• `Optional` **use**: *string* + +JWK "use" (Public Key Use) Parameter. + +Defined in: [types.d.ts:49](https://github.com/panva/jose/blob/v3.9.0/src/types.d.ts#L49) + +___ + +### x + +• `Optional` **x**: *string* + +Defined in: [types.d.ts:50](https://github.com/panva/jose/blob/v3.9.0/src/types.d.ts#L50) + +___ + +### x5c + +• `Optional` **x5c**: *string*[] + +JWK "x5c" (X.509 Certificate Chain) Parameter. + +Defined in: [types.d.ts:55](https://github.com/panva/jose/blob/v3.9.0/src/types.d.ts#L55) + +___ + +### x5t + +• `Optional` **x5t**: *string* + +JWK "x5t" (X.509 Certificate SHA-1 Thumbprint) Parameter. + +Defined in: [types.d.ts:59](https://github.com/panva/jose/blob/v3.9.0/src/types.d.ts#L59) + +___ + +### x5t#S256 + +• `Optional` **x5t#S256**: *string* + +"x5t#S256" (X.509 Certificate SHA-256 Thumbprint) Parameter. + +Defined in: [types.d.ts:59](https://github.com/panva/jose/blob/v3.9.0/src/types.d.ts#L59) + +___ + +### x5u + +• `Optional` **x5u**: *string* + +JWK "x5u" (X.509 URL) Parameter. + +Defined in: [types.d.ts:67](https://github.com/panva/jose/blob/v3.9.0/src/types.d.ts#L67) + +___ + +### y + +• `Optional` **y**: *string* + +Defined in: [types.d.ts:51](https://github.com/panva/jose/blob/v3.9.0/src/types.d.ts#L51) diff --git a/docs/interfaces/types.jwsheaderparameters.md b/docs/interfaces/types.jwsheaderparameters.md new file mode 100644 index 0000000000..bb2a97bd33 --- /dev/null +++ b/docs/interfaces/types.jwsheaderparameters.md @@ -0,0 +1,149 @@ +# Interface: JWSHeaderParameters + +[types](../modules/types.md).JWSHeaderParameters + +Recognized JWS Header Parameters, any other Header Members +may also be present. + +## Hierarchy + +* [*JoseHeaderParameters*](types.joseheaderparameters.md) + + ↳ **JWSHeaderParameters** + +## Indexable + +▪ [propName: *string*]: *any* + +Any other JWS Header member. + +## Table of contents + +### Properties + +- [alg](types.jwsheaderparameters.md#alg) +- [b64](types.jwsheaderparameters.md#b64) +- [crit](types.jwsheaderparameters.md#crit) +- [cty](types.jwsheaderparameters.md#cty) +- [jwk](types.jwsheaderparameters.md#jwk) +- [kid](types.jwsheaderparameters.md#kid) +- [typ](types.jwsheaderparameters.md#typ) +- [x5c](types.jwsheaderparameters.md#x5c) +- [x5t](types.jwsheaderparameters.md#x5t) +- [x5u](types.jwsheaderparameters.md#x5u) + +## Properties + +### alg + +• `Optional` **alg**: *string* + +JWS "alg" (Algorithm) Header Parameter. + +Defined in: [types.d.ts:219](https://github.com/panva/jose/blob/v3.9.0/src/types.d.ts#L219) + +___ + +### b64 + +• `Optional` **b64**: *boolean* + +This JWS Extension Header Parameter modifies the JWS Payload +representation and the JWS Signing Input computation as per +[RFC7797](https://tools.ietf.org/html/rfc7797). + +Defined in: [types.d.ts:226](https://github.com/panva/jose/blob/v3.9.0/src/types.d.ts#L226) + +___ + +### crit + +• `Optional` **crit**: *string*[] + +JWS "crit" (Critical) Header Parameter. + +Defined in: [types.d.ts:231](https://github.com/panva/jose/blob/v3.9.0/src/types.d.ts#L231) + +___ + +### cty + +• `Optional` **cty**: *string* + +"cty" (Content Type) Header Parameter. + +Inherited from: [JoseHeaderParameters](types.joseheaderparameters.md).[cty](types.joseheaderparameters.md#cty) + +Defined in: [types.d.ts:208](https://github.com/panva/jose/blob/v3.9.0/src/types.d.ts#L208) + +___ + +### jwk + +• `Optional` **jwk**: *Pick*<[*JWK*](types.jwk.md), *kty* \| *crv* \| *x* \| *y* \| *e* \| *n*\> + +"jwk" (JSON Web Key) Header Parameter. + +Inherited from: [JoseHeaderParameters](types.joseheaderparameters.md).[jwk](types.joseheaderparameters.md#jwk) + +Defined in: [types.d.ts:198](https://github.com/panva/jose/blob/v3.9.0/src/types.d.ts#L198) + +___ + +### kid + +• `Optional` **kid**: *string* + +"kid" (Key ID) Header Parameter. + +Inherited from: [JoseHeaderParameters](types.joseheaderparameters.md).[kid](types.joseheaderparameters.md#kid) + +Defined in: [types.d.ts:178](https://github.com/panva/jose/blob/v3.9.0/src/types.d.ts#L178) + +___ + +### typ + +• `Optional` **typ**: *string* + +"typ" (Type) Header Parameter. + +Inherited from: [JoseHeaderParameters](types.joseheaderparameters.md).[typ](types.joseheaderparameters.md#typ) + +Defined in: [types.d.ts:203](https://github.com/panva/jose/blob/v3.9.0/src/types.d.ts#L203) + +___ + +### x5c + +• `Optional` **x5c**: *string*[] + +"x5c" (X.509 Certificate Chain) Header Parameter. + +Inherited from: [JoseHeaderParameters](types.joseheaderparameters.md).[x5c](types.joseheaderparameters.md#x5c) + +Defined in: [types.d.ts:188](https://github.com/panva/jose/blob/v3.9.0/src/types.d.ts#L188) + +___ + +### x5t + +• `Optional` **x5t**: *string* + +"x5t" (X.509 Certificate SHA-1 Thumbprint) Header Parameter. + +Inherited from: [JoseHeaderParameters](types.joseheaderparameters.md).[x5t](types.joseheaderparameters.md#x5t) + +Defined in: [types.d.ts:183](https://github.com/panva/jose/blob/v3.9.0/src/types.d.ts#L183) + +___ + +### x5u + +• `Optional` **x5u**: *string* + +"x5u" (X.509 URL) Header Parameter. + +Inherited from: [JoseHeaderParameters](types.joseheaderparameters.md).[x5u](types.joseheaderparameters.md#x5u) + +Defined in: [types.d.ts:193](https://github.com/panva/jose/blob/v3.9.0/src/types.d.ts#L193) diff --git a/docs/interfaces/types.jwtclaimverificationoptions.md b/docs/interfaces/types.jwtclaimverificationoptions.md new file mode 100644 index 0000000000..5ba8fd6f7f --- /dev/null +++ b/docs/interfaces/types.jwtclaimverificationoptions.md @@ -0,0 +1,99 @@ +# Interface: JWTClaimVerificationOptions + +[types](../modules/types.md).JWTClaimVerificationOptions + +JWT Claims Set verification options. + +## Hierarchy + +* **JWTClaimVerificationOptions** + + ↳ [*JWTDecryptOptions*](jwt_decrypt.jwtdecryptoptions.md) + + ↳ [*JWTVerifyOptions*](jwt_verify.jwtverifyoptions.md) + +## Table of contents + +### Properties + +- [audience](types.jwtclaimverificationoptions.md#audience) +- [clockTolerance](types.jwtclaimverificationoptions.md#clocktolerance) +- [currentDate](types.jwtclaimverificationoptions.md#currentdate) +- [issuer](types.jwtclaimverificationoptions.md#issuer) +- [maxTokenAge](types.jwtclaimverificationoptions.md#maxtokenage) +- [subject](types.jwtclaimverificationoptions.md#subject) +- [typ](types.jwtclaimverificationoptions.md#typ) + +## Properties + +### audience + +• `Optional` **audience**: *string* \| *string*[] + +Expected JWT "aud" (Audience) Claim value(s). + +Defined in: [types.d.ts:422](https://github.com/panva/jose/blob/v3.9.0/src/types.d.ts#L422) + +___ + +### clockTolerance + +• `Optional` **clockTolerance**: *string* \| *number* + +Expected clock tolerance +- in seconds when number (e.g. 5) +- parsed as seconds when a string (e.g. "5 seconds", "10 minutes", "2 hours"). + +Defined in: [types.d.ts:429](https://github.com/panva/jose/blob/v3.9.0/src/types.d.ts#L429) + +___ + +### currentDate + +• `Optional` **currentDate**: Date + +Date to use when comparing NumericDate claims, defaults to `new Date()`. + +Defined in: [types.d.ts:456](https://github.com/panva/jose/blob/v3.9.0/src/types.d.ts#L456) + +___ + +### issuer + +• `Optional` **issuer**: *string* \| *string*[] + +Expected JWT "iss" (Issuer) Claim value(s). + +Defined in: [types.d.ts:434](https://github.com/panva/jose/blob/v3.9.0/src/types.d.ts#L434) + +___ + +### maxTokenAge + +• `Optional` **maxTokenAge**: *string* \| *number* + +Maximum time elapsed (in seconds) from the JWT "iat" (Issued At) Claim value. +- in seconds when number (e.g. 5) +- parsed as seconds when a string (e.g. "5 seconds", "10 minutes", "2 hours"). + +Defined in: [types.d.ts:441](https://github.com/panva/jose/blob/v3.9.0/src/types.d.ts#L441) + +___ + +### subject + +• `Optional` **subject**: *string* + +Expected JWT "sub" (Subject) Claim value. + +Defined in: [types.d.ts:446](https://github.com/panva/jose/blob/v3.9.0/src/types.d.ts#L446) + +___ + +### typ + +• `Optional` **typ**: *string* + +Expected JWT "typ" (Type) Header Parameter value. + +Defined in: [types.d.ts:451](https://github.com/panva/jose/blob/v3.9.0/src/types.d.ts#L451) diff --git a/docs/interfaces/types.jwtdecryptresult.md b/docs/interfaces/types.jwtdecryptresult.md new file mode 100644 index 0000000000..0fbadf2f5b --- /dev/null +++ b/docs/interfaces/types.jwtdecryptresult.md @@ -0,0 +1,30 @@ +# Interface: JWTDecryptResult + +[types](../modules/types.md).JWTDecryptResult + +## Table of contents + +### Properties + +- [payload](types.jwtdecryptresult.md#payload) +- [protectedHeader](types.jwtdecryptresult.md#protectedheader) + +## Properties + +### payload + +• **payload**: [*JWTPayload*](types.jwtpayload.md) + +JWT Claims Set. + +Defined in: [types.d.ts:622](https://github.com/panva/jose/blob/v3.9.0/src/types.d.ts#L622) + +___ + +### protectedHeader + +• **protectedHeader**: [*JWEHeaderParameters*](types.jweheaderparameters.md) + +JWE Protected Header. + +Defined in: [types.d.ts:627](https://github.com/panva/jose/blob/v3.9.0/src/types.d.ts#L627) diff --git a/docs/interfaces/types.jwtpayload.md b/docs/interfaces/types.jwtpayload.md new file mode 100644 index 0000000000..31c69bf0cd --- /dev/null +++ b/docs/interfaces/types.jwtpayload.md @@ -0,0 +1,94 @@ +# Interface: JWTPayload + +[types](../modules/types.md).JWTPayload + +Recognized JWT Claims Set members, any other members +may also be present. + +## Indexable + +▪ [propName: *string*]: *any* + +Any other JWT Claim Set member. + +## Table of contents + +### Properties + +- [aud](types.jwtpayload.md#aud) +- [exp](types.jwtpayload.md#exp) +- [iat](types.jwtpayload.md#iat) +- [iss](types.jwtpayload.md#iss) +- [jti](types.jwtpayload.md#jti) +- [nbf](types.jwtpayload.md#nbf) +- [sub](types.jwtpayload.md#sub) + +## Properties + +### aud + +• `Optional` **aud**: *string* \| *string*[] + +JWT Audience [RFC7519#section-4.1.3](https://tools.ietf.org/html/rfc7519#section-4.1.3). + +Defined in: [types.d.ts:492](https://github.com/panva/jose/blob/v3.9.0/src/types.d.ts#L492) + +___ + +### exp + +• `Optional` **exp**: *number* + +JWT Expiration Time - [RFC7519#section-4.1.4](https://tools.ietf.org/html/rfc7519#section-4.1.4). + +Defined in: [types.d.ts:507](https://github.com/panva/jose/blob/v3.9.0/src/types.d.ts#L507) + +___ + +### iat + +• `Optional` **iat**: *number* + +JWT Issued At - [RFC7519#section-4.1.6](https://tools.ietf.org/html/rfc7519#section-4.1.6). + +Defined in: [types.d.ts:512](https://github.com/panva/jose/blob/v3.9.0/src/types.d.ts#L512) + +___ + +### iss + +• `Optional` **iss**: *string* + +JWT Issuer - [RFC7519#section-4.1.1](https://tools.ietf.org/html/rfc7519#section-4.1.1). + +Defined in: [types.d.ts:482](https://github.com/panva/jose/blob/v3.9.0/src/types.d.ts#L482) + +___ + +### jti + +• `Optional` **jti**: *string* + +JWT ID - [RFC7519#section-4.1.7](https://tools.ietf.org/html/rfc7519#section-4.1.7). + +Defined in: [types.d.ts:497](https://github.com/panva/jose/blob/v3.9.0/src/types.d.ts#L497) + +___ + +### nbf + +• `Optional` **nbf**: *number* + +JWT Not Before - [RFC7519#section-4.1.5](https://tools.ietf.org/html/rfc7519#section-4.1.5). + +Defined in: [types.d.ts:502](https://github.com/panva/jose/blob/v3.9.0/src/types.d.ts#L502) + +___ + +### sub + +• `Optional` **sub**: *string* + +JWT Subject - [RFC7519#section-4.1.2](https://tools.ietf.org/html/rfc7519#section-4.1.2). + +Defined in: [types.d.ts:487](https://github.com/panva/jose/blob/v3.9.0/src/types.d.ts#L487) diff --git a/docs/interfaces/types.jwtverifyresult.md b/docs/interfaces/types.jwtverifyresult.md new file mode 100644 index 0000000000..7c04397b14 --- /dev/null +++ b/docs/interfaces/types.jwtverifyresult.md @@ -0,0 +1,30 @@ +# Interface: JWTVerifyResult + +[types](../modules/types.md).JWTVerifyResult + +## Table of contents + +### Properties + +- [payload](types.jwtverifyresult.md#payload) +- [protectedHeader](types.jwtverifyresult.md#protectedheader) + +## Properties + +### payload + +• **payload**: [*JWTPayload*](types.jwtpayload.md) + +JWT Claims Set. + +Defined in: [types.d.ts:610](https://github.com/panva/jose/blob/v3.9.0/src/types.d.ts#L610) + +___ + +### protectedHeader + +• **protectedHeader**: [*JWSHeaderParameters*](types.jwsheaderparameters.md) + +JWS Protected Header. + +Defined in: [types.d.ts:615](https://github.com/panva/jose/blob/v3.9.0/src/types.d.ts#L615) diff --git a/docs/interfaces/_types_d_.signoptions.md b/docs/interfaces/types.signoptions.md similarity index 73% rename from docs/interfaces/_types_d_.signoptions.md rename to docs/interfaces/types.signoptions.md index d27c9207c0..4cd9c5df32 100644 --- a/docs/interfaces/_types_d_.signoptions.md +++ b/docs/interfaces/types.signoptions.md @@ -1,20 +1,26 @@ # Interface: SignOptions +[types](../modules/types.md).SignOptions + JWS Signing options. -## Index +## Hierarchy + +* [*CritOption*](types.critoption.md) + + ↳ **SignOptions** + +## Table of contents ### Properties -* [crit](_types_d_.signoptions.md#crit) +- [crit](types.signoptions.md#crit) ## Properties ### crit -• `Optional` **crit**: { [propName:string]: boolean; } - -*Defined in [src/types.d.ts:378](https://github.com/panva/jose/blob/v3.8.0/src/types.d.ts#L378)* +• `Optional` **crit**: *object* An object with keys representing recognized "crit" (Critical) Header Parameter names. The value for those is either `true` or `false`. `true` when the @@ -34,3 +40,9 @@ profile's validation steps after the operation succeeds. The JWS extension Header Parameter `b64` is always recognized and processed properly. No other registered Header Parameters that need this kind of default built-in treatment are currently available. + +#### Type declaration: + +Inherited from: [CritOption](types.critoption.md).[crit](types.critoption.md#crit) + +Defined in: [types.d.ts:378](https://github.com/panva/jose/blob/v3.9.0/src/types.d.ts#L378) diff --git a/docs/interfaces/_types_d_.verifyoptions.md b/docs/interfaces/types.verifyoptions.md similarity index 64% rename from docs/interfaces/_types_d_.verifyoptions.md rename to docs/interfaces/types.verifyoptions.md index 6432ac0240..11f1b96f64 100644 --- a/docs/interfaces/_types_d_.verifyoptions.md +++ b/docs/interfaces/types.verifyoptions.md @@ -1,31 +1,39 @@ # Interface: VerifyOptions +[types](../modules/types.md).VerifyOptions + JWS Verification options. -## Index +## Hierarchy + +* [*CritOption*](types.critoption.md) + + ↳ **VerifyOptions** + + ↳↳ [*JWTVerifyOptions*](jwt_verify.jwtverifyoptions.md) + +## Table of contents ### Properties -* [algorithms](_types_d_.verifyoptions.md#algorithms) -* [crit](_types_d_.verifyoptions.md#crit) +- [algorithms](types.verifyoptions.md#algorithms) +- [crit](types.verifyoptions.md#crit) ## Properties ### algorithms -• `Optional` **algorithms**: string[] - -*Defined in [src/types.d.ts:466](https://github.com/panva/jose/blob/v3.8.0/src/types.d.ts#L466)* +• `Optional` **algorithms**: *string*[] A list of accepted JWS "alg" (Algorithm) Header Parameter values. +Defined in: [types.d.ts:466](https://github.com/panva/jose/blob/v3.9.0/src/types.d.ts#L466) + ___ ### crit -• `Optional` **crit**: { [propName:string]: boolean; } - -*Defined in [src/types.d.ts:378](https://github.com/panva/jose/blob/v3.8.0/src/types.d.ts#L378)* +• `Optional` **crit**: *object* An object with keys representing recognized "crit" (Critical) Header Parameter names. The value for those is either `true` or `false`. `true` when the @@ -45,3 +53,9 @@ profile's validation steps after the operation succeeds. The JWS extension Header Parameter `b64` is always recognized and processed properly. No other registered Header Parameters that need this kind of default built-in treatment are currently available. + +#### Type declaration: + +Inherited from: [CritOption](types.critoption.md).[crit](types.critoption.md#crit) + +Defined in: [types.d.ts:378](https://github.com/panva/jose/blob/v3.9.0/src/types.d.ts#L378) diff --git a/docs/interfaces/util_generate_key_pair.generatekeypairoptions.md b/docs/interfaces/util_generate_key_pair.generatekeypairoptions.md new file mode 100644 index 0000000000..a6d4ec9319 --- /dev/null +++ b/docs/interfaces/util_generate_key_pair.generatekeypairoptions.md @@ -0,0 +1,33 @@ +# Interface: GenerateKeyPairOptions + +[util/generate_key_pair](../modules/util_generate_key_pair.md).GenerateKeyPairOptions + +## Table of contents + +### Properties + +- [crv](util_generate_key_pair.generatekeypairoptions.md#crv) +- [modulusLength](util_generate_key_pair.generatekeypairoptions.md#moduluslength) + +## Properties + +### crv + +• `Optional` **crv**: *string* + +The EC "crv" (Curve) or OKP "crv" (Subtype of Key Pair) value to generate. +The curve must be both supported on the runtime as well as applicable for +the given JWA algorithm identifier. + +Defined in: [util/generate_key_pair.ts:10](https://github.com/panva/jose/blob/v3.9.0/src/util/generate_key_pair.ts#L10) + +___ + +### modulusLength + +• `Optional` **modulusLength**: *number* + +A hint for RSA algorithms to generate an RSA key of a given `modulusLength` +(Key size in bits). JOSE requires 2048 bits or larger. Default is 2048. + +Defined in: [util/generate_key_pair.ts:16](https://github.com/panva/jose/blob/v3.9.0/src/util/generate_key_pair.ts#L16) diff --git a/docs/modules/_jwe_compact_decrypt_.md b/docs/modules/_jwe_compact_decrypt_.md deleted file mode 100644 index 09dabbd248..0000000000 --- a/docs/modules/_jwe_compact_decrypt_.md +++ /dev/null @@ -1,11 +0,0 @@ -# Module: "jwe/compact/decrypt" - -## Index - -### Interfaces - -* [CompactDecryptGetKey](../interfaces/_jwe_compact_decrypt_.compactdecryptgetkey.md) - -### Functions - -* [compactDecrypt](../functions/_jwe_compact_decrypt_.compactdecrypt.md) diff --git a/docs/modules/_jwe_compact_encrypt_.md b/docs/modules/_jwe_compact_encrypt_.md deleted file mode 100644 index eafade761e..0000000000 --- a/docs/modules/_jwe_compact_encrypt_.md +++ /dev/null @@ -1,7 +0,0 @@ -# Module: "jwe/compact/encrypt" - -## Index - -### Classes - -* [CompactEncrypt](../classes/_jwe_compact_encrypt_.compactencrypt.md) diff --git a/docs/modules/_jwe_flattened_decrypt_.md b/docs/modules/_jwe_flattened_decrypt_.md deleted file mode 100644 index 5a3ac8de6c..0000000000 --- a/docs/modules/_jwe_flattened_decrypt_.md +++ /dev/null @@ -1,11 +0,0 @@ -# Module: "jwe/flattened/decrypt" - -## Index - -### Interfaces - -* [FlattenedDecryptGetKey](../interfaces/_jwe_flattened_decrypt_.flatteneddecryptgetkey.md) - -### Functions - -* [flattenedDecrypt](../functions/_jwe_flattened_decrypt_.flatteneddecrypt.md) diff --git a/docs/modules/_jwe_flattened_encrypt_.md b/docs/modules/_jwe_flattened_encrypt_.md deleted file mode 100644 index 50fe926b8e..0000000000 --- a/docs/modules/_jwe_flattened_encrypt_.md +++ /dev/null @@ -1,7 +0,0 @@ -# Module: "jwe/flattened/encrypt" - -## Index - -### Classes - -* [FlattenedEncrypt](../classes/_jwe_flattened_encrypt_.flattenedencrypt.md) diff --git a/docs/modules/_jwe_general_decrypt_.md b/docs/modules/_jwe_general_decrypt_.md deleted file mode 100644 index b12d69d678..0000000000 --- a/docs/modules/_jwe_general_decrypt_.md +++ /dev/null @@ -1,11 +0,0 @@ -# Module: "jwe/general/decrypt" - -## Index - -### Interfaces - -* [GeneralDecryptGetKey](../interfaces/_jwe_general_decrypt_.generaldecryptgetkey.md) - -### Functions - -* [generalDecrypt](../functions/_jwe_general_decrypt_.generaldecrypt.md) diff --git a/docs/modules/_jwk_embedded_.md b/docs/modules/_jwk_embedded_.md deleted file mode 100644 index 7be7b15e62..0000000000 --- a/docs/modules/_jwk_embedded_.md +++ /dev/null @@ -1,7 +0,0 @@ -# Module: "jwk/embedded" - -## Index - -### Functions - -* [EmbeddedJWK](../functions/_jwk_embedded_.embeddedjwk.md) diff --git a/docs/modules/_jwk_from_key_like_.md b/docs/modules/_jwk_from_key_like_.md deleted file mode 100644 index 3661e4fc15..0000000000 --- a/docs/modules/_jwk_from_key_like_.md +++ /dev/null @@ -1,7 +0,0 @@ -# Module: "jwk/from\_key\_like" - -## Index - -### Functions - -* [fromKeyLike](../functions/_jwk_from_key_like_.fromkeylike.md) diff --git a/docs/modules/_jwk_parse_.md b/docs/modules/_jwk_parse_.md deleted file mode 100644 index 508cf9efe7..0000000000 --- a/docs/modules/_jwk_parse_.md +++ /dev/null @@ -1,7 +0,0 @@ -# Module: "jwk/parse" - -## Index - -### Functions - -* [parseJwk](../functions/_jwk_parse_.parsejwk.md) diff --git a/docs/modules/_jwk_thumbprint_.md b/docs/modules/_jwk_thumbprint_.md deleted file mode 100644 index dfd2b10a94..0000000000 --- a/docs/modules/_jwk_thumbprint_.md +++ /dev/null @@ -1,7 +0,0 @@ -# Module: "jwk/thumbprint" - -## Index - -### Functions - -* [calculateThumbprint](../functions/_jwk_thumbprint_.calculatethumbprint.md) diff --git a/docs/modules/_jwks_remote_.md b/docs/modules/_jwks_remote_.md deleted file mode 100644 index f686c043fd..0000000000 --- a/docs/modules/_jwks_remote_.md +++ /dev/null @@ -1,11 +0,0 @@ -# Module: "jwks/remote" - -## Index - -### Interfaces - -* [RemoteJWKSetOptions](../interfaces/_jwks_remote_.remotejwksetoptions.md) - -### Functions - -* [createRemoteJWKSet](../functions/_jwks_remote_.createremotejwkset.md) diff --git a/docs/modules/_jws_compact_sign_.md b/docs/modules/_jws_compact_sign_.md deleted file mode 100644 index 7dd41d41ea..0000000000 --- a/docs/modules/_jws_compact_sign_.md +++ /dev/null @@ -1,7 +0,0 @@ -# Module: "jws/compact/sign" - -## Index - -### Classes - -* [CompactSign](../classes/_jws_compact_sign_.compactsign.md) diff --git a/docs/modules/_jws_compact_verify_.md b/docs/modules/_jws_compact_verify_.md deleted file mode 100644 index 8ed390f38c..0000000000 --- a/docs/modules/_jws_compact_verify_.md +++ /dev/null @@ -1,11 +0,0 @@ -# Module: "jws/compact/verify" - -## Index - -### Interfaces - -* [CompactVerifyGetKey](../interfaces/_jws_compact_verify_.compactverifygetkey.md) - -### Functions - -* [compactVerify](../functions/_jws_compact_verify_.compactverify.md) diff --git a/docs/modules/_jws_flattened_sign_.md b/docs/modules/_jws_flattened_sign_.md deleted file mode 100644 index 6a17203c8f..0000000000 --- a/docs/modules/_jws_flattened_sign_.md +++ /dev/null @@ -1,7 +0,0 @@ -# Module: "jws/flattened/sign" - -## Index - -### Classes - -* [FlattenedSign](../classes/_jws_flattened_sign_.flattenedsign.md) diff --git a/docs/modules/_jws_flattened_verify_.md b/docs/modules/_jws_flattened_verify_.md deleted file mode 100644 index 6ed0265fbc..0000000000 --- a/docs/modules/_jws_flattened_verify_.md +++ /dev/null @@ -1,11 +0,0 @@ -# Module: "jws/flattened/verify" - -## Index - -### Interfaces - -* [FlattenedVerifyGetKey](../interfaces/_jws_flattened_verify_.flattenedverifygetkey.md) - -### Functions - -* [flattenedVerify](../functions/_jws_flattened_verify_.flattenedverify.md) diff --git a/docs/modules/_jws_general_sign_.md b/docs/modules/_jws_general_sign_.md deleted file mode 100644 index bff4c7386d..0000000000 --- a/docs/modules/_jws_general_sign_.md +++ /dev/null @@ -1,11 +0,0 @@ -# Module: "jws/general/sign" - -## Index - -### Classes - -* [GeneralSign](../classes/_jws_general_sign_.generalsign.md) - -### Interfaces - -* [Signature](../interfaces/_jws_general_sign_.signature.md) diff --git a/docs/modules/_jws_general_verify_.md b/docs/modules/_jws_general_verify_.md deleted file mode 100644 index 73bcc1b6b3..0000000000 --- a/docs/modules/_jws_general_verify_.md +++ /dev/null @@ -1,11 +0,0 @@ -# Module: "jws/general/verify" - -## Index - -### Interfaces - -* [GeneralVerifyGetKey](../interfaces/_jws_general_verify_.generalverifygetkey.md) - -### Functions - -* [generalVerify](../functions/_jws_general_verify_.generalverify.md) diff --git a/docs/modules/_jwt_decrypt_.md b/docs/modules/_jwt_decrypt_.md deleted file mode 100644 index 8b4a571f62..0000000000 --- a/docs/modules/_jwt_decrypt_.md +++ /dev/null @@ -1,12 +0,0 @@ -# Module: "jwt/decrypt" - -## Index - -### Interfaces - -* [JWTDecryptGetKey](../interfaces/_jwt_decrypt_.jwtdecryptgetkey.md) -* [JWTDecryptOptions](../interfaces/_jwt_decrypt_.jwtdecryptoptions.md) - -### Functions - -* [jwtDecrypt](../functions/_jwt_decrypt_.jwtdecrypt.md) diff --git a/docs/modules/_jwt_encrypt_.md b/docs/modules/_jwt_encrypt_.md deleted file mode 100644 index 65bfd74769..0000000000 --- a/docs/modules/_jwt_encrypt_.md +++ /dev/null @@ -1,7 +0,0 @@ -# Module: "jwt/encrypt" - -## Index - -### Classes - -* [EncryptJWT](../classes/_jwt_encrypt_.encryptjwt.md) diff --git a/docs/modules/_jwt_sign_.md b/docs/modules/_jwt_sign_.md deleted file mode 100644 index 6f0f2b1dd1..0000000000 --- a/docs/modules/_jwt_sign_.md +++ /dev/null @@ -1,7 +0,0 @@ -# Module: "jwt/sign" - -## Index - -### Classes - -* [SignJWT](../classes/_jwt_sign_.signjwt.md) diff --git a/docs/modules/_jwt_unsecured_.md b/docs/modules/_jwt_unsecured_.md deleted file mode 100644 index cf4fdb6aa4..0000000000 --- a/docs/modules/_jwt_unsecured_.md +++ /dev/null @@ -1,7 +0,0 @@ -# Module: "jwt/unsecured" - -## Index - -### Classes - -* [UnsecuredJWT](../classes/_jwt_unsecured_.unsecuredjwt.md) diff --git a/docs/modules/_jwt_verify_.md b/docs/modules/_jwt_verify_.md deleted file mode 100644 index d7340a5b44..0000000000 --- a/docs/modules/_jwt_verify_.md +++ /dev/null @@ -1,12 +0,0 @@ -# Module: "jwt/verify" - -## Index - -### Interfaces - -* [JWTVerifyGetKey](../interfaces/_jwt_verify_.jwtverifygetkey.md) -* [JWTVerifyOptions](../interfaces/_jwt_verify_.jwtverifyoptions.md) - -### Functions - -* [jwtVerify](../functions/_jwt_verify_.jwtverify.md) diff --git a/docs/modules/_types_d_.md b/docs/modules/_types_d_.md deleted file mode 100644 index 795f6a174e..0000000000 --- a/docs/modules/_types_d_.md +++ /dev/null @@ -1,39 +0,0 @@ -# Module: "types.d" - -## Index - -### Interfaces - -* [CompactDecryptResult](../interfaces/_types_d_.compactdecryptresult.md) -* [CompactVerifyResult](../interfaces/_types_d_.compactverifyresult.md) -* [CritOption](../interfaces/_types_d_.critoption.md) -* [DecryptOptions](../interfaces/_types_d_.decryptoptions.md) -* [DeflateFunction](../interfaces/_types_d_.deflatefunction.md) -* [EncryptOptions](../interfaces/_types_d_.encryptoptions.md) -* [FlattenedDecryptResult](../interfaces/_types_d_.flatteneddecryptresult.md) -* [FlattenedJWE](../interfaces/_types_d_.flattenedjwe.md) -* [FlattenedJWS](../interfaces/_types_d_.flattenedjws.md) -* [FlattenedJWSInput](../interfaces/_types_d_.flattenedjwsinput.md) -* [FlattenedVerifyResult](../interfaces/_types_d_.flattenedverifyresult.md) -* [GeneralDecryptResult](../interfaces/_types_d_.generaldecryptresult.md) -* [GeneralJWE](../interfaces/_types_d_.generaljwe.md) -* [GeneralJWS](../interfaces/_types_d_.generaljws.md) -* [GeneralJWSInput](../interfaces/_types_d_.generaljwsinput.md) -* [GeneralVerifyResult](../interfaces/_types_d_.generalverifyresult.md) -* [GetKeyFunction](../interfaces/_types_d_.getkeyfunction.md) -* [InflateFunction](../interfaces/_types_d_.inflatefunction.md) -* [JWEHeaderParameters](../interfaces/_types_d_.jweheaderparameters.md) -* [JWEKeyManagementHeaderParameters](../interfaces/_types_d_.jwekeymanagementheaderparameters.md) -* [JWK](../interfaces/_types_d_.jwk.md) -* [JWSHeaderParameters](../interfaces/_types_d_.jwsheaderparameters.md) -* [JWTClaimVerificationOptions](../interfaces/_types_d_.jwtclaimverificationoptions.md) -* [JWTDecryptResult](../interfaces/_types_d_.jwtdecryptresult.md) -* [JWTPayload](../interfaces/_types_d_.jwtpayload.md) -* [JWTVerifyResult](../interfaces/_types_d_.jwtverifyresult.md) -* [JoseHeaderParameters](../interfaces/_types_d_.joseheaderparameters.md) -* [SignOptions](../interfaces/_types_d_.signoptions.md) -* [VerifyOptions](../interfaces/_types_d_.verifyoptions.md) - -### Type aliases - -* [KeyLike](../types/_types_d_.keylike.md) diff --git a/docs/modules/_util_base64url_.md b/docs/modules/_util_base64url_.md deleted file mode 100644 index 741a251c4c..0000000000 --- a/docs/modules/_util_base64url_.md +++ /dev/null @@ -1,8 +0,0 @@ -# Module: "util/base64url" - -## Index - -### Variables - -* [decode](../variables/_util_base64url_.decode.md) -* [encode](../variables/_util_base64url_.encode.md) diff --git a/docs/modules/_util_decode_protected_header_.md b/docs/modules/_util_decode_protected_header_.md deleted file mode 100644 index 168ef636c9..0000000000 --- a/docs/modules/_util_decode_protected_header_.md +++ /dev/null @@ -1,11 +0,0 @@ -# Module: "util/decode\_protected\_header" - -## Index - -### Type aliases - -* [ProtectedHeaderParameters](../types/_util_decode_protected_header_.protectedheaderparameters.md) - -### Functions - -* [decodeProtectedHeader](../functions/_util_decode_protected_header_.decodeprotectedheader.md) diff --git a/docs/modules/_util_errors_.md b/docs/modules/_util_errors_.md deleted file mode 100644 index d4712e96c8..0000000000 --- a/docs/modules/_util_errors_.md +++ /dev/null @@ -1,20 +0,0 @@ -# Module: "util/errors" - -## Index - -### Classes - -* [JOSEAlgNotAllowed](../classes/_util_errors_.josealgnotallowed.md) -* [JOSEError](../classes/_util_errors_.joseerror.md) -* [JOSENotSupported](../classes/_util_errors_.josenotsupported.md) -* [JWEDecryptionFailed](../classes/_util_errors_.jwedecryptionfailed.md) -* [JWEInvalid](../classes/_util_errors_.jweinvalid.md) -* [JWKInvalid](../classes/_util_errors_.jwkinvalid.md) -* [JWKSInvalid](../classes/_util_errors_.jwksinvalid.md) -* [JWKSMultipleMatchingKeys](../classes/_util_errors_.jwksmultiplematchingkeys.md) -* [JWKSNoMatchingKey](../classes/_util_errors_.jwksnomatchingkey.md) -* [JWSInvalid](../classes/_util_errors_.jwsinvalid.md) -* [JWSSignatureVerificationFailed](../classes/_util_errors_.jwssignatureverificationfailed.md) -* [JWTClaimValidationFailed](../classes/_util_errors_.jwtclaimvalidationfailed.md) -* [JWTExpired](../classes/_util_errors_.jwtexpired.md) -* [JWTInvalid](../classes/_util_errors_.jwtinvalid.md) diff --git a/docs/modules/_util_generate_key_pair_.md b/docs/modules/_util_generate_key_pair_.md deleted file mode 100644 index 0a9c163a6b..0000000000 --- a/docs/modules/_util_generate_key_pair_.md +++ /dev/null @@ -1,11 +0,0 @@ -# Module: "util/generate\_key\_pair" - -## Index - -### Interfaces - -* [GenerateKeyPairOptions](../interfaces/_util_generate_key_pair_.generatekeypairoptions.md) - -### Functions - -* [generateKeyPair](../functions/_util_generate_key_pair_.generatekeypair.md) diff --git a/docs/modules/_util_generate_secret_.md b/docs/modules/_util_generate_secret_.md deleted file mode 100644 index 06064dce40..0000000000 --- a/docs/modules/_util_generate_secret_.md +++ /dev/null @@ -1,7 +0,0 @@ -# Module: "util/generate\_secret" - -## Index - -### Functions - -* [generateSecret](../functions/_util_generate_secret_.generatesecret.md) diff --git a/docs/modules/_util_random_.md b/docs/modules/_util_random_.md deleted file mode 100644 index 798d06f026..0000000000 --- a/docs/modules/_util_random_.md +++ /dev/null @@ -1 +0,0 @@ -# Module: "util/random" diff --git a/docs/modules/jwe_compact_decrypt.md b/docs/modules/jwe_compact_decrypt.md new file mode 100644 index 0000000000..1c0d5cdf59 --- /dev/null +++ b/docs/modules/jwe_compact_decrypt.md @@ -0,0 +1,35 @@ +# Module: jwe/compact/decrypt + +## Table of contents + +### References + +- [DecryptOptions](jwe_compact_decrypt.md#decryptoptions) +- [KeyLike](jwe_compact_decrypt.md#keylike) +- [default](jwe_compact_decrypt.md#default) + +### Interfaces + +- [CompactDecryptGetKey](../interfaces/jwe_compact_decrypt.compactdecryptgetkey.md) + +### Functions + +- [compactDecrypt](../functions/jwe_compact_decrypt.compactdecrypt.md) + +## References + +### DecryptOptions + +Re-exports: [DecryptOptions](../interfaces/types.decryptoptions.md) + +___ + +### KeyLike + +Re-exports: [KeyLike](../types/types.keylike.md) + +___ + +### default + +Renames and exports: [compactDecrypt](../functions/jwe_compact_decrypt.compactdecrypt.md) diff --git a/docs/modules/jwe_compact_encrypt.md b/docs/modules/jwe_compact_encrypt.md new file mode 100644 index 0000000000..1ca2cd732a --- /dev/null +++ b/docs/modules/jwe_compact_encrypt.md @@ -0,0 +1,38 @@ +# Module: jwe/compact/encrypt + +## Table of contents + +### References + +- [JWEHeaderParameters](jwe_compact_encrypt.md#jweheaderparameters) +- [JWEKeyManagementHeaderParameters](jwe_compact_encrypt.md#jwekeymanagementheaderparameters) +- [KeyLike](jwe_compact_encrypt.md#keylike) +- [default](jwe_compact_encrypt.md#default) + +### Classes + +- [CompactEncrypt](../classes/jwe_compact_encrypt.compactencrypt.md) + +## References + +### JWEHeaderParameters + +Re-exports: [JWEHeaderParameters](../interfaces/types.jweheaderparameters.md) + +___ + +### JWEKeyManagementHeaderParameters + +Re-exports: [JWEKeyManagementHeaderParameters](../interfaces/types.jwekeymanagementheaderparameters.md) + +___ + +### KeyLike + +Re-exports: [KeyLike](../types/types.keylike.md) + +___ + +### default + +Renames and exports: [CompactEncrypt](../classes/jwe_compact_encrypt.compactencrypt.md) diff --git a/docs/modules/jwe_flattened_decrypt.md b/docs/modules/jwe_flattened_decrypt.md new file mode 100644 index 0000000000..fbc32a123d --- /dev/null +++ b/docs/modules/jwe_flattened_decrypt.md @@ -0,0 +1,49 @@ +# Module: jwe/flattened/decrypt + +## Table of contents + +### References + +- [DecryptOptions](jwe_flattened_decrypt.md#decryptoptions) +- [FlattenedJWE](jwe_flattened_decrypt.md#flattenedjwe) +- [JWEHeaderParameters](jwe_flattened_decrypt.md#jweheaderparameters) +- [KeyLike](jwe_flattened_decrypt.md#keylike) +- [default](jwe_flattened_decrypt.md#default) + +### Interfaces + +- [FlattenedDecryptGetKey](../interfaces/jwe_flattened_decrypt.flatteneddecryptgetkey.md) + +### Functions + +- [flattenedDecrypt](../functions/jwe_flattened_decrypt.flatteneddecrypt.md) + +## References + +### DecryptOptions + +Re-exports: [DecryptOptions](../interfaces/types.decryptoptions.md) + +___ + +### FlattenedJWE + +Re-exports: [FlattenedJWE](../interfaces/types.flattenedjwe.md) + +___ + +### JWEHeaderParameters + +Re-exports: [JWEHeaderParameters](../interfaces/types.jweheaderparameters.md) + +___ + +### KeyLike + +Re-exports: [KeyLike](../types/types.keylike.md) + +___ + +### default + +Renames and exports: [flattenedDecrypt](../functions/jwe_flattened_decrypt.flatteneddecrypt.md) diff --git a/docs/modules/jwe_flattened_encrypt.md b/docs/modules/jwe_flattened_encrypt.md new file mode 100644 index 0000000000..53c2b89ab1 --- /dev/null +++ b/docs/modules/jwe_flattened_encrypt.md @@ -0,0 +1,45 @@ +# Module: jwe/flattened/encrypt + +## Table of contents + +### References + +- [FlattenedJWE](jwe_flattened_encrypt.md#flattenedjwe) +- [JWEHeaderParameters](jwe_flattened_encrypt.md#jweheaderparameters) +- [JWEKeyManagementHeaderParameters](jwe_flattened_encrypt.md#jwekeymanagementheaderparameters) +- [KeyLike](jwe_flattened_encrypt.md#keylike) +- [default](jwe_flattened_encrypt.md#default) + +### Classes + +- [FlattenedEncrypt](../classes/jwe_flattened_encrypt.flattenedencrypt.md) + +## References + +### FlattenedJWE + +Re-exports: [FlattenedJWE](../interfaces/types.flattenedjwe.md) + +___ + +### JWEHeaderParameters + +Re-exports: [JWEHeaderParameters](../interfaces/types.jweheaderparameters.md) + +___ + +### JWEKeyManagementHeaderParameters + +Re-exports: [JWEKeyManagementHeaderParameters](../interfaces/types.jwekeymanagementheaderparameters.md) + +___ + +### KeyLike + +Re-exports: [KeyLike](../types/types.keylike.md) + +___ + +### default + +Renames and exports: [FlattenedEncrypt](../classes/jwe_flattened_encrypt.flattenedencrypt.md) diff --git a/docs/modules/jwe_general_decrypt.md b/docs/modules/jwe_general_decrypt.md new file mode 100644 index 0000000000..a9a7be98c1 --- /dev/null +++ b/docs/modules/jwe_general_decrypt.md @@ -0,0 +1,42 @@ +# Module: jwe/general/decrypt + +## Table of contents + +### References + +- [DecryptOptions](jwe_general_decrypt.md#decryptoptions) +- [GeneralJWE](jwe_general_decrypt.md#generaljwe) +- [KeyLike](jwe_general_decrypt.md#keylike) +- [default](jwe_general_decrypt.md#default) + +### Interfaces + +- [GeneralDecryptGetKey](../interfaces/jwe_general_decrypt.generaldecryptgetkey.md) + +### Functions + +- [generalDecrypt](../functions/jwe_general_decrypt.generaldecrypt.md) + +## References + +### DecryptOptions + +Re-exports: [DecryptOptions](../interfaces/types.decryptoptions.md) + +___ + +### GeneralJWE + +Re-exports: [GeneralJWE](../interfaces/types.generaljwe.md) + +___ + +### KeyLike + +Re-exports: [KeyLike](../types/types.keylike.md) + +___ + +### default + +Renames and exports: [generalDecrypt](../functions/jwe_general_decrypt.generaldecrypt.md) diff --git a/docs/modules/jwk_embedded.md b/docs/modules/jwk_embedded.md new file mode 100644 index 0000000000..4d6772616c --- /dev/null +++ b/docs/modules/jwk_embedded.md @@ -0,0 +1,17 @@ +# Module: jwk/embedded + +## Table of contents + +### References + +- [default](jwk_embedded.md#default) + +### Functions + +- [EmbeddedJWK](../functions/jwk_embedded.embeddedjwk.md) + +## References + +### default + +Renames and exports: [EmbeddedJWK](../functions/jwk_embedded.embeddedjwk.md) diff --git a/docs/modules/jwk_from_key_like.md b/docs/modules/jwk_from_key_like.md new file mode 100644 index 0000000000..03c8c7469f --- /dev/null +++ b/docs/modules/jwk_from_key_like.md @@ -0,0 +1,31 @@ +# Module: jwk/from\_key\_like + +## Table of contents + +### References + +- [JWK](jwk_from_key_like.md#jwk) +- [KeyLike](jwk_from_key_like.md#keylike) +- [default](jwk_from_key_like.md#default) + +### Functions + +- [fromKeyLike](../functions/jwk_from_key_like.fromkeylike.md) + +## References + +### JWK + +Re-exports: [JWK](../interfaces/types.jwk.md) + +___ + +### KeyLike + +Re-exports: [KeyLike](../types/types.keylike.md) + +___ + +### default + +Renames and exports: [fromKeyLike](../functions/jwk_from_key_like.fromkeylike.md) diff --git a/docs/modules/jwk_parse.md b/docs/modules/jwk_parse.md new file mode 100644 index 0000000000..0f9a68db06 --- /dev/null +++ b/docs/modules/jwk_parse.md @@ -0,0 +1,31 @@ +# Module: jwk/parse + +## Table of contents + +### References + +- [JWK](jwk_parse.md#jwk) +- [KeyLike](jwk_parse.md#keylike) +- [default](jwk_parse.md#default) + +### Functions + +- [parseJwk](../functions/jwk_parse.parsejwk.md) + +## References + +### JWK + +Re-exports: [JWK](../interfaces/types.jwk.md) + +___ + +### KeyLike + +Re-exports: [KeyLike](../types/types.keylike.md) + +___ + +### default + +Renames and exports: [parseJwk](../functions/jwk_parse.parsejwk.md) diff --git a/docs/modules/jwk_thumbprint.md b/docs/modules/jwk_thumbprint.md new file mode 100644 index 0000000000..65441c630f --- /dev/null +++ b/docs/modules/jwk_thumbprint.md @@ -0,0 +1,24 @@ +# Module: jwk/thumbprint + +## Table of contents + +### References + +- [JWK](jwk_thumbprint.md#jwk) +- [default](jwk_thumbprint.md#default) + +### Functions + +- [calculateThumbprint](../functions/jwk_thumbprint.calculatethumbprint.md) + +## References + +### JWK + +Re-exports: [JWK](../interfaces/types.jwk.md) + +___ + +### default + +Renames and exports: [calculateThumbprint](../functions/jwk_thumbprint.calculatethumbprint.md) diff --git a/docs/modules/jwks_remote.md b/docs/modules/jwks_remote.md new file mode 100644 index 0000000000..0f2fa0e8fe --- /dev/null +++ b/docs/modules/jwks_remote.md @@ -0,0 +1,21 @@ +# Module: jwks/remote + +## Table of contents + +### References + +- [default](jwks_remote.md#default) + +### Interfaces + +- [RemoteJWKSetOptions](../interfaces/jwks_remote.remotejwksetoptions.md) + +### Functions + +- [createRemoteJWKSet](../functions/jwks_remote.createremotejwkset.md) + +## References + +### default + +Renames and exports: [createRemoteJWKSet](../functions/jwks_remote.createremotejwkset.md) diff --git a/docs/modules/jws_compact_sign.md b/docs/modules/jws_compact_sign.md new file mode 100644 index 0000000000..320e6627ad --- /dev/null +++ b/docs/modules/jws_compact_sign.md @@ -0,0 +1,31 @@ +# Module: jws/compact/sign + +## Table of contents + +### References + +- [JWSHeaderParameters](jws_compact_sign.md#jwsheaderparameters) +- [KeyLike](jws_compact_sign.md#keylike) +- [default](jws_compact_sign.md#default) + +### Classes + +- [CompactSign](../classes/jws_compact_sign.compactsign.md) + +## References + +### JWSHeaderParameters + +Re-exports: [JWSHeaderParameters](../interfaces/types.jwsheaderparameters.md) + +___ + +### KeyLike + +Re-exports: [KeyLike](../types/types.keylike.md) + +___ + +### default + +Renames and exports: [CompactSign](../classes/jws_compact_sign.compactsign.md) diff --git a/docs/modules/jws_compact_verify.md b/docs/modules/jws_compact_verify.md new file mode 100644 index 0000000000..95214f34ef --- /dev/null +++ b/docs/modules/jws_compact_verify.md @@ -0,0 +1,35 @@ +# Module: jws/compact/verify + +## Table of contents + +### References + +- [KeyLike](jws_compact_verify.md#keylike) +- [VerifyOptions](jws_compact_verify.md#verifyoptions) +- [default](jws_compact_verify.md#default) + +### Interfaces + +- [CompactVerifyGetKey](../interfaces/jws_compact_verify.compactverifygetkey.md) + +### Functions + +- [compactVerify](../functions/jws_compact_verify.compactverify.md) + +## References + +### KeyLike + +Re-exports: [KeyLike](../types/types.keylike.md) + +___ + +### VerifyOptions + +Re-exports: [VerifyOptions](../interfaces/types.verifyoptions.md) + +___ + +### default + +Renames and exports: [compactVerify](../functions/jws_compact_verify.compactverify.md) diff --git a/docs/modules/jws_flattened_sign.md b/docs/modules/jws_flattened_sign.md new file mode 100644 index 0000000000..b4e69a0e81 --- /dev/null +++ b/docs/modules/jws_flattened_sign.md @@ -0,0 +1,38 @@ +# Module: jws/flattened/sign + +## Table of contents + +### References + +- [FlattenedJWS](jws_flattened_sign.md#flattenedjws) +- [JWSHeaderParameters](jws_flattened_sign.md#jwsheaderparameters) +- [KeyLike](jws_flattened_sign.md#keylike) +- [default](jws_flattened_sign.md#default) + +### Classes + +- [FlattenedSign](../classes/jws_flattened_sign.flattenedsign.md) + +## References + +### FlattenedJWS + +Re-exports: [FlattenedJWS](../interfaces/types.flattenedjws.md) + +___ + +### JWSHeaderParameters + +Re-exports: [JWSHeaderParameters](../interfaces/types.jwsheaderparameters.md) + +___ + +### KeyLike + +Re-exports: [KeyLike](../types/types.keylike.md) + +___ + +### default + +Renames and exports: [FlattenedSign](../classes/jws_flattened_sign.flattenedsign.md) diff --git a/docs/modules/jws_flattened_verify.md b/docs/modules/jws_flattened_verify.md new file mode 100644 index 0000000000..7ade6b2434 --- /dev/null +++ b/docs/modules/jws_flattened_verify.md @@ -0,0 +1,56 @@ +# Module: jws/flattened/verify + +## Table of contents + +### References + +- [FlattenedJWSInput](jws_flattened_verify.md#flattenedjwsinput) +- [GetKeyFunction](jws_flattened_verify.md#getkeyfunction) +- [JWSHeaderParameters](jws_flattened_verify.md#jwsheaderparameters) +- [KeyLike](jws_flattened_verify.md#keylike) +- [VerifyOptions](jws_flattened_verify.md#verifyoptions) +- [default](jws_flattened_verify.md#default) + +### Interfaces + +- [FlattenedVerifyGetKey](../interfaces/jws_flattened_verify.flattenedverifygetkey.md) + +### Functions + +- [flattenedVerify](../functions/jws_flattened_verify.flattenedverify.md) + +## References + +### FlattenedJWSInput + +Re-exports: [FlattenedJWSInput](../interfaces/types.flattenedjwsinput.md) + +___ + +### GetKeyFunction + +Re-exports: [GetKeyFunction](../interfaces/types.getkeyfunction.md) + +___ + +### JWSHeaderParameters + +Re-exports: [JWSHeaderParameters](../interfaces/types.jwsheaderparameters.md) + +___ + +### KeyLike + +Re-exports: [KeyLike](../types/types.keylike.md) + +___ + +### VerifyOptions + +Re-exports: [VerifyOptions](../interfaces/types.verifyoptions.md) + +___ + +### default + +Renames and exports: [flattenedVerify](../functions/jws_flattened_verify.flattenedverify.md) diff --git a/docs/modules/jws_general_sign.md b/docs/modules/jws_general_sign.md new file mode 100644 index 0000000000..8a38b72ae4 --- /dev/null +++ b/docs/modules/jws_general_sign.md @@ -0,0 +1,42 @@ +# Module: jws/general/sign + +## Table of contents + +### References + +- [GeneralJWS](jws_general_sign.md#generaljws) +- [JWSHeaderParameters](jws_general_sign.md#jwsheaderparameters) +- [KeyLike](jws_general_sign.md#keylike) +- [default](jws_general_sign.md#default) + +### Classes + +- [GeneralSign](../classes/jws_general_sign.generalsign.md) + +### Interfaces + +- [Signature](../interfaces/jws_general_sign.signature.md) + +## References + +### GeneralJWS + +Re-exports: [GeneralJWS](../interfaces/types.generaljws.md) + +___ + +### JWSHeaderParameters + +Re-exports: [JWSHeaderParameters](../interfaces/types.jwsheaderparameters.md) + +___ + +### KeyLike + +Re-exports: [KeyLike](../types/types.keylike.md) + +___ + +### default + +Renames and exports: [GeneralSign](../classes/jws_general_sign.generalsign.md) diff --git a/docs/modules/jws_general_verify.md b/docs/modules/jws_general_verify.md new file mode 100644 index 0000000000..5f3a53ed13 --- /dev/null +++ b/docs/modules/jws_general_verify.md @@ -0,0 +1,42 @@ +# Module: jws/general/verify + +## Table of contents + +### References + +- [GeneralJWSInput](jws_general_verify.md#generaljwsinput) +- [KeyLike](jws_general_verify.md#keylike) +- [VerifyOptions](jws_general_verify.md#verifyoptions) +- [default](jws_general_verify.md#default) + +### Interfaces + +- [GeneralVerifyGetKey](../interfaces/jws_general_verify.generalverifygetkey.md) + +### Functions + +- [generalVerify](../functions/jws_general_verify.generalverify.md) + +## References + +### GeneralJWSInput + +Re-exports: [GeneralJWSInput](../interfaces/types.generaljwsinput.md) + +___ + +### KeyLike + +Re-exports: [KeyLike](../types/types.keylike.md) + +___ + +### VerifyOptions + +Re-exports: [VerifyOptions](../interfaces/types.verifyoptions.md) + +___ + +### default + +Renames and exports: [generalVerify](../functions/jws_general_verify.generalverify.md) diff --git a/docs/modules/jwt_decrypt.md b/docs/modules/jwt_decrypt.md new file mode 100644 index 0000000000..8df9f942dd --- /dev/null +++ b/docs/modules/jwt_decrypt.md @@ -0,0 +1,43 @@ +# Module: jwt/decrypt + +## Table of contents + +### References + +- [DecryptOptions](jwt_decrypt.md#decryptoptions) +- [JWTPayload](jwt_decrypt.md#jwtpayload) +- [KeyLike](jwt_decrypt.md#keylike) +- [default](jwt_decrypt.md#default) + +### Interfaces + +- [JWTDecryptGetKey](../interfaces/jwt_decrypt.jwtdecryptgetkey.md) +- [JWTDecryptOptions](../interfaces/jwt_decrypt.jwtdecryptoptions.md) + +### Functions + +- [jwtDecrypt](../functions/jwt_decrypt.jwtdecrypt.md) + +## References + +### DecryptOptions + +Re-exports: [DecryptOptions](../interfaces/types.decryptoptions.md) + +___ + +### JWTPayload + +Re-exports: [JWTPayload](../interfaces/types.jwtpayload.md) + +___ + +### KeyLike + +Re-exports: [KeyLike](../types/types.keylike.md) + +___ + +### default + +Renames and exports: [jwtDecrypt](../functions/jwt_decrypt.jwtdecrypt.md) diff --git a/docs/modules/jwt_encrypt.md b/docs/modules/jwt_encrypt.md new file mode 100644 index 0000000000..9b08181824 --- /dev/null +++ b/docs/modules/jwt_encrypt.md @@ -0,0 +1,38 @@ +# Module: jwt/encrypt + +## Table of contents + +### References + +- [JWEHeaderParameters](jwt_encrypt.md#jweheaderparameters) +- [JWTPayload](jwt_encrypt.md#jwtpayload) +- [KeyLike](jwt_encrypt.md#keylike) +- [default](jwt_encrypt.md#default) + +### Classes + +- [EncryptJWT](../classes/jwt_encrypt.encryptjwt.md) + +## References + +### JWEHeaderParameters + +Re-exports: [JWEHeaderParameters](../interfaces/types.jweheaderparameters.md) + +___ + +### JWTPayload + +Re-exports: [JWTPayload](../interfaces/types.jwtpayload.md) + +___ + +### KeyLike + +Re-exports: [KeyLike](../types/types.keylike.md) + +___ + +### default + +Renames and exports: [EncryptJWT](../classes/jwt_encrypt.encryptjwt.md) diff --git a/docs/modules/jwt_sign.md b/docs/modules/jwt_sign.md new file mode 100644 index 0000000000..dd8d751cea --- /dev/null +++ b/docs/modules/jwt_sign.md @@ -0,0 +1,38 @@ +# Module: jwt/sign + +## Table of contents + +### References + +- [JWSHeaderParameters](jwt_sign.md#jwsheaderparameters) +- [JWTPayload](jwt_sign.md#jwtpayload) +- [KeyLike](jwt_sign.md#keylike) +- [default](jwt_sign.md#default) + +### Classes + +- [SignJWT](../classes/jwt_sign.signjwt.md) + +## References + +### JWSHeaderParameters + +Re-exports: [JWSHeaderParameters](../interfaces/types.jwsheaderparameters.md) + +___ + +### JWTPayload + +Re-exports: [JWTPayload](../interfaces/types.jwtpayload.md) + +___ + +### KeyLike + +Re-exports: [KeyLike](../types/types.keylike.md) + +___ + +### default + +Renames and exports: [SignJWT](../classes/jwt_sign.signjwt.md) diff --git a/docs/modules/jwt_unsecured.md b/docs/modules/jwt_unsecured.md new file mode 100644 index 0000000000..6e77b58e7e --- /dev/null +++ b/docs/modules/jwt_unsecured.md @@ -0,0 +1,31 @@ +# Module: jwt/unsecured + +## Table of contents + +### References + +- [JWSHeaderParameters](jwt_unsecured.md#jwsheaderparameters) +- [JWTPayload](jwt_unsecured.md#jwtpayload) +- [default](jwt_unsecured.md#default) + +### Classes + +- [UnsecuredJWT](../classes/jwt_unsecured.unsecuredjwt.md) + +## References + +### JWSHeaderParameters + +Re-exports: [JWSHeaderParameters](../interfaces/types.jwsheaderparameters.md) + +___ + +### JWTPayload + +Re-exports: [JWTPayload](../interfaces/types.jwtpayload.md) + +___ + +### default + +Renames and exports: [UnsecuredJWT](../classes/jwt_unsecured.unsecuredjwt.md) diff --git a/docs/modules/jwt_verify.md b/docs/modules/jwt_verify.md new file mode 100644 index 0000000000..5dcce8cfbf --- /dev/null +++ b/docs/modules/jwt_verify.md @@ -0,0 +1,50 @@ +# Module: jwt/verify + +## Table of contents + +### References + +- [GetKeyFunction](jwt_verify.md#getkeyfunction) +- [JWSHeaderParameters](jwt_verify.md#jwsheaderparameters) +- [JWTPayload](jwt_verify.md#jwtpayload) +- [KeyLike](jwt_verify.md#keylike) +- [default](jwt_verify.md#default) + +### Interfaces + +- [JWTVerifyGetKey](../interfaces/jwt_verify.jwtverifygetkey.md) +- [JWTVerifyOptions](../interfaces/jwt_verify.jwtverifyoptions.md) + +### Functions + +- [jwtVerify](../functions/jwt_verify.jwtverify.md) + +## References + +### GetKeyFunction + +Re-exports: [GetKeyFunction](../interfaces/types.getkeyfunction.md) + +___ + +### JWSHeaderParameters + +Re-exports: [JWSHeaderParameters](../interfaces/types.jwsheaderparameters.md) + +___ + +### JWTPayload + +Re-exports: [JWTPayload](../interfaces/types.jwtpayload.md) + +___ + +### KeyLike + +Re-exports: [KeyLike](../types/types.keylike.md) + +___ + +### default + +Renames and exports: [jwtVerify](../functions/jwt_verify.jwtverify.md) diff --git a/docs/modules/types.md b/docs/modules/types.md new file mode 100644 index 0000000000..7a0ff3b8c9 --- /dev/null +++ b/docs/modules/types.md @@ -0,0 +1,39 @@ +# Module: types + +## Table of contents + +### Interfaces + +- [CompactDecryptResult](../interfaces/types.compactdecryptresult.md) +- [CompactVerifyResult](../interfaces/types.compactverifyresult.md) +- [CritOption](../interfaces/types.critoption.md) +- [DecryptOptions](../interfaces/types.decryptoptions.md) +- [DeflateFunction](../interfaces/types.deflatefunction.md) +- [EncryptOptions](../interfaces/types.encryptoptions.md) +- [FlattenedDecryptResult](../interfaces/types.flatteneddecryptresult.md) +- [FlattenedJWE](../interfaces/types.flattenedjwe.md) +- [FlattenedJWS](../interfaces/types.flattenedjws.md) +- [FlattenedJWSInput](../interfaces/types.flattenedjwsinput.md) +- [FlattenedVerifyResult](../interfaces/types.flattenedverifyresult.md) +- [GeneralDecryptResult](../interfaces/types.generaldecryptresult.md) +- [GeneralJWE](../interfaces/types.generaljwe.md) +- [GeneralJWS](../interfaces/types.generaljws.md) +- [GeneralJWSInput](../interfaces/types.generaljwsinput.md) +- [GeneralVerifyResult](../interfaces/types.generalverifyresult.md) +- [GetKeyFunction](../interfaces/types.getkeyfunction.md) +- [InflateFunction](../interfaces/types.inflatefunction.md) +- [JWEHeaderParameters](../interfaces/types.jweheaderparameters.md) +- [JWEKeyManagementHeaderParameters](../interfaces/types.jwekeymanagementheaderparameters.md) +- [JWK](../interfaces/types.jwk.md) +- [JWSHeaderParameters](../interfaces/types.jwsheaderparameters.md) +- [JWTClaimVerificationOptions](../interfaces/types.jwtclaimverificationoptions.md) +- [JWTDecryptResult](../interfaces/types.jwtdecryptresult.md) +- [JWTPayload](../interfaces/types.jwtpayload.md) +- [JWTVerifyResult](../interfaces/types.jwtverifyresult.md) +- [JoseHeaderParameters](../interfaces/types.joseheaderparameters.md) +- [SignOptions](../interfaces/types.signoptions.md) +- [VerifyOptions](../interfaces/types.verifyoptions.md) + +### Type aliases + +- [KeyLike](../types/types.keylike.md) diff --git a/docs/modules/util_base64url.md b/docs/modules/util_base64url.md new file mode 100644 index 0000000000..da76080d27 --- /dev/null +++ b/docs/modules/util_base64url.md @@ -0,0 +1,8 @@ +# Module: util/base64url + +## Table of contents + +### Functions + +- [decode](../functions/util_base64url.decode.md) +- [encode](../functions/util_base64url.encode.md) diff --git a/docs/modules/util_decode_protected_header.md b/docs/modules/util_decode_protected_header.md new file mode 100644 index 0000000000..9c9317217d --- /dev/null +++ b/docs/modules/util_decode_protected_header.md @@ -0,0 +1,21 @@ +# Module: util/decode\_protected\_header + +## Table of contents + +### References + +- [default](util_decode_protected_header.md#default) + +### Type aliases + +- [ProtectedHeaderParameters](../types/util_decode_protected_header.protectedheaderparameters.md) + +### Functions + +- [decodeProtectedHeader](../functions/util_decode_protected_header.decodeprotectedheader.md) + +## References + +### default + +Renames and exports: [decodeProtectedHeader](../functions/util_decode_protected_header.decodeprotectedheader.md) diff --git a/docs/modules/util_errors.md b/docs/modules/util_errors.md new file mode 100644 index 0000000000..db6cbd7dbc --- /dev/null +++ b/docs/modules/util_errors.md @@ -0,0 +1,20 @@ +# Module: util/errors + +## Table of contents + +### Classes + +- [JOSEAlgNotAllowed](../classes/util_errors.josealgnotallowed.md) +- [JOSEError](../classes/util_errors.joseerror.md) +- [JOSENotSupported](../classes/util_errors.josenotsupported.md) +- [JWEDecryptionFailed](../classes/util_errors.jwedecryptionfailed.md) +- [JWEInvalid](../classes/util_errors.jweinvalid.md) +- [JWKInvalid](../classes/util_errors.jwkinvalid.md) +- [JWKSInvalid](../classes/util_errors.jwksinvalid.md) +- [JWKSMultipleMatchingKeys](../classes/util_errors.jwksmultiplematchingkeys.md) +- [JWKSNoMatchingKey](../classes/util_errors.jwksnomatchingkey.md) +- [JWSInvalid](../classes/util_errors.jwsinvalid.md) +- [JWSSignatureVerificationFailed](../classes/util_errors.jwssignatureverificationfailed.md) +- [JWTClaimValidationFailed](../classes/util_errors.jwtclaimvalidationfailed.md) +- [JWTExpired](../classes/util_errors.jwtexpired.md) +- [JWTInvalid](../classes/util_errors.jwtinvalid.md) diff --git a/docs/modules/util_generate_key_pair.md b/docs/modules/util_generate_key_pair.md new file mode 100644 index 0000000000..47f7819bd7 --- /dev/null +++ b/docs/modules/util_generate_key_pair.md @@ -0,0 +1,21 @@ +# Module: util/generate\_key\_pair + +## Table of contents + +### References + +- [default](util_generate_key_pair.md#default) + +### Interfaces + +- [GenerateKeyPairOptions](../interfaces/util_generate_key_pair.generatekeypairoptions.md) + +### Functions + +- [generateKeyPair](../functions/util_generate_key_pair.generatekeypair.md) + +## References + +### default + +Renames and exports: [generateKeyPair](../functions/util_generate_key_pair.generatekeypair.md) diff --git a/docs/modules/util_generate_secret.md b/docs/modules/util_generate_secret.md new file mode 100644 index 0000000000..db9c767bf3 --- /dev/null +++ b/docs/modules/util_generate_secret.md @@ -0,0 +1,17 @@ +# Module: util/generate\_secret + +## Table of contents + +### References + +- [default](util_generate_secret.md#default) + +### Functions + +- [generateSecret](../functions/util_generate_secret.generatesecret.md) + +## References + +### default + +Renames and exports: [generateSecret](../functions/util_generate_secret.generatesecret.md) diff --git a/docs/modules/util_random.md b/docs/modules/util_random.md new file mode 100644 index 0000000000..c20095b7ae --- /dev/null +++ b/docs/modules/util_random.md @@ -0,0 +1,17 @@ +# Module: util/random + +## Table of contents + +### References + +- [default](util_random.md#default) + +### Functions + +- [random](../functions/util_random.random.md) + +## References + +### default + +Renames and exports: [random](../functions/util_random.random.md) diff --git a/docs/types/_util_decode_protected_header_.protectedheaderparameters.md b/docs/types/_util_decode_protected_header_.protectedheaderparameters.md deleted file mode 100644 index 47e4c3e21c..0000000000 --- a/docs/types/_util_decode_protected_header_.protectedheaderparameters.md +++ /dev/null @@ -1,5 +0,0 @@ -# Type alias: ProtectedHeaderParameters - -Ƭ **ProtectedHeaderParameters**: [JWSHeaderParameters](../interfaces/_types_d_.jwsheaderparameters.md) & [JWEHeaderParameters](../interfaces/_types_d_.jweheaderparameters.md) - -*Defined in [src/util/decode_protected_header.ts:8](https://github.com/panva/jose/blob/v3.8.0/src/util/decode_protected_header.ts#L8)* diff --git a/docs/types/_types_d_.keylike.md b/docs/types/types.keylike.md similarity index 82% rename from docs/types/_types_d_.keylike.md rename to docs/types/types.keylike.md index a7832abf6c..650413e960 100644 --- a/docs/types/_types_d_.keylike.md +++ b/docs/types/types.keylike.md @@ -1,8 +1,8 @@ # Type alias: KeyLike -Ƭ **KeyLike**: KeyObject \| CryptoKey \| Uint8Array +[types](../modules/types.md).KeyLike -*Defined in [src/types.d.ts:96](https://github.com/panva/jose/blob/v3.8.0/src/types.d.ts#L96)* +Ƭ **KeyLike**: KeyObject \| CryptoKey \| Uint8Array KeyLike are platform-specific references to keying material. @@ -15,3 +15,5 @@ SubtleCrypto.generateKey, SubtleCrypto.deriveKey, SubtleCrypto.unwrapKey). - [Uint8Array](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Uint8Array) is used exclusively for symmetric secret representations, a CryptoKey or KeyObject is preferred, but in Web Crypto API this isn't an option for some algorithms. + +Defined in: [types.d.ts:96](https://github.com/panva/jose/blob/v3.9.0/src/types.d.ts#L96) diff --git a/docs/types/util_decode_protected_header.protectedheaderparameters.md b/docs/types/util_decode_protected_header.protectedheaderparameters.md new file mode 100644 index 0000000000..14f891c114 --- /dev/null +++ b/docs/types/util_decode_protected_header.protectedheaderparameters.md @@ -0,0 +1,7 @@ +# Type alias: ProtectedHeaderParameters + +[util/decode_protected_header](../modules/util_decode_protected_header.md).ProtectedHeaderParameters + +Ƭ **ProtectedHeaderParameters**: [*JWSHeaderParameters*](../interfaces/types.jwsheaderparameters.md) & [*JWEHeaderParameters*](../interfaces/types.jweheaderparameters.md) + +Defined in: [util/decode_protected_header.ts:8](https://github.com/panva/jose/blob/v3.9.0/src/util/decode_protected_header.ts#L8) diff --git a/docs/variables/_util_base64url_.decode.md b/docs/variables/_util_base64url_.decode.md deleted file mode 100644 index 552cdc2bbe..0000000000 --- a/docs/variables/_util_base64url_.decode.md +++ /dev/null @@ -1,5 +0,0 @@ -# Variable: decode - -• `Const` **decode**: Base64UrlDecode = base64url.decode - -*Defined in [src/util/base64url.ts:23](https://github.com/panva/jose/blob/v3.8.0/src/util/base64url.ts#L23)* diff --git a/docs/variables/_util_base64url_.encode.md b/docs/variables/_util_base64url_.encode.md deleted file mode 100644 index 1332ee0410..0000000000 --- a/docs/variables/_util_base64url_.encode.md +++ /dev/null @@ -1,5 +0,0 @@ -# Variable: encode - -• `Const` **encode**: Base64UrlEncode = base64url.encode - -*Defined in [src/util/base64url.ts:22](https://github.com/panva/jose/blob/v3.8.0/src/util/base64url.ts#L22)* diff --git a/package.json b/package.json index 9aab68a5ca..364b26dcb8 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "jose", - "version": "3.8.0", + "version": "3.9.0", "description": "Universal 'JSON Web Almost Everything' - JWA, JWS, JWE, JWT, JWK with no dependencies", "keywords": [ "browser", @@ -331,7 +331,7 @@ "coverage-cryptokey": "npm run-script runtime-node && c8 npm run-script test-cryptokey", "coverage-webcrypto": "npm run-script runtime-node-webcrypto && c8 npm run-script test-webcrypto", "docs": "run-s docs:*", - "docs:generate": "typedoc --disableOutputCheck --excludeNotExported --excludePrivate --excludeProtected --gitRevision main --readme none --listInvalidSymbolLinks --plugin typedoc-plugin-markdown --out docs --includeDeclarations --excludeExternals --tsconfig ./tsconfig/browser.json --mode modules src/types.d.ts src/jwt/*.ts src/jwe/**/*.ts src/jws/**/*.ts src/jwk/*.ts src/jwks/*.ts src/util/*.ts --hideProjectName --hideGenerator --allReflectionsHaveOwnDocument --hideBreadcrumbs", + "docs:generate": "typedoc --allReflectionsHaveOwnDocument --excludePrivate --excludeProtected --gitRevision main --readme none --plugin typedoc-plugin-markdown --out docs --excludeExternals --tsconfig ./tsconfig/browser.json --hideGenerator --hideBreadcrumbs src/types.d.ts src/jwt/*.ts src/jwe/**/*.ts src/jws/**/*.ts src/jwk/*.ts src/jwks/*.ts src/util/*.ts", "esbuild-find": "find src -type f -name '*.ts' -not -path '*/runtime/*/*' -not -name '*.d.ts' -print0", "lint": "eslint --config ./src/.eslintrc.json ./src", "runtime-browser": "run-s runtime:clear runtime:browser:* runtime:refs", @@ -354,13 +354,13 @@ "ava": "^3.13.0", "bowser": "^2.11.0", "c8": "^7.3.5", - "esbuild": "0.8.31", - "eslint": "7.17.0", + "esbuild": "^0.9.2", + "eslint": "^7.22.0", "eslint-config-airbnb-base": "14.2.1", - "eslint-config-airbnb-typescript": "12.0.0", - "eslint-config-prettier": "7.1.0", + "eslint-config-airbnb-typescript": "^12.3.1", + "eslint-config-prettier": "^8.1.0", "eslint-plugin-import": "2.22.1", - "eslint-plugin-jsdoc": "30.7.13", + "eslint-plugin-jsdoc": "^32.3.0", "glob": "^7.1.6", "karma": "^5.2.3", "karma-brief-reporter": "0.2.1", @@ -371,9 +371,9 @@ "prettier": "^2.2.0", "qunit": "^2.12.0", "timekeeper": "^2.2.0", - "typedoc": "0.19.2", - "typedoc-plugin-markdown": "3.1.1", - "typescript": "4.0.5" + "typedoc": "^0.20.32", + "typedoc-plugin-markdown": "^3.6.0", + "typescript": "^4.2.3" }, "typesVersions": { "*": { diff --git a/src/jwe/compact/decrypt.ts b/src/jwe/compact/decrypt.ts index e6363faf6f..11d755d348 100644 --- a/src/jwe/compact/decrypt.ts +++ b/src/jwe/compact/decrypt.ts @@ -26,19 +26,19 @@ export interface CompactDecryptGetKey extends GetKeyFunction { +async function fromKeyLike(key: KeyLike): Promise { if (key instanceof Uint8Array) { return { kty: 'oct', @@ -40,4 +40,6 @@ export default async function fromKeyLike(key: KeyLike): Promise { return asJWK(key) } +export { fromKeyLike } +export default fromKeyLike export type { KeyLike, JWK } diff --git a/src/jwk/parse.ts b/src/jwk/parse.ts index ec1c02f1b8..80189c0472 100644 --- a/src/jwk/parse.ts +++ b/src/jwk/parse.ts @@ -19,13 +19,13 @@ import type { JWK, KeyLike } from '../types.d' * @example * ```js * // ESM import - * import parseJwk from 'jose/jwk/parse' + * import { parseJwk } from 'jose/jwk/parse' * ``` * * @example * ```js * // CJS import - * const { default: parseJwk } = require('jose/jwk/parse') + * const { parseJwk } = require('jose/jwk/parse') * ``` * * @example @@ -47,7 +47,7 @@ import type { JWK, KeyLike } from '../types.d' * }, 'PS256') * ``` */ -export default async function parseJwk( +async function parseJwk( jwk: JWK, alg?: string, octAsKeyObject?: boolean, @@ -92,4 +92,6 @@ export default async function parseJwk( } } +export { parseJwk } +export default parseJwk export type { KeyLike, JWK } diff --git a/src/jwk/thumbprint.ts b/src/jwk/thumbprint.ts index 61017e1c36..bb41e7e031 100644 --- a/src/jwk/thumbprint.ts +++ b/src/jwk/thumbprint.ts @@ -23,13 +23,13 @@ const check = (value: any, description: string) => { * @example * ```js * // ESM import - * import calculateThumbprint from 'jose/jwk/thumbprint' + * import { calculateThumbprint } from 'jose/jwk/thumbprint' * ``` * * @example * ```js * // CJS import - * const { default: calculateThumbprint } = require('jose/jwk/thumbprint') + * const { calculateThumbprint } = require('jose/jwk/thumbprint') * ``` * * @example @@ -44,7 +44,7 @@ const check = (value: any, description: string) => { * console.log(thumbprint) * ``` */ -export default async function calculateThumbprint( +async function calculateThumbprint( jwk: JWK, digestAlgorithm: 'sha256' | 'sha384' | 'sha512' = 'sha256', ): Promise { @@ -82,4 +82,6 @@ export default async function calculateThumbprint( return base64url(await digest(digestAlgorithm, data)) } +export { calculateThumbprint } +export default calculateThumbprint export type { JWK } diff --git a/src/jwks/remote.ts b/src/jwks/remote.ts index 3af34bb6ba..e7a051ff41 100644 --- a/src/jwks/remote.ts +++ b/src/jwks/remote.ts @@ -215,19 +215,19 @@ class RemoteJWKSet { * @example * ```js * // ESM import - * import createRemoteJWKSet from 'jose/jwks/remote' + * import { createRemoteJWKSet } from 'jose/jwks/remote' * ``` * * @example * ```js * // CJS import - * const { default: createRemoteJWKSet } = require('jose/jwks/remote') + * const { createRemoteJWKSet } = require('jose/jwks/remote') * ``` * * @example * ```js * // usage - * import jwtVerify from 'jose/jwt/verify' + * import { jwtVerify } from 'jose/jwt/verify' * * const JWKS = createRemoteJWKSet(new URL('https://www.googleapis.com/oauth2/v3/certs')) * @@ -242,10 +242,13 @@ class RemoteJWKSet { * @param url URL to fetch the JSON Web Key Set from. * @param options Options for the remote JSON Web Key Set. */ -export default function createRemoteJWKSet( +function createRemoteJWKSet( url: URL, options?: RemoteJWKSetOptions, ): GetKeyFunction { const set = new RemoteJWKSet(url, options) return set.getKey.bind(set) } + +export { createRemoteJWKSet } +export default createRemoteJWKSet diff --git a/src/jws/compact/sign.ts b/src/jws/compact/sign.ts index 812df31081..34970a1a6d 100644 --- a/src/jws/compact/sign.ts +++ b/src/jws/compact/sign.ts @@ -9,19 +9,19 @@ import type { JWSHeaderParameters, KeyLike, SignOptions } from '../../types.d' * @example * ```js * // ESM import - * import CompactSign from 'jose/jws/compact/sign' + * import { CompactSign } from 'jose/jws/compact/sign' * ``` * * @example * ```js * // CJS import - * const { default: CompactSign } = require('jose/jws/compact/sign') + * const { CompactSign } = require('jose/jws/compact/sign') * ``` * * @example * ```js * // usage - * import parseJwk from 'jose/jwk/parse' + * import { parseJwk } from 'jose/jwk/parse' * * const encoder = new TextEncoder() * const privateKey = await parseJwk({ @@ -40,7 +40,7 @@ import type { JWSHeaderParameters, KeyLike, SignOptions } from '../../types.d' * console.log(jws) * ``` */ -export default class CompactSign { +class CompactSign { private _flattened: FlattenedSign /** @@ -77,4 +77,6 @@ export default class CompactSign { } } +export { CompactSign } +export default CompactSign export type { JWSHeaderParameters, KeyLike } diff --git a/src/jws/compact/verify.ts b/src/jws/compact/verify.ts index f5b69d3199..6f79577612 100644 --- a/src/jws/compact/verify.ts +++ b/src/jws/compact/verify.ts @@ -27,19 +27,19 @@ export interface CompactVerifyGetKey * @example * ```js * // ESM import - * import compactVerify from 'jose/jws/compact/verify' + * import { compactVerify } from 'jose/jws/compact/verify' * ``` * * @example * ```js * // CJS import - * const { default: compactVerify } = require('jose/jws/compact/verify') + * const { compactVerify } = require('jose/jws/compact/verify') * ``` * * @example * ```js * // usage - * import parseJwk from 'jose/jwk/parse' + * import { parseJwk } from 'jose/jwk/parse' * * const decoder = new TextDecoder() * const jws = 'eyJhbGciOiJFUzI1NiJ9.SXTigJlzIGEgZGFuZ2Vyb3VzIGJ1c2luZXNzLCBGcm9kbywgZ29pbmcgb3V0IHlvdXIgZG9vci4.kkAs_gPPxWMI3rHuVlxHaTPfDWDoqdI8jSvuSmqV-8IHIWXg9mcAeC9ggV-45ZHRbiRJ3obUIFo1rHphPA5URg' @@ -57,7 +57,7 @@ export interface CompactVerifyGetKey * console.log(decoder.decode(payload)) * ``` */ -export default async function compactVerify( +async function compactVerify( jws: string | Uint8Array, key: KeyLike | CompactVerifyGetKey, options?: VerifyOptions, @@ -89,4 +89,6 @@ export default async function compactVerify( return { payload: verified.payload, protectedHeader: verified.protectedHeader! } } +export { compactVerify } +export default compactVerify export type { KeyLike, VerifyOptions } diff --git a/src/jws/flattened/sign.ts b/src/jws/flattened/sign.ts index 4d2f5a6564..6ff4221b1b 100644 --- a/src/jws/flattened/sign.ts +++ b/src/jws/flattened/sign.ts @@ -18,19 +18,19 @@ const checkExtensions = validateCrit.bind(undefined, JWSInvalid, new Map([['b64' * @example * ```js * // ESM import - * import FlattenedSign from 'jose/jws/flattened/sign' + * import { FlattenedSign } from 'jose/jws/flattened/sign' * ``` * * @example * ```js * // CJS import - * const { default: FlattenedSign } = require('jose/jws/flattened/sign') + * const { FlattenedSign } = require('jose/jws/flattened/sign') * ``` * * @example * ```js * // usage - * import parseJwk from 'jose/jwk/parse' + * import { parseJwk } from 'jose/jwk/parse' * * const encoder = new TextEncoder() * const privateKey = await parseJwk({ @@ -48,7 +48,7 @@ const checkExtensions = validateCrit.bind(undefined, JWSInvalid, new Map([['b64' * console.log(jws) * ``` */ -export default class FlattenedSign { +class FlattenedSign { private _payload: Uint8Array private _protectedHeader!: JWSHeaderParameters @@ -168,4 +168,6 @@ export default class FlattenedSign { } } +export { FlattenedSign } +export default FlattenedSign export type { KeyLike, FlattenedJWS, JWSHeaderParameters } diff --git a/src/jws/flattened/verify.ts b/src/jws/flattened/verify.ts index c168400d7d..a70e43fe50 100644 --- a/src/jws/flattened/verify.ts +++ b/src/jws/flattened/verify.ts @@ -38,19 +38,19 @@ export interface FlattenedVerifyGetKey * @example * ```js * // ESM import - * import flattenedVerify from 'jose/jws/flattened/verify' + * import { flattenedVerify } from 'jose/jws/flattened/verify' * ``` * * @example * ```js * // CJS import - * const { default: flattenedVerify } = require('jose/jws/flattened/verify') + * const { flattenedVerify } = require('jose/jws/flattened/verify') * ``` * * @example * ```js * // usage - * import parseJwk from 'jose/jwk/parse' + * import { parseJwk } from 'jose/jwk/parse' * * const decoder = new TextDecoder() * const jws = { @@ -72,7 +72,7 @@ export interface FlattenedVerifyGetKey * console.log(decoder.decode(payload)) * ``` */ -export default async function flattenedVerify( +async function flattenedVerify( jws: FlattenedJWSInput, key: KeyLike | FlattenedVerifyGetKey, options?: VerifyOptions, @@ -190,4 +190,6 @@ export default async function flattenedVerify( return result } +export { flattenedVerify } +export default flattenedVerify export type { KeyLike, FlattenedJWSInput, GetKeyFunction, JWSHeaderParameters, VerifyOptions } diff --git a/src/jws/general/sign.ts b/src/jws/general/sign.ts index 72e0c91752..0a11b1d361 100644 --- a/src/jws/general/sign.ts +++ b/src/jws/general/sign.ts @@ -69,19 +69,19 @@ class IndividualSignature implements Signature { * @example * ```js * // ESM import - * import GeneralSign from 'jose/jws/general/sign' + * import { GeneralSign } from 'jose/jws/general/sign' * ``` * * @example * ```js * // CJS import - * const { default: GeneralSign } = require('jose/jws/general/sign') + * const { GeneralSign } = require('jose/jws/general/sign') * ``` * * @example * ```js * // usage - * import parseJwk from 'jose/jwk/parse' + * import { parseJwk } from 'jose/jwk/parse' * * const encoder = new TextEncoder() * const ecPrivateKey = await parseJwk({ @@ -118,7 +118,7 @@ class IndividualSignature implements Signature { * const jws = await sign.sign() * ``` */ -export default class GeneralSign { +class GeneralSign { private _payload: Uint8Array private _signatures: IndividualSignature[] = [] @@ -182,4 +182,6 @@ export default class GeneralSign { } } +export { GeneralSign } +export default GeneralSign export type { KeyLike, GeneralJWS, JWSHeaderParameters } diff --git a/src/jws/general/verify.ts b/src/jws/general/verify.ts index 920ffd9229..0158ddbba4 100644 --- a/src/jws/general/verify.ts +++ b/src/jws/general/verify.ts @@ -28,19 +28,19 @@ export interface GeneralVerifyGetKey * @example * ```js * // ESM import - * import generalVerify from 'jose/jws/general/verify' + * import { generalVerify } from 'jose/jws/general/verify' * ``` * * @example * ```js * // CJS import - * const { default: generalVerify } = require('jose/jws/general/verify') + * const { generalVerify } = require('jose/jws/general/verify') * ``` * * @example * ```js * // usage - * import parseJwk from 'jose/jwk/parse' + * import { parseJwk } from 'jose/jwk/parse' * * const decoder = new TextDecoder() * const jws = { @@ -66,7 +66,7 @@ export interface GeneralVerifyGetKey * console.log(decoder.decode(payload)) * ``` */ -export default async function generalVerify( +async function generalVerify( jws: GeneralJWSInput, key: KeyLike | GeneralVerifyGetKey, options?: VerifyOptions, @@ -100,4 +100,6 @@ export default async function generalVerify( throw new JWSSignatureVerificationFailed() } +export { generalVerify } +export default generalVerify export type { KeyLike, GeneralJWSInput, VerifyOptions } diff --git a/src/jwt/decrypt.ts b/src/jwt/decrypt.ts index a8b6446efa..eada6d5391 100644 --- a/src/jwt/decrypt.ts +++ b/src/jwt/decrypt.ts @@ -33,13 +33,13 @@ export interface JWTDecryptGetKey extends GetKeyFunction { return generate(alg, options) } + +export { generateKeyPair } +export default generateKeyPair diff --git a/src/util/generate_secret.ts b/src/util/generate_secret.ts index 3000a7396e..65c6837bf6 100644 --- a/src/util/generate_secret.ts +++ b/src/util/generate_secret.ts @@ -7,13 +7,13 @@ import type { KeyLike } from '../types.d' * @example * ```js * // ESM import - * import generateSecret from 'jose/util/generate_secret' + * import { generateSecret } from 'jose/util/generate_secret' * ``` * * @example * ```js * // CJS import - * const { default: generateSecret } = require('jose/util/generate_secret') + * const { generateSecret } = require('jose/util/generate_secret') * ``` * * @example @@ -25,6 +25,9 @@ import type { KeyLike } from '../types.d' * * @param alg JWA Algorithm Identifier to be used with the generated secret. */ -export default async function generateSecret(alg: string): Promise { +async function generateSecret(alg: string): Promise { return generate(alg) } + +export { generateSecret } +export default generateSecret diff --git a/src/util/random.ts b/src/util/random.ts index 669e2bf046..10c2db9f8a 100644 --- a/src/util/random.ts +++ b/src/util/random.ts @@ -5,4 +5,5 @@ interface GetRandomValuesFunction { } const random: GetRandomValuesFunction = runtimeRandom +export { random } export default random diff --git a/tools/docs.postbump.js b/tools/docs.postbump.js index 3ac8dbe747..5634202e80 100755 --- a/tools/docs.postbump.js +++ b/tools/docs.postbump.js @@ -2,29 +2,12 @@ require("./explode-exports"); const { execSync } = require("child_process"); const { readFileSync, writeFileSync } = require("fs"); const { version } = require("../package.json"); -const { sync: glob } = require("glob"); const readme = readFileSync("docs/README.md"); const tagName = `v${version}`; +execSync("git rm docs/**/*.md"); execSync('find docs -type d | grep "docs/" | xargs rm -rf'); -writeFileSync( - "node_modules/typedoc-plugin-markdown/dist/resources/partials/member.sources.hbs", - readFileSync("tools/member.sources.hbs") -); -writeFileSync( - "node_modules/typedoc-plugin-markdown/dist/resources/templates/reflection.hbs", - readFileSync("tools/reflection.hbs") -); execSync(`npm run docs:generate -- --gitRevision ${tagName}`); -glob("docs/**/*.md").forEach((md) => { - writeFileSync( - md, - readFileSync(md) - .toString() - .replace(/```\n\/\//g, "```js\n//") - .replace(/undefined \\\| /g, "") - ); -}); writeFileSync("docs/README.md", readme); execSync("git add docs/**/*.md"); diff --git a/tools/member.sources.hbs b/tools/member.sources.hbs deleted file mode 100644 index eaa6625687..0000000000 --- a/tools/member.sources.hbs +++ /dev/null @@ -1,33 +0,0 @@ -{{#if implementationOf}} - -*Implementation of {{#with implementationOf}}{{typeAndParent}}{{/with}}* - -{{/if}} - -{{#if overwrites}} - -*Overrides {{#with overwrites}}{{typeAndParent}}{{/with}}* - -{{/if}} - -{{#ifShowSources}} - -{{#if sources}} - -{{#each sources}} - -{{#if url}} - -*Defined in [{{fileName}}:{{line}}]({{url}})* - -{{else}} - -*Defined in {{fileName}}:{{line}}* - -{{/if}} - -{{/each}} - -{{/if}} - -{{/ifShowSources}} diff --git a/tools/publish-browser.js b/tools/publish-browser.js new file mode 100755 index 0000000000..c3591b821a --- /dev/null +++ b/tools/publish-browser.js @@ -0,0 +1,73 @@ +const { readFileSync, writeFileSync, unlinkSync } = require("fs"); + +const pkg = JSON.parse(readFileSync("./package.json")); +delete pkg.devDependencies; +delete pkg.scripts; +delete pkg.imports; + +pkg.description = pkg.description.replace( + "Universal ", + "(Browser Runtime) " +); + +for (const exportPath of Object.keys(pkg.exports)) { + if (exportPath.startsWith("./webcrypto")) { + delete pkg.exports[exportPath]; + } else if ( + typeof pkg.exports[exportPath] === "object" && + "browser" in pkg.exports[exportPath] + ) { + pkg.exports[exportPath] = pkg.exports[exportPath].browser; + } +} +delete pkg.typesVersions['*']['webcrypto/*'] + +const deletedKeywords = new Set([ + "okp", + "secp256k1", + "universal", + "eddsa", + "isomorphic", + "electron", +]); +pkg.keywords = pkg.keywords.filter((keyword) => { + return !deletedKeywords.has(keyword); +}); + +pkg.files.push("!dist/node/**/*"); +pkg.files.push("!dist/**/package.json"); + +pkg.name = "jose-browser-runtime"; +pkg.type = "module"; + +writeFileSync("./package.json", JSON.stringify(pkg, null, 2) + "\n"); +writeFileSync( + "./README.md", + `# jose + +> ${pkg.description} using Web Cryptography API. + +⚠️ This distribution only supports the Browser runtime. +Its purpose is to offer a distribution of \`jose\` with a smaller bundle/install +size before tree-shaking. + +For the universal module see [npmjs.com/package/jose](https://www.npmjs.com/package/jose) + +## Support + +If you or your business use \`jose\`, please consider becoming a [sponsor][support-sponsor] so I can continue maintaining it and adding new features carefree. + +## Install + +\`\`\`console +npm install jose@npm:${pkg.name} +\`\`\` + +## Documentation + +See [${pkg.homepage.replace("https://", "")}](${pkg.homepage}) + +[support-sponsor]: https://github.com/sponsors/panva +` +); +unlinkSync("./CHANGELOG.md"); diff --git a/tools/publish-node-cjs.js b/tools/publish-node-cjs.js new file mode 100755 index 0000000000..1715da6171 --- /dev/null +++ b/tools/publish-node-cjs.js @@ -0,0 +1,70 @@ +const { readFileSync, writeFileSync, unlinkSync } = require("fs"); + +const pkg = JSON.parse(readFileSync("./package.json")); +delete pkg.devDependencies; +delete pkg.scripts; +delete pkg.imports; + +pkg.description = pkg.description.replace( + "Universal ", + "(Node.JS CJS Runtime) " +); + +for (const exportPath of Object.keys(pkg.exports)) { + if (exportPath.startsWith("./webcrypto")) { + delete pkg.exports[exportPath]; + } else if ( + typeof pkg.exports[exportPath] === "object" && + "require" in pkg.exports[exportPath] + ) { + pkg.exports[exportPath] = pkg.exports[exportPath].require; + } +} +delete pkg.typesVersions['*']['webcrypto/*'] + +const deletedKeywords = new Set([ + "browser", + "isomorphic", + "universal", + "webcrypto", +]); +pkg.keywords = pkg.keywords.filter((keyword) => { + return !deletedKeywords.has(keyword); +}); + +pkg.files.push("!dist/browser/**/*"); +pkg.files.push("!dist/node/esm/**/*"); + +pkg.name = "jose-node-cjs-runtime"; + +writeFileSync("./package.json", JSON.stringify(pkg, null, 2) + "\n"); +writeFileSync( + "./README.md", + `# jose + +> ${pkg.description} using the Node.js \`crypto\` module. + +⚠️ This distribution only supports the Node.js runtime. +Its purpose is to offer a distribution of \`jose\` with a smaller bundle/install +size. It is a CJS (CommonJS) module. + +For the universal module see [npmjs.com/package/jose](https://www.npmjs.com/package/jose) + +## Support + +If you or your business use \`jose\`, please consider becoming a [sponsor][support-sponsor] so I can continue maintaining it and adding new features carefree. + +## Install + +\`\`\`console +npm install jose@npm:${pkg.name} +\`\`\` + +## Documentation + +See [${pkg.homepage.replace("https://", "")}](${pkg.homepage}) + +[support-sponsor]: https://github.com/sponsors/panva +` +); +unlinkSync("./CHANGELOG.md"); diff --git a/tools/publish-node-esm.js b/tools/publish-node-esm.js new file mode 100755 index 0000000000..609ff87745 --- /dev/null +++ b/tools/publish-node-esm.js @@ -0,0 +1,72 @@ +const { readFileSync, writeFileSync, unlinkSync } = require("fs"); + +const pkg = JSON.parse(readFileSync("./package.json")); +delete pkg.devDependencies; +delete pkg.scripts; +delete pkg.imports; + +pkg.description = pkg.description.replace( + "Universal ", + "(Node.JS ESM Runtime) " +); + +for (const exportPath of Object.keys(pkg.exports)) { + if (exportPath.startsWith("./webcrypto")) { + delete pkg.exports[exportPath]; + } else if ( + typeof pkg.exports[exportPath] === "object" && + "import" in pkg.exports[exportPath] + ) { + pkg.exports[exportPath] = pkg.exports[exportPath].import; + } +} +delete pkg.typesVersions['*']['webcrypto/*'] + +const deletedKeywords = new Set([ + "browser", + "isomorphic", + "universal", + "webcrypto", +]); +pkg.keywords = pkg.keywords.filter((keyword) => { + return !deletedKeywords.has(keyword); +}); + +pkg.files.push("!dist/browser/**/*"); +pkg.files.push("!dist/node/cjs/**/*"); +pkg.files.push("!dist/**/package.json"); + +pkg.name = "jose-node-esm-runtime"; +pkg.type = "module"; + +writeFileSync("./package.json", JSON.stringify(pkg, null, 2) + "\n"); +writeFileSync( + "./README.md", + `# jose + +> ${pkg.description} using the Node.js \`crypto\` module. + +⚠️ This distribution only supports the Node.js runtime. +Its purpose is to offer a distribution of \`jose\` with a smaller bundle/install +size. It is an ECMAScript Module (ESM). + +For the universal module see [npmjs.com/package/jose](https://www.npmjs.com/package/jose) + +## Support + +If you or your business use \`jose\`, please consider becoming a [sponsor][support-sponsor] so I can continue maintaining it and adding new features carefree. + +## Install + +\`\`\`console +npm install jose@npm:${pkg.name} +\`\`\` + +## Documentation + +See [${pkg.homepage.replace("https://", "")}](${pkg.homepage}) + +[support-sponsor]: https://github.com/sponsors/panva +` +); +unlinkSync("./CHANGELOG.md"); diff --git a/tools/publish-universal.js b/tools/publish-universal.js new file mode 100755 index 0000000000..10da6f6276 --- /dev/null +++ b/tools/publish-universal.js @@ -0,0 +1,9 @@ +const { readFileSync, writeFileSync, unlinkSync } = require("fs"); + +const pkg = JSON.parse(readFileSync("./package.json")); +delete pkg.devDependencies; +delete pkg.scripts; +delete pkg.imports; + +writeFileSync("./package.json", JSON.stringify(pkg, null, 2) + "\n"); +unlinkSync("./CHANGELOG.md"); diff --git a/tools/reflection.hbs b/tools/reflection.hbs deleted file mode 100644 index b3d12a2006..0000000000 --- a/tools/reflection.hbs +++ /dev/null @@ -1,83 +0,0 @@ -{{> header showTitle=true}} - -{{#with model}} - -{{#if hasComment}} - -{{> comment}} - -{{/if}} - -{{/with}} - -{{#if model.typeParameters}} - -## Type parameters - -{{#with model.typeParameters}} - -{{{parameterTable 'typeParameters'}}} - -{{/with}} - -{{/if}} - -{{#if model.implementedTypes}} - -## Implements - -{{#each model.implementedTypes}} -* {{{type false}}} -{{/each}} - -{{/if}} - -{{#if model.implementedBy}} - -## Implemented by - -{{#each model.implementedBy}} -* {{{type false}}} -{{/each}} - -{{/if}} - -{{#if model.signatures}} - -## Callable - -{{#with model}} - -{{#each signatures}} - -{{> member.signature }} - -{{/each}} - -{{/with}} - -{{/if}} - -{{#if model.indexSignature}} - -## Indexable - -{{#with model}} - -{{#with indexSignature}} - -{{{indexSignatureTitle}}} - -{{> comment}} - -{{/with}} - -{{/with}} - -{{/if}} - -{{#with model}} - -{{> main}} - -{{/with}} diff --git a/tools/release-browser.js b/tools/release-browser.js deleted file mode 100755 index 3f7773c181..0000000000 --- a/tools/release-browser.js +++ /dev/null @@ -1,83 +0,0 @@ -const { readFileSync, writeFileSync, unlinkSync } = require("fs"); -const { execSync } = require("child_process"); - -const originalREADME = readFileSync("./README.md"); -const originalPackage = readFileSync("./package.json"); -const originalChangelog = readFileSync("./CHANGELOG.md"); -const package = JSON.parse(readFileSync("./package.json")); -delete package.devDependencies; -delete package.scripts; -delete package.imports; - -package.description = package.description.replace( - "Universal ", - "(Browser Runtime) " -); - -for (const exportPath of Object.keys(package.exports)) { - if (exportPath.startsWith("./webcrypto")) { - delete package.exports[exportPath]; - } else if ( - typeof package.exports[exportPath] === "object" && - "browser" in package.exports[exportPath] - ) { - package.exports[exportPath] = package.exports[exportPath].browser; - } -} - -const deletedKeywords = new Set([ - "okp", - "secp256k1", - "universal", - "eddsa", - "isomorphic", - "electron", -]); -package.keywords = package.keywords.filter((keyword) => { - return !deletedKeywords.has(keyword); -}); - -package.files.push("!dist/node/**/*"); -package.files.push("!dist/**/package.json"); - -package.name = "jose-browser-runtime"; -package.type = "module"; - -writeFileSync("./package.json", JSON.stringify(package, null, 2) + "\n"); -writeFileSync( - "./README.md", - `# jose - -> ${package.description} using Web Cryptography API. - -⚠️ This distribution only supports the Browser ESM runtime. -Its purpose is to offer a distribution of \`jose\` with a smaller bundle/install -size before tree-shaking. - -For the universal module see [npmjs.com/package/jose](https://www.npmjs.com/package/jose) - -## Support - -If you or your business use \`jose\`, please consider becoming a [sponsor][support-sponsor] so I can continue maintaining it and adding new features carefree. - -## Install - -\`\`\`console -npm install jose@npm:${package.name} -\`\`\` - -## Documentation - -See [${package.homepage.replace("https://", "")}](${package.homepage}) - -[support-sponsor]: https://github.com/sponsors/panva -` -); -unlinkSync("./CHANGELOG.md"); - -// Release -execSync("npm publish"); - -writeFileSync("./package.json", originalPackage); -writeFileSync("./CHANGELOG.md", originalChangelog); -writeFileSync("./README.md", originalREADME); diff --git a/tools/release-node-cjs.js b/tools/release-node-cjs.js deleted file mode 100755 index 7179bf0aa5..0000000000 --- a/tools/release-node-cjs.js +++ /dev/null @@ -1,80 +0,0 @@ -const { readFileSync, writeFileSync, unlinkSync } = require("fs"); -const { execSync } = require("child_process"); - -const originalREADME = readFileSync("./README.md"); -const originalPackage = readFileSync("./package.json"); -const originalChangelog = readFileSync("./CHANGELOG.md"); -const package = JSON.parse(readFileSync("./package.json")); -delete package.devDependencies; -delete package.scripts; -delete package.imports; - -package.description = package.description.replace( - "Universal ", - "(Node.JS CJS Runtime) " -); - -for (const exportPath of Object.keys(package.exports)) { - if (exportPath.startsWith("./webcrypto")) { - delete package.exports[exportPath]; - } else if ( - typeof package.exports[exportPath] === "object" && - "import" in package.exports[exportPath] - ) { - package.exports[exportPath] = package.exports[exportPath].import; - } -} - -const deletedKeywords = new Set([ - "browser", - "isomorphic", - "universal", - "webcrypto", -]); -package.keywords = package.keywords.filter((keyword) => { - return !deletedKeywords.has(keyword); -}); - -package.files.push("!dist/browser/**/*"); -package.files.push("!dist/node/esm/**/*"); - -package.name = "jose-node-cjs-runtime"; - -writeFileSync("./package.json", JSON.stringify(package, null, 2) + "\n"); -writeFileSync( - "./README.md", - `# jose - -> ${package.description} using the Node.js \`crypto\` module. - -⚠️ This distribution only supports the Browser CJS runtime. -Its purpose is to offer a distribution of \`jose\` with a smaller bundle/install -size. - -For the universal module see [npmjs.com/package/jose](https://www.npmjs.com/package/jose) - -## Support - -If you or your business use \`jose\`, please consider becoming a [sponsor][support-sponsor] so I can continue maintaining it and adding new features carefree. - -## Install - -\`\`\`console -npm install jose@npm:${package.name} -\`\`\` - -## Documentation - -See [${package.homepage.replace("https://", "")}](${package.homepage}) - -[support-sponsor]: https://github.com/sponsors/panva -` -); -unlinkSync("./CHANGELOG.md"); - -// Release -execSync("npm publish"); - -writeFileSync("./package.json", originalPackage); -writeFileSync("./CHANGELOG.md", originalChangelog); -writeFileSync("./README.md", originalREADME); diff --git a/tools/release-node-esm.js b/tools/release-node-esm.js deleted file mode 100755 index bb9debadcd..0000000000 --- a/tools/release-node-esm.js +++ /dev/null @@ -1,82 +0,0 @@ -const { readFileSync, writeFileSync, unlinkSync } = require("fs"); -const { execSync } = require("child_process"); - -const originalREADME = readFileSync("./README.md"); -const originalPackage = readFileSync("./package.json"); -const originalChangelog = readFileSync("./CHANGELOG.md"); -const package = JSON.parse(readFileSync("./package.json")); -delete package.devDependencies; -delete package.scripts; -delete package.imports; - -package.description = package.description.replace( - "Universal ", - "(Node.JS ESM Runtime) " -); - -for (const exportPath of Object.keys(package.exports)) { - if (exportPath.startsWith("./webcrypto")) { - delete package.exports[exportPath]; - } else if ( - typeof package.exports[exportPath] === "object" && - "import" in package.exports[exportPath] - ) { - package.exports[exportPath] = package.exports[exportPath].import; - } -} - -const deletedKeywords = new Set([ - "browser", - "isomorphic", - "universal", - "webcrypto", -]); -package.keywords = package.keywords.filter((keyword) => { - return !deletedKeywords.has(keyword); -}); - -package.files.push("!dist/browser/**/*"); -package.files.push("!dist/node/cjs/**/*"); -package.files.push("!dist/**/package.json"); - -package.name = "jose-node-esm-runtime"; -package.type = "module"; - -writeFileSync("./package.json", JSON.stringify(package, null, 2) + "\n"); -writeFileSync( - "./README.md", - `# jose - -> ${package.description} using the Node.js \`crypto\` module. - -⚠️ This distribution only supports the Browser ESM runtime. -Its purpose is to offer a distribution of \`jose\` with a smaller bundle/install -size. - -For the universal module see [npmjs.com/package/jose](https://www.npmjs.com/package/jose) - -## Support - -If you or your business use \`jose\`, please consider becoming a [sponsor][support-sponsor] so I can continue maintaining it and adding new features carefree. - -## Install - -\`\`\`console -npm install jose@npm:${package.name} -\`\`\` - -## Documentation - -See [${package.homepage.replace("https://", "")}](${package.homepage}) - -[support-sponsor]: https://github.com/sponsors/panva -` -); -unlinkSync("./CHANGELOG.md"); - -// Release -execSync("npm publish"); - -writeFileSync("./package.json", originalPackage); -writeFileSync("./CHANGELOG.md", originalChangelog); -writeFileSync("./README.md", originalREADME); diff --git a/tools/release-universal.js b/tools/release-universal.js deleted file mode 100755 index 75ce0dd287..0000000000 --- a/tools/release-universal.js +++ /dev/null @@ -1,18 +0,0 @@ -const { readFileSync, writeFileSync, unlinkSync } = require("fs"); -const { execSync } = require("child_process"); - -const originalPackage = readFileSync("./package.json"); -const originalChangelog = readFileSync("./CHANGELOG.md"); -const package = JSON.parse(readFileSync("./package.json")); -delete package.devDependencies; -delete package.scripts; -delete package.imports; - -writeFileSync("./package.json", JSON.stringify(package, null, 2) + "\n"); -unlinkSync("./CHANGELOG.md"); - -// Release -execSync("npm publish"); - -writeFileSync("./package.json", originalPackage); -writeFileSync("./CHANGELOG.md", originalChangelog);