1
0

Compare commits

...

5 Commits

Author SHA1 Message Date
9b5be8b554 update dev dependencies 2024-09-28 02:27:45 +02:00
fc72ce01d5 npm audit fix 2024-09-28 02:26:51 +02:00
Abiria
b46db60e45 fix: include esbuild as devDependency 2024-09-28 02:24:48 +02:00
2d7eed49da audit fix 2024-07-15 22:13:45 +02:00
Denbeigh Stevens
7468a3e102 fix sign/verify secret typing 2024-06-23 23:00:40 +02:00
4 changed files with 981 additions and 752 deletions

View File

@@ -86,11 +86,11 @@ Signs a payload and returns the token.
Argument | Type | Status | Default | Description
------------------------ | ------------------ | -------- | ----------- | -----------
`payload` | `object` | required | - | The payload object. To use `nbf` (Not Before) and/or `exp` (Expiration Time) add `nbf` and/or `exp` to the payload.
`secret` | `string` | required | - | A string which is used to sign the payload.
`options` | `string`, `object` | optional | `HS256` | Either the `algorithm` string or an object.
`options.algorithm` | `string` | optional | `HS256` | See [Available Algorithms](#available-algorithms)
`options.keyid` | `string` | optional | `undefined` | The `keyid` or `kid` to be set in the header of the resulting JWT.
`payload` | `object` | required | - | The payload object. To use `nbf` (Not Before) and/or `exp` (Expiration Time) add `nbf` and/or `exp` to the payload.
`secret` | `string`, `JsonWebKey`, `CryptoKey` | required | - | A string which is used to sign the payload.
`options` | `string`, `object` | optional | `HS256` | Either the `algorithm` string or an object.
`options.algorithm` | `string` | optional | `HS256` | See [Available Algorithms](#available-algorithms)
`options.keyid` | `string` | optional | `undefined` | The `keyid` or `kid` to be set in the header of the resulting JWT.
#### `return`
Returns token as a `string`.
@@ -104,12 +104,12 @@ Verifies the integrity of the token and returns a boolean value.
Argument | Type | Status | Default | Description
------------------------ | ------------------ | -------- | ------- | -----------
`token` | `string` | required | - | The token string generated by `jwt.sign()`.
`secret` | `string` | required | - | The string which was used to sign the payload.
`options` | `string`, `object` | optional | `HS256` | Either the `algorithm` string or an object.
`options.algorithm` | `string` | optional | `HS256` | See [Available Algorithms](#available-algorithms)
`options.clockTolerance` | `number` | optional | `0` | Clock tolerance in seconds, to help with slighly out of sync systems.
`options.throwError` | `boolean` | optional | `false` | By default this we will only throw implementation errors, only set this to `true` if you want verification errors to be thrown as well.
`token` | `string` | required | - | The token string generated by `jwt.sign()`.
`secret` | `string`, `JsonWebKey`, `CryptoKey` | required | - | The string which was used to sign the payload.
`options` | `string`, `object` | optional | `HS256` | Either the `algorithm` string or an object.
`options.algorithm` | `string` | optional | `HS256` | See [Available Algorithms](#available-algorithms)
`options.clockTolerance` | `number` | optional | `0` | Clock tolerance in seconds, to help with slighly out of sync systems.
`options.throwError` | `boolean` | optional | `false` | By default this we will only throw implementation errors, only set this to `true` if you want verification errors to be thrown as well.
#### `throws`

1700
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@@ -30,9 +30,10 @@
},
"homepage": "https://github.com/tsndr/cloudflare-worker-jwt#readme",
"devDependencies": {
"@cloudflare/workers-types": "^4.20240208.0",
"@edge-runtime/vm": "^3.2.0",
"typescript": "^5.3.3",
"vitest": "^1.3.1"
"@cloudflare/workers-types": "^4.20240925.0",
"@edge-runtime/vm": "^4.0.3",
"esbuild": "^0.24.0",
"typescript": "^5.6.2",
"vitest": "^2.1.1"
}
}

View File

@@ -143,7 +143,7 @@ const algorithms: JwtAlgorithms = {
* @throws {Error} If there"s a validation issue.
* @returns {Promise<string>} Returns token as a `string`.
*/
export async function sign<Payload = {}, Header = {}>(payload: JwtPayload<Payload>, secret: string | JsonWebKey, options: JwtSignOptions<Header> | JwtAlgorithm = "HS256"): Promise<string> {
export async function sign<Payload = {}, Header = {}>(payload: JwtPayload<Payload>, secret: string | JsonWebKey | CryptoKey, options: JwtSignOptions<Header> | JwtAlgorithm = "HS256"): Promise<string> {
if (typeof options === "string")
options = { algorithm: options }