@meistrari/data-token 1.2.3 → 1.2.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/adapters/elysia.mjs +0 -1
- package/dist/adapters/hono.mjs +2 -2
- package/dist/index.mjs +4 -12
- package/package.json +3 -3
package/dist/adapters/elysia.mjs
CHANGED
package/dist/adapters/hono.mjs
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import { createMiddleware } from 'hono/factory';
|
|
2
2
|
import { getValidator } from '../index.mjs';
|
|
3
|
-
import 'node:buffer';
|
|
4
3
|
import 'jose';
|
|
5
4
|
import '@meistrari/logger';
|
|
6
5
|
import 'zod';
|
|
7
6
|
|
|
8
7
|
function createDataTokenMiddleware(url, skipOnError = false, getToken = (c) => c.req.header("x-data-token") ?? "") {
|
|
8
|
+
let validator;
|
|
9
9
|
return createMiddleware(async (c, next) => {
|
|
10
10
|
const jwksUrl = typeof url === "function" ? url(c) : url;
|
|
11
|
-
|
|
11
|
+
validator ?? (validator = getValidator(jwksUrl));
|
|
12
12
|
const token = getToken(c);
|
|
13
13
|
try {
|
|
14
14
|
const data = await validator(token);
|
package/dist/index.mjs
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { Buffer } from 'node:buffer';
|
|
2
1
|
import { createRemoteJWKSet, jwtVerify, errors, decodeJwt } from 'jose';
|
|
3
2
|
import pino from '@meistrari/logger';
|
|
4
3
|
import { z } from 'zod';
|
|
@@ -90,17 +89,10 @@ function getValidator(jwksUrl, {
|
|
|
90
89
|
if (error instanceof errors.JWTExpired) {
|
|
91
90
|
throw error;
|
|
92
91
|
}
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
logger.error({
|
|
98
|
-
error,
|
|
99
|
-
jwksUrl,
|
|
100
|
-
algorithms,
|
|
101
|
-
jwks: jwksText,
|
|
102
|
-
tokenHeader
|
|
103
|
-
}, "Failed to validate data token");
|
|
92
|
+
try {
|
|
93
|
+
logger.error({ error, jwksUrl, algorithms }, "Failed to validate data token");
|
|
94
|
+
} catch {
|
|
95
|
+
}
|
|
104
96
|
throw error;
|
|
105
97
|
}
|
|
106
98
|
};
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@meistrari/data-token",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "1.2.
|
|
4
|
+
"version": "1.2.5",
|
|
5
5
|
"description": "Internal library to verify and decode the API Gateway data token",
|
|
6
6
|
"author": "Roz <roz@meistrari.com>",
|
|
7
7
|
"license": "UNLICENSED",
|
|
@@ -32,12 +32,12 @@
|
|
|
32
32
|
"node": "^20.15.1"
|
|
33
33
|
},
|
|
34
34
|
"scripts": {
|
|
35
|
-
"test": "
|
|
35
|
+
"test": "ENVIRONMENT=unknown bun test src",
|
|
36
36
|
"build": "unbuild",
|
|
37
37
|
"prepare": "husky",
|
|
38
38
|
"lint": "eslint src",
|
|
39
39
|
"lint:fix": "eslint src --fix",
|
|
40
|
-
"check": "bun run lint && bun tsc --noEmit",
|
|
40
|
+
"check": "bun run lint && bun tsc --noEmit && bun run test",
|
|
41
41
|
"prepack": "bun run build"
|
|
42
42
|
},
|
|
43
43
|
"dependencies": {
|