Skip to content

Commit

Permalink
refactor: rename calculateThumprint to calculateJwkThumbprint
Browse files Browse the repository at this point in the history
BREAKING CHANGE: The `jose/jwk/thumbprint` named export
is renamed to `calculateJwkThumbprint`, now
`import { calculateJwkThumbprint } from 'jose'`
  • Loading branch information
panva committed Oct 14, 2021
1 parent 8d3cc3b commit 5afb713
Show file tree
Hide file tree
Showing 8 changed files with 24 additions and 24 deletions.
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ If you or your business use `jose`, please consider becoming a [sponsor][support
- 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)
- [Thumbprints](docs/functions/jwk_thumbprint.calculateThumbprint.md#readme)
- [Thumbprints](docs/functions/jwk_thumbprint.calculateJwkThumbprint.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)
Expand Down
2 changes: 1 addition & 1 deletion docs/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ If you or your business use `jose`, please consider becoming a [sponsor][support
- 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)
- [Thumbprints](functions/jwk_thumbprint.calculateThumbprint.md#readme)
- [Thumbprints](functions/jwk_thumbprint.calculateJwkThumbprint.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)
Expand Down
Original file line number Diff line number Diff line change
@@ -1,28 +1,28 @@
# Function: calculateThumbprint
# Function: calculateJwkThumbprint

**calculateThumbprint**(`jwk`, `digestAlgorithm?`): `Promise`<`string`\>
**calculateJwkThumbprint**(`jwk`, `digestAlgorithm?`): `Promise`<`string`\>

Calculates a base64url-encoded JSON Web Key (JWK) Thumbprint as per
[RFC7638](https://tools.ietf.org/html/rfc7638).

**`example`** ESM import
```js
import { calculateThumbprint } from 'jose/jwk/thumbprint'
import { calculateJwkThumbprint } from 'jose/jwk/thumbprint'
```

**`example`** CJS import
```js
const { calculateThumbprint } = require('jose/jwk/thumbprint')
const { calculateJwkThumbprint } = require('jose/jwk/thumbprint')
```

**`example`** Deno import
```js
import { calculateThumbprint } from 'https://deno.land/x/jose@v3.20.3/jwk/thumbprint.ts'
import { calculateJwkThumbprint } from 'https://deno.land/x/jose@v3.20.2/jwk/thumbprint.ts'
```

**`example`** Usage
```js
const thumbprint = await calculateThumbprint({
const thumbprint = await calculateJwkThumbprint({
kty: 'RSA',
e: 'AQAB',
n: '12oBZRhCiZFJLcPg59LkZZ9mdhSMTKAQZYq32k_ti5SBB6jerkh-WzOMAO664r_qyLkqHUSp3u5SbXtseZEpN3XPWGKSxjsy-1JyEFTdLSYe6f9gfrmxkUF_7DTpq0gn6rntP05g2-wFW50YO7mosfdslfrTJYWHFhJALabAeYirYD7-9kqq9ebfFMF4sRRELbv9oi36As6Q9B3Qb5_C1rAzqfao_PCsf9EPsTZsVVVkA5qoIAr47lo1ipfiBPxUCCNSdvkmDTYgvvRm6ZoMjFbvOtgyts55fXKdMWv7I9HMD5HwE9uW839PWA514qhbcIsXEYSFMPMV6fnlsiZvQQ'
Expand Down
4 changes: 2 additions & 2 deletions docs/modules/jwk_thumbprint.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@

### Functions

- [calculateThumbprint](../functions/jwk_thumbprint.calculateThumbprint.md)
- [calculateJwkThumbprint](../functions/jwk_thumbprint.calculateJwkThumbprint.md)

## References

Expand All @@ -21,4 +21,4 @@ ___

### default

Renames and exports: [calculateThumbprint](../functions/jwk_thumbprint.calculateThumbprint.md)
Renames and exports: [calculateJwkThumbprint](../functions/jwk_thumbprint.calculateJwkThumbprint.md)
14 changes: 7 additions & 7 deletions src/jwk/thumbprint.ts
Original file line number Diff line number Diff line change
Expand Up @@ -22,22 +22,22 @@ const check = (value: unknown, description: string) => {
*
* @example ESM import
* ```js
* import { calculateThumbprint } from 'jose/jwk/thumbprint'
* import { calculateJwkThumbprint } from 'jose/jwk/thumbprint'
* ```
*
* @example CJS import
* ```js
* const { calculateThumbprint } = require('jose/jwk/thumbprint')
* const { calculateJwkThumbprint } = require('jose/jwk/thumbprint')
* ```
*
* @example Deno import
* ```js
* import { calculateThumbprint } from 'https://deno.land/x/jose@VERSION/jwk/thumbprint.ts'
* import { calculateJwkThumbprint } from 'https://deno.land/x/jose@VERSION/jwk/thumbprint.ts'
* ```
*
* @example Usage
* ```js
* const thumbprint = await calculateThumbprint({
* const thumbprint = await calculateJwkThumbprint({
* kty: 'RSA',
* e: 'AQAB',
* n: '12oBZRhCiZFJLcPg59LkZZ9mdhSMTKAQZYq32k_ti5SBB6jerkh-WzOMAO664r_qyLkqHUSp3u5SbXtseZEpN3XPWGKSxjsy-1JyEFTdLSYe6f9gfrmxkUF_7DTpq0gn6rntP05g2-wFW50YO7mosfdslfrTJYWHFhJALabAeYirYD7-9kqq9ebfFMF4sRRELbv9oi36As6Q9B3Qb5_C1rAzqfao_PCsf9EPsTZsVVVkA5qoIAr47lo1ipfiBPxUCCNSdvkmDTYgvvRm6ZoMjFbvOtgyts55fXKdMWv7I9HMD5HwE9uW839PWA514qhbcIsXEYSFMPMV6fnlsiZvQQ'
Expand All @@ -46,7 +46,7 @@ const check = (value: unknown, description: string) => {
* console.log(thumbprint)
* ```
*/
async function calculateThumbprint(
async function calculateJwkThumbprint(
jwk: JWK,
digestAlgorithm: 'sha256' | 'sha384' | 'sha512' = 'sha256',
): Promise<string> {
Expand Down Expand Up @@ -84,6 +84,6 @@ async function calculateThumbprint(
return base64url(await digest(digestAlgorithm, data))
}

export { calculateThumbprint }
export default calculateThumbprint
export { calculateJwkThumbprint }
export default calculateJwkThumbprint
export type { JWK }
6 changes: 3 additions & 3 deletions test-browser/keylike.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,20 +2,20 @@ import * as Bowser from 'bowser';

import { importJWK } from '../dist/browser/key/import.js';
import { exportJWK } from '../dist/browser/key/export.js';
import calculateThumbprint from '../dist/browser/jwk/thumbprint.js';
import calculateJwkThumbprint from '../dist/browser/jwk/thumbprint.js';

const browser = Bowser.parse(window.navigator.userAgent);

const p521 = browser.engine.name !== 'WebKit';

async function test(jwk, alg, assert) {
await calculateThumbprint(jwk);
await calculateJwkThumbprint(jwk);
const keyLike = await importJWK({ ...jwk, ext: true }, alg);
assert.deepEqual(await exportJWK(keyLike), jwk);
}

async function failing(jwk, alg, assert) {
await calculateThumbprint(jwk);
await calculateJwkThumbprint(jwk);
await assert.rejects(test.bind(undefined, jwk, alg)(assert));
}

Expand Down
2 changes: 1 addition & 1 deletion test-deno/imports.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ Deno.test('imports EmbeddedJWK', async () => {
await import('../dist/deno/jwk/embedded.ts');
});

Deno.test('imports calculateThumbprint', async () => {
Deno.test('imports calculateJwkThumbprint', async () => {
await import('../dist/deno/jwk/thumbprint.ts');
});

Expand Down
6 changes: 3 additions & 3 deletions test-deno/keylike.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,16 +2,16 @@ import { assertEquals, assertThrowsAsync } from 'https://deno.land/std@0.109.0/t

import { importJWK } from '../dist/deno/key/import.ts';
import { exportJWK } from '../dist/deno/key/export.ts';
import calculateThumbprint from '../dist/deno/jwk/thumbprint.ts';
import calculateJwkThumbprint from '../dist/deno/jwk/thumbprint.ts';

async function test(jwk: { [key: string]: unknown }, alg: string) {
await calculateThumbprint(jwk);
await calculateJwkThumbprint(jwk);
const keyLike = await importJWK({ ...jwk, ext: true }, alg);
assertEquals(await exportJWK(keyLike), jwk);
}

async function failing(jwk: { [key: string]: unknown }, alg: string) {
await calculateThumbprint(jwk);
await calculateJwkThumbprint(jwk);
return assertThrowsAsync(() => test(jwk, alg));
}

Expand Down

0 comments on commit 5afb713

Please sign in to comment.