Compare commits
2 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
06c5605bf2
|
|||
|
a4edaba6f0
|
4
package-lock.json
generated
4
package-lock.json
generated
@@ -1,12 +1,12 @@
|
||||
{
|
||||
"name": "@tsndr/cloudflare-worker-jwt",
|
||||
"version": "3.1.6",
|
||||
"version": "3.1.7",
|
||||
"lockfileVersion": 3,
|
||||
"requires": true,
|
||||
"packages": {
|
||||
"": {
|
||||
"name": "@tsndr/cloudflare-worker-jwt",
|
||||
"version": "3.1.6",
|
||||
"version": "3.1.7",
|
||||
"license": "MIT",
|
||||
"devDependencies": {
|
||||
"@cloudflare/workers-types": "^4.20250525.0",
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@tsndr/cloudflare-worker-jwt",
|
||||
"version": "3.1.6",
|
||||
"version": "3.1.7",
|
||||
"description": "A lightweight JWT implementation with ZERO dependencies for Cloudflare Worker",
|
||||
"type": "module",
|
||||
"exports": "./index.js",
|
||||
|
||||
@@ -13,27 +13,27 @@ describe("Verify", async () => {
|
||||
const notYetValidToken = await jwt.sign({ sub: "me", nbf: now + offset }, secret)
|
||||
const expiredToken = await jwt.sign({ sub: "me", exp: now - offset }, secret)
|
||||
|
||||
test("Valid", () => {
|
||||
expect(jwt.verify(validToken, secret, { throwError: true })).resolves.toBeTruthy()
|
||||
test("Valid", async () => {
|
||||
await expect(jwt.verify(validToken, secret, { throwError: true })).resolves.toBeTruthy()
|
||||
})
|
||||
|
||||
test("Not yet expired", () => {
|
||||
expect(jwt.verify(notYetExpired, secret, { throwError: true })).resolves.toBeTruthy()
|
||||
test("Not yet expired", async () => {
|
||||
await expect(jwt.verify(notYetExpired, secret, { throwError: true })).resolves.toBeTruthy()
|
||||
})
|
||||
|
||||
test("Not yet valid", () => {
|
||||
expect(jwt.verify(notYetValidToken, secret, { throwError: true })).rejects.toThrowError("NOT_YET_VALID")
|
||||
test("Not yet valid", async () => {
|
||||
await expect(jwt.verify(notYetValidToken, secret, { throwError: true })).rejects.toThrowError("NOT_YET_VALID")
|
||||
})
|
||||
|
||||
test("Expired", () => {
|
||||
expect(jwt.verify(expiredToken, secret, { throwError: true })).rejects.toThrowError("EXPIRED")
|
||||
test("Expired", async () => {
|
||||
await expect(jwt.verify(expiredToken, secret, { throwError: true })).rejects.toThrowError("EXPIRED")
|
||||
})
|
||||
|
||||
test("Clock offset", () => {
|
||||
expect(jwt.verify(notYetValidToken, secret, { clockTolerance: offset, throwError: true })).resolves.toBeTruthy()
|
||||
expect(jwt.verify(expiredToken, secret, { clockTolerance: offset, throwError: true })).resolves.toBeTruthy()
|
||||
test("Clock offset", async () => {
|
||||
await expect(jwt.verify(notYetValidToken, secret, { clockTolerance: offset, throwError: true })).resolves.toBeTruthy()
|
||||
await expect(jwt.verify(expiredToken, secret, { clockTolerance: offset, throwError: true })).resolves.toBeTruthy()
|
||||
|
||||
expect(jwt.verify(notYetValidToken, secret, { clockTolerance: offset - 1, throwError: true })).rejects.toThrowError("NOT_YET_VALID")
|
||||
expect(jwt.verify(expiredToken, secret, { clockTolerance: offset - 1, throwError: true })).rejects.toThrowError("EXPIRED")
|
||||
await expect(jwt.verify(notYetValidToken, secret, { clockTolerance: offset - 1, throwError: true })).rejects.toThrowError("NOT_YET_VALID")
|
||||
await expect(jwt.verify(expiredToken, secret, { clockTolerance: offset - 1, throwError: true })).rejects.toThrowError("EXPIRED")
|
||||
})
|
||||
})
|
||||
@@ -67,7 +67,7 @@ describe("Imports", () => {
|
||||
const testAlgorithm = { name: "HMAC", hash: { name: "SHA-256" } }
|
||||
const testCryptoKey = { type: "secret", extractable: true, algorithm: { ...testAlgorithm, length: 168 }, usages: ["verify", "sign"] }
|
||||
|
||||
expect(await importTextSecret(testKey, testAlgorithm, ["verify", "sign"])).toMatchObject(testCryptoKey)
|
||||
await expect(importTextSecret(testKey, testAlgorithm, ["verify", "sign"])).resolves.toMatchObject(testCryptoKey)
|
||||
})
|
||||
|
||||
test.todo("importJwk")
|
||||
|
||||
Reference in New Issue
Block a user