@bepalo/router 1.9.28 → 1.10.31
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/README.md +3 -11
- package/dist/cjs/middlewares.d.ts +61 -8
- package/dist/cjs/middlewares.d.ts.map +1 -1
- package/dist/cjs/middlewares.js +71 -13
- package/dist/cjs/middlewares.js.map +1 -1
- package/dist/middlewares.d.ts +61 -8
- package/dist/middlewares.d.ts.map +1 -1
- package/dist/middlewares.js +71 -13
- package/dist/middlewares.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -196,23 +196,15 @@ The router processes requests in this specific order:
|
|
|
196
196
|
|
|
197
197
|
### Router Context
|
|
198
198
|
|
|
199
|
-
Each handler receives a context object
|
|
199
|
+
Each handler receives a context object and they can be extended as needed.
|
|
200
200
|
|
|
201
201
|
```ts
|
|
202
202
|
interface RouterContext {
|
|
203
203
|
params: Record<string, string>; // Route parameters
|
|
204
204
|
headers: Headers; // Response headers
|
|
205
|
-
address?: SocketAddress | null; // Client address
|
|
206
205
|
response?: Response; // Final response
|
|
207
|
-
error?: Error; //
|
|
208
|
-
found: {
|
|
209
|
-
hooks: boolean; // Whether hooks were found
|
|
210
|
-
afters: boolean; // Whether afters were found
|
|
211
|
-
filters: boolean; // Whether filters were found
|
|
212
|
-
handlers: boolean; // Whether handlers were found
|
|
213
|
-
fallbacks: boolean; // Whether fallbacks were found
|
|
214
|
-
catchers: boolean; // Whether catchers were found
|
|
215
|
-
};
|
|
206
|
+
error?: Error; // Uncertain error
|
|
207
|
+
found: { ...: boolean }; // which handler types were found
|
|
216
208
|
}
|
|
217
209
|
```
|
|
218
210
|
|
|
@@ -231,6 +231,27 @@ export declare const authorize: <XContext = {}>({ allowRole, forbidRole, forPerm
|
|
|
231
231
|
hasPermission?: (permission: string, role: string) => boolean | null | undefined;
|
|
232
232
|
endHere?: boolean;
|
|
233
233
|
}) => FreeHandler<Partial<CTXAuth> & XContext>;
|
|
234
|
+
/**
|
|
235
|
+
*
|
|
236
|
+
* @template XContext - Additional context type to merge with CTXAuth.
|
|
237
|
+
* @param {Object} [options] - Configuration options.
|
|
238
|
+
* @param {Map<string,{ password: string; role: string } & Record<string, any>>} [options.credentials] - A map containing the entries of the credentials identified and indexed by username
|
|
239
|
+
* @param {"base64" | "raw"} [options.type="base64"] - The token format/type
|
|
240
|
+
* @param {":" | " "} [options.separator=":"] - The separator for username and password
|
|
241
|
+
* @param {string} [options.realm="Protected"] - The realm of the basic authentication
|
|
242
|
+
* @returns
|
|
243
|
+
*/
|
|
244
|
+
export declare const basicAuth: <XContext = {}>({ credentials, type, separator, realm, }: {
|
|
245
|
+
credentials: Map<string, {
|
|
246
|
+
password: string;
|
|
247
|
+
role: string;
|
|
248
|
+
} & Record<string, any>>;
|
|
249
|
+
type?: "base64" | "raw";
|
|
250
|
+
separator?: ":" | " ";
|
|
251
|
+
realm?: string;
|
|
252
|
+
}) => {
|
|
253
|
+
(req: Request, ctx: RouterContext<CTXAuth & XContext>): Auth | Error;
|
|
254
|
+
};
|
|
234
255
|
/**
|
|
235
256
|
* Creates a Basic Authentication middleware.
|
|
236
257
|
* Supports RFC 7617 Basic Authentication scheme.
|
|
@@ -239,7 +260,7 @@ export declare const authorize: <XContext = {}>({ allowRole, forbidRole, forPerm
|
|
|
239
260
|
* @template {string} prop - Property name to store auth data in context
|
|
240
261
|
* @param {Object} config - Basic Authentication configuration
|
|
241
262
|
* @param {Map<string, {pass: string} & Record<string, any>>} config.credentials - Map of usernames to user data (must include 'pass')
|
|
242
|
-
* @param {"
|
|
263
|
+
* @param {"base64"|"raw"} [config.type="base64"] - Credential encoding type
|
|
243
264
|
* @param {":"|" "} [config.separator=":"] - Separator between username and password
|
|
244
265
|
* @param {string} [config.realm="Protected"] - Authentication realm
|
|
245
266
|
* @param {prop} [config.ctxProp="basicAuth"] - Context property name for auth data
|
|
@@ -251,13 +272,27 @@ export declare const authorize: <XContext = {}>({ allowRole, forbidRole, forPerm
|
|
|
251
272
|
* users.set("admin", { pass: "secret123", role: "admin", permissions: ["read", "write"] });
|
|
252
273
|
* users.set("user", { pass: "password", role: "user", permissions: ["read"] });
|
|
253
274
|
*
|
|
254
|
-
* const basicAuth =
|
|
275
|
+
* const basicAuth = parseAuthBasic({
|
|
255
276
|
* credentials: users,
|
|
256
277
|
* realm: "My API",
|
|
257
278
|
* ctxProp: "user" // Store in ctx.user instead of ctx.basicAuth
|
|
258
279
|
* });
|
|
259
280
|
*/
|
|
260
|
-
export declare const
|
|
281
|
+
export declare const parseAuthBasic: <XContext = {}, prop extends string = "basicAuth">({ credentials, type, separator, realm, ctxProp, endHere, }: {
|
|
282
|
+
credentials: Map<string, {
|
|
283
|
+
password: string;
|
|
284
|
+
role: string;
|
|
285
|
+
} & Record<string, any>>;
|
|
286
|
+
type?: "raw" | "base64";
|
|
287
|
+
separator?: ":" | " ";
|
|
288
|
+
realm?: string;
|
|
289
|
+
ctxProp?: prop;
|
|
290
|
+
endHere?: boolean;
|
|
291
|
+
}) => FreeHandler<XContext & CTXBasicAuth>;
|
|
292
|
+
/**
|
|
293
|
+
* @deprecated use `parseAuthBasic`
|
|
294
|
+
*/
|
|
295
|
+
export declare const authBasic: <XContext = {}, prop extends string = "basicAuth">({ credentials, type, separator, realm, ctxProp, endHere, }: {
|
|
261
296
|
credentials: Map<string, {
|
|
262
297
|
password: string;
|
|
263
298
|
role: string;
|
|
@@ -293,14 +328,14 @@ export type CTXAPIKeyAuth<prop extends string = "apiKeyAuth"> = RouterContext<{
|
|
|
293
328
|
* // API key validation with database lookup
|
|
294
329
|
* const apiKeys = new Set(["abc123", "def456", "ghi789"]);
|
|
295
330
|
*
|
|
296
|
-
* const apiKeyAuth =
|
|
331
|
+
* const apiKeyAuth = parseAuthAPIKey({
|
|
297
332
|
* verify: (apiKey) => apiKeys.has(apiKey),
|
|
298
333
|
* ctxProp: "apiClient" // Store in ctx.apiClient
|
|
299
334
|
* });
|
|
300
335
|
*
|
|
301
336
|
* @example
|
|
302
337
|
* // API key with additional validation
|
|
303
|
-
* const apiKeyAuth =
|
|
338
|
+
* const apiKeyAuth = parseAuthAPIKey({
|
|
304
339
|
* verify: (apiKey) => {
|
|
305
340
|
* // Validate format
|
|
306
341
|
* if (!apiKey.startsWith("sk_")) return false;
|
|
@@ -310,7 +345,7 @@ export type CTXAPIKeyAuth<prop extends string = "apiKeyAuth"> = RouterContext<{
|
|
|
310
345
|
* }
|
|
311
346
|
* });
|
|
312
347
|
*/
|
|
313
|
-
export declare const
|
|
348
|
+
export declare const parseAuthAPIKey: <XContext = {}, prop extends string = "apiKeyAuth">({ verify, ctxProp, endHere, }: {
|
|
314
349
|
verify: (apiKey: string) => boolean;
|
|
315
350
|
ctxProp?: prop;
|
|
316
351
|
endHere?: boolean;
|
|
@@ -328,6 +363,14 @@ export type CTXJWTAuth<Payload extends JwtPayload<{}>, prop extends string = "jw
|
|
|
328
363
|
payload: Payload;
|
|
329
364
|
} & Record<string, any>;
|
|
330
365
|
}>;
|
|
366
|
+
/**
|
|
367
|
+
* @deprecated use `parseAuthAPIKey`
|
|
368
|
+
*/
|
|
369
|
+
export declare const authAPIKey: <XContext = {}, prop extends string = "apiKeyAuth">({ verify, ctxProp, endHere, }: {
|
|
370
|
+
verify: (apiKey: string) => boolean;
|
|
371
|
+
ctxProp?: prop;
|
|
372
|
+
endHere?: boolean;
|
|
373
|
+
}) => FreeHandler<XContext & CTXAPIKeyAuth>;
|
|
331
374
|
/**
|
|
332
375
|
* Creates a JWT (JSON Web Token) Authentication middleware.
|
|
333
376
|
* Validates Bearer tokens from Authorization header.
|
|
@@ -346,7 +389,7 @@ export type CTXJWTAuth<Payload extends JwtPayload<{}>, prop extends string = "jw
|
|
|
346
389
|
* // Simple JWT authentication
|
|
347
390
|
* const jwt = new JWT({ secret: process.env.JWT_SECRET });
|
|
348
391
|
*
|
|
349
|
-
* const jwtAuth =
|
|
392
|
+
* const jwtAuth = parseAuthJWT({
|
|
350
393
|
* jwt,
|
|
351
394
|
* validate: (payload) => payload.exp > Date.now() / 1000, // Check expiration
|
|
352
395
|
* ctxProp: "auth" // Store in ctx.auth
|
|
@@ -362,7 +405,7 @@ export type CTXJWTAuth<Payload extends JwtPayload<{}>, prop extends string = "jw
|
|
|
362
405
|
*
|
|
363
406
|
* const jwt = new JWT<MyPayload>({ secret: process.env.JWT_SECRET });
|
|
364
407
|
*
|
|
365
|
-
* const jwtAuth =
|
|
408
|
+
* const jwtAuth = parseAuthJWT<MyPayload>({
|
|
366
409
|
* jwt,
|
|
367
410
|
* validate: (payload) => {
|
|
368
411
|
* // Custom business logic
|
|
@@ -376,6 +419,16 @@ export type CTXJWTAuth<Payload extends JwtPayload<{}>, prop extends string = "jw
|
|
|
376
419
|
* }
|
|
377
420
|
* });
|
|
378
421
|
*/
|
|
422
|
+
export declare const parseAuthJWT: <Payload extends JwtPayload<{}>, XContext extends CTXJWTAuth<Payload, prop>, prop extends string = "jwtAuth">({ jwt, validate, verifyOptions, ctxProp, endHere, }: {
|
|
423
|
+
jwt: JWT<Payload>;
|
|
424
|
+
validate?: (payload: Payload) => boolean;
|
|
425
|
+
verifyOptions?: JwtVerifyOptions;
|
|
426
|
+
ctxProp?: prop;
|
|
427
|
+
endHere?: boolean;
|
|
428
|
+
}) => FreeHandler<XContext & CTXJWTAuth<Payload>>;
|
|
429
|
+
/**
|
|
430
|
+
* @deprecated use `parseAuthJWT`
|
|
431
|
+
*/
|
|
379
432
|
export declare const authJWT: <Payload extends JwtPayload<{}>, XContext extends CTXJWTAuth<Payload, prop>, prop extends string = "jwtAuth">({ jwt, validate, verifyOptions, ctxProp, endHere, }: {
|
|
380
433
|
jwt: JWT<Payload>;
|
|
381
434
|
validate?: (payload: Payload) => boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"middlewares.d.ts","sourceRoot":"","sources":["../../src/middlewares.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAC9C,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACnE,OAAO,EAAS,WAAW,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EAAE,GAAG,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAGhE;;;;GAIG;AACH,MAAM,MAAM,QAAQ,GAAG;IACrB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC/B,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,UAAU,GAAI,QAAQ,GAAG,EAAE,OAAK,WAAW,CACtD,QAAQ,GAAG,QAAQ,CAMpB,CAAC;AAEF;;;;GAIG;AACH,MAAM,MAAM,SAAS,GAAG;IACtB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAChC,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,WAAW,GAAI,QAAQ,GAAG,EAAE,OAAK,WAAW,CACvD,QAAQ,GAAG,SAAS,CAMrB,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,UAAU,GAClB;IAAE,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,CAAA;CAAE,GAC3C;IAAE,MAAM,EAAE,OAAO,EAAE,CAAA;CAAE,GACrB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAE5B;;;;GAIG;AACH,MAAM,MAAM,OAAO,GAAG;IACpB,IAAI,EAAE,UAAU,CAAC;CAClB,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,uBAAuB,GAC/B,mCAAmC,GACnC,kBAAkB,GAClB,YAAY,CAAC;AAEjB;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,SAAS,GAAI,QAAQ,GAAG,EAAE,EAAE,UAAU;IACjD,MAAM,CAAC,EAAE,uBAAuB,GAAG,uBAAuB,EAAE,CAAC;IAC7D,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB,KAAG,WAAW,CAAC,QAAQ,GAAG,OAAO,CAqEjC,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,eAAO,MAAM,SAAS,GAAI,QAAQ,GAAG,EAAE,EAAE,QAAQ;IAC/C,GAAG,EAAE,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,aAAa,CAAC,QAAQ,GAAG,UAAU,CAAC,KAAK,MAAM,CAAC;IACzE,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,4BAA4B,CAAC,EAAE,MAAM,CAAC;IACtC,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,WAAW,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACvC,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,KAAG,WAAW,CAAC,QAAQ,GAAG,UAAU,CAyFpC,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,eAAO,MAAM,IAAI,GAAI,QAAQ,GAAG,EAAE,EAAE,SAAS;IAC3C,OAAO,EAAE,GAAG,GAAG,MAAM,GAAG,MAAM,EAAE,CAAC;IACjC,OAAO,CAAC,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC;IAC9B,cAAc,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IACjC,cAAc,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IACjC,WAAW,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IAC7B,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,KAAG,WAAW,CAAC,QAAQ,
|
|
1
|
+
{"version":3,"file":"middlewares.d.ts","sourceRoot":"","sources":["../../src/middlewares.ts"],"names":[],"mappings":"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"}
|
package/dist/cjs/middlewares.js
CHANGED
|
@@ -9,7 +9,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
9
9
|
});
|
|
10
10
|
};
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
exports.authJWT = exports.authAPIKey = exports.authBasic = exports.authorize = exports.authenticate = exports.cors = exports.limitRate = exports.parseBody = exports.parseCookie = exports.parseQuery = void 0;
|
|
12
|
+
exports.authJWT = exports.parseAuthJWT = exports.authAPIKey = exports.parseAuthAPIKey = exports.authBasic = exports.parseAuthBasic = exports.basicAuth = exports.authorize = exports.authenticate = exports.cors = exports.limitRate = exports.parseBody = exports.parseCookie = exports.parseQuery = void 0;
|
|
13
13
|
const helpers_1 = require("./helpers");
|
|
14
14
|
const cache_1 = require("@bepalo/cache");
|
|
15
15
|
const time_1 = require("@bepalo/time");
|
|
@@ -277,6 +277,8 @@ const cors = (config) => {
|
|
|
277
277
|
const origin = req.headers.get("origin");
|
|
278
278
|
let corsOrigin = null;
|
|
279
279
|
if (!origin) {
|
|
280
|
+
if (endHere)
|
|
281
|
+
return true;
|
|
280
282
|
return;
|
|
281
283
|
}
|
|
282
284
|
if (globOrigin) {
|
|
@@ -288,6 +290,8 @@ const cors = (config) => {
|
|
|
288
290
|
if (!corsOrigin) {
|
|
289
291
|
if (varyOrigin)
|
|
290
292
|
ctx.headers.append("Vary", "Origin");
|
|
293
|
+
if (endHere)
|
|
294
|
+
return true;
|
|
291
295
|
return;
|
|
292
296
|
}
|
|
293
297
|
ctx.headers.set("Access-Control-Allow-Origin", corsOrigin);
|
|
@@ -389,6 +393,48 @@ const authorize = ({ allowRole, forbidRole, forPermissions, hasPermission, endHe
|
|
|
389
393
|
};
|
|
390
394
|
};
|
|
391
395
|
exports.authorize = authorize;
|
|
396
|
+
/**
|
|
397
|
+
*
|
|
398
|
+
* @template XContext - Additional context type to merge with CTXAuth.
|
|
399
|
+
* @param {Object} [options] - Configuration options.
|
|
400
|
+
* @param {Map<string,{ password: string; role: string } & Record<string, any>>} [options.credentials] - A map containing the entries of the credentials identified and indexed by username
|
|
401
|
+
* @param {"base64" | "raw"} [options.type="base64"] - The token format/type
|
|
402
|
+
* @param {":" | " "} [options.separator=":"] - The separator for username and password
|
|
403
|
+
* @param {string} [options.realm="Protected"] - The realm of the basic authentication
|
|
404
|
+
* @returns
|
|
405
|
+
*/
|
|
406
|
+
const basicAuth = ({ credentials, type = "base64", separator = ":", realm = "Protected", }) => {
|
|
407
|
+
return (req, ctx) => {
|
|
408
|
+
const authorization = req.headers.get("authorization");
|
|
409
|
+
ctx.headers.set("WWW-Authenticate", `Basic realm="${realm}", charset="UTF-8"`);
|
|
410
|
+
if (!authorization)
|
|
411
|
+
return new Error("Missing authorization header");
|
|
412
|
+
const [scheme, creds] = authorization.split(" ", 2);
|
|
413
|
+
if (scheme.toLowerCase() !== "basic" || !creds)
|
|
414
|
+
return new Error("Invalid authorization scheme");
|
|
415
|
+
let xcreds = creds;
|
|
416
|
+
if (type === "base64") {
|
|
417
|
+
try {
|
|
418
|
+
xcreds = atob(creds);
|
|
419
|
+
}
|
|
420
|
+
catch (_a) {
|
|
421
|
+
return new Error("Bad authorization token");
|
|
422
|
+
}
|
|
423
|
+
}
|
|
424
|
+
const [username, password] = xcreds.split(separator, 2);
|
|
425
|
+
if (!username || !password)
|
|
426
|
+
return new Error("Bad authorization token");
|
|
427
|
+
const user = credentials.get(username);
|
|
428
|
+
if (!user || password !== user.password)
|
|
429
|
+
return new Error("Invalid credentials");
|
|
430
|
+
const auth = {
|
|
431
|
+
id: username,
|
|
432
|
+
role: user.role,
|
|
433
|
+
};
|
|
434
|
+
return auth;
|
|
435
|
+
};
|
|
436
|
+
};
|
|
437
|
+
exports.basicAuth = basicAuth;
|
|
392
438
|
/**
|
|
393
439
|
* Creates a Basic Authentication middleware.
|
|
394
440
|
* Supports RFC 7617 Basic Authentication scheme.
|
|
@@ -397,7 +443,7 @@ exports.authorize = authorize;
|
|
|
397
443
|
* @template {string} prop - Property name to store auth data in context
|
|
398
444
|
* @param {Object} config - Basic Authentication configuration
|
|
399
445
|
* @param {Map<string, {pass: string} & Record<string, any>>} config.credentials - Map of usernames to user data (must include 'pass')
|
|
400
|
-
* @param {"
|
|
446
|
+
* @param {"base64"|"raw"} [config.type="base64"] - Credential encoding type
|
|
401
447
|
* @param {":"|" "} [config.separator=":"] - Separator between username and password
|
|
402
448
|
* @param {string} [config.realm="Protected"] - Authentication realm
|
|
403
449
|
* @param {prop} [config.ctxProp="basicAuth"] - Context property name for auth data
|
|
@@ -409,13 +455,13 @@ exports.authorize = authorize;
|
|
|
409
455
|
* users.set("admin", { pass: "secret123", role: "admin", permissions: ["read", "write"] });
|
|
410
456
|
* users.set("user", { pass: "password", role: "user", permissions: ["read"] });
|
|
411
457
|
*
|
|
412
|
-
* const basicAuth =
|
|
458
|
+
* const basicAuth = parseAuthBasic({
|
|
413
459
|
* credentials: users,
|
|
414
460
|
* realm: "My API",
|
|
415
461
|
* ctxProp: "user" // Store in ctx.user instead of ctx.basicAuth
|
|
416
462
|
* });
|
|
417
463
|
*/
|
|
418
|
-
const
|
|
464
|
+
const parseAuthBasic = ({ credentials, type = "raw", separator = ":", realm = "Protected", ctxProp = "basicAuth", endHere = false, }) => {
|
|
419
465
|
return (req, ctx) => {
|
|
420
466
|
const authorization = req.headers.get("authorization");
|
|
421
467
|
ctx.headers.set("WWW-Authenticate", `Basic realm="${realm}", charset="UTF-8"`);
|
|
@@ -447,7 +493,11 @@ const authBasic = ({ credentials, type = "raw", separator = ":", realm = "Protec
|
|
|
447
493
|
return true;
|
|
448
494
|
};
|
|
449
495
|
};
|
|
450
|
-
exports.
|
|
496
|
+
exports.parseAuthBasic = parseAuthBasic;
|
|
497
|
+
/**
|
|
498
|
+
* @deprecated use `parseAuthBasic`
|
|
499
|
+
*/
|
|
500
|
+
exports.authBasic = exports.parseAuthBasic;
|
|
451
501
|
/**
|
|
452
502
|
* Creates an API Key Authentication middleware.
|
|
453
503
|
* Validates API keys from X-API-Key header.
|
|
@@ -463,14 +513,14 @@ exports.authBasic = authBasic;
|
|
|
463
513
|
* // API key validation with database lookup
|
|
464
514
|
* const apiKeys = new Set(["abc123", "def456", "ghi789"]);
|
|
465
515
|
*
|
|
466
|
-
* const apiKeyAuth =
|
|
516
|
+
* const apiKeyAuth = parseAuthAPIKey({
|
|
467
517
|
* verify: (apiKey) => apiKeys.has(apiKey),
|
|
468
518
|
* ctxProp: "apiClient" // Store in ctx.apiClient
|
|
469
519
|
* });
|
|
470
520
|
*
|
|
471
521
|
* @example
|
|
472
522
|
* // API key with additional validation
|
|
473
|
-
* const apiKeyAuth =
|
|
523
|
+
* const apiKeyAuth = parseAuthAPIKey({
|
|
474
524
|
* verify: (apiKey) => {
|
|
475
525
|
* // Validate format
|
|
476
526
|
* if (!apiKey.startsWith("sk_")) return false;
|
|
@@ -480,7 +530,7 @@ exports.authBasic = authBasic;
|
|
|
480
530
|
* }
|
|
481
531
|
* });
|
|
482
532
|
*/
|
|
483
|
-
const
|
|
533
|
+
const parseAuthAPIKey = ({ verify, ctxProp = "apiKeyAuth", endHere = false, }) => {
|
|
484
534
|
return (req, ctx) => {
|
|
485
535
|
const apiKey = req.headers.get("X-API-Key");
|
|
486
536
|
if (!apiKey || !verify(apiKey))
|
|
@@ -492,7 +542,11 @@ const authAPIKey = ({ verify, ctxProp = "apiKeyAuth", endHere = false, }) => {
|
|
|
492
542
|
return true;
|
|
493
543
|
};
|
|
494
544
|
};
|
|
495
|
-
exports.
|
|
545
|
+
exports.parseAuthAPIKey = parseAuthAPIKey;
|
|
546
|
+
/**
|
|
547
|
+
* @deprecated use `parseAuthAPIKey`
|
|
548
|
+
*/
|
|
549
|
+
exports.authAPIKey = exports.parseAuthAPIKey;
|
|
496
550
|
/**
|
|
497
551
|
* Creates a JWT (JSON Web Token) Authentication middleware.
|
|
498
552
|
* Validates Bearer tokens from Authorization header.
|
|
@@ -511,7 +565,7 @@ exports.authAPIKey = authAPIKey;
|
|
|
511
565
|
* // Simple JWT authentication
|
|
512
566
|
* const jwt = new JWT({ secret: process.env.JWT_SECRET });
|
|
513
567
|
*
|
|
514
|
-
* const jwtAuth =
|
|
568
|
+
* const jwtAuth = parseAuthJWT({
|
|
515
569
|
* jwt,
|
|
516
570
|
* validate: (payload) => payload.exp > Date.now() / 1000, // Check expiration
|
|
517
571
|
* ctxProp: "auth" // Store in ctx.auth
|
|
@@ -527,7 +581,7 @@ exports.authAPIKey = authAPIKey;
|
|
|
527
581
|
*
|
|
528
582
|
* const jwt = new JWT<MyPayload>({ secret: process.env.JWT_SECRET });
|
|
529
583
|
*
|
|
530
|
-
* const jwtAuth =
|
|
584
|
+
* const jwtAuth = parseAuthJWT<MyPayload>({
|
|
531
585
|
* jwt,
|
|
532
586
|
* validate: (payload) => {
|
|
533
587
|
* // Custom business logic
|
|
@@ -541,7 +595,7 @@ exports.authAPIKey = authAPIKey;
|
|
|
541
595
|
* }
|
|
542
596
|
* });
|
|
543
597
|
*/
|
|
544
|
-
const
|
|
598
|
+
const parseAuthJWT = ({ jwt, validate, verifyOptions, ctxProp = "jwtAuth", endHere = false, }) => {
|
|
545
599
|
return (req, ctx) => {
|
|
546
600
|
var _a;
|
|
547
601
|
const authorization = req.headers.get("authorization");
|
|
@@ -564,5 +618,9 @@ const authJWT = ({ jwt, validate, verifyOptions, ctxProp = "jwtAuth", endHere =
|
|
|
564
618
|
return true;
|
|
565
619
|
};
|
|
566
620
|
};
|
|
567
|
-
exports.
|
|
621
|
+
exports.parseAuthJWT = parseAuthJWT;
|
|
622
|
+
/**
|
|
623
|
+
* @deprecated use `parseAuthJWT`
|
|
624
|
+
*/
|
|
625
|
+
exports.authJWT = exports.parseAuthJWT;
|
|
568
626
|
//# sourceMappingURL=middlewares.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"middlewares.js","sourceRoot":"","sources":["../../src/middlewares.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"middlewares.js","sourceRoot":"","sources":["../../src/middlewares.ts"],"names":[],"mappings":"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"}
|
package/dist/middlewares.d.ts
CHANGED
|
@@ -231,6 +231,27 @@ export declare const authorize: <XContext = {}>({ allowRole, forbidRole, forPerm
|
|
|
231
231
|
hasPermission?: (permission: string, role: string) => boolean | null | undefined;
|
|
232
232
|
endHere?: boolean;
|
|
233
233
|
}) => FreeHandler<Partial<CTXAuth> & XContext>;
|
|
234
|
+
/**
|
|
235
|
+
*
|
|
236
|
+
* @template XContext - Additional context type to merge with CTXAuth.
|
|
237
|
+
* @param {Object} [options] - Configuration options.
|
|
238
|
+
* @param {Map<string,{ password: string; role: string } & Record<string, any>>} [options.credentials] - A map containing the entries of the credentials identified and indexed by username
|
|
239
|
+
* @param {"base64" | "raw"} [options.type="base64"] - The token format/type
|
|
240
|
+
* @param {":" | " "} [options.separator=":"] - The separator for username and password
|
|
241
|
+
* @param {string} [options.realm="Protected"] - The realm of the basic authentication
|
|
242
|
+
* @returns
|
|
243
|
+
*/
|
|
244
|
+
export declare const basicAuth: <XContext = {}>({ credentials, type, separator, realm, }: {
|
|
245
|
+
credentials: Map<string, {
|
|
246
|
+
password: string;
|
|
247
|
+
role: string;
|
|
248
|
+
} & Record<string, any>>;
|
|
249
|
+
type?: "base64" | "raw";
|
|
250
|
+
separator?: ":" | " ";
|
|
251
|
+
realm?: string;
|
|
252
|
+
}) => {
|
|
253
|
+
(req: Request, ctx: RouterContext<CTXAuth & XContext>): Auth | Error;
|
|
254
|
+
};
|
|
234
255
|
/**
|
|
235
256
|
* Creates a Basic Authentication middleware.
|
|
236
257
|
* Supports RFC 7617 Basic Authentication scheme.
|
|
@@ -239,7 +260,7 @@ export declare const authorize: <XContext = {}>({ allowRole, forbidRole, forPerm
|
|
|
239
260
|
* @template {string} prop - Property name to store auth data in context
|
|
240
261
|
* @param {Object} config - Basic Authentication configuration
|
|
241
262
|
* @param {Map<string, {pass: string} & Record<string, any>>} config.credentials - Map of usernames to user data (must include 'pass')
|
|
242
|
-
* @param {"
|
|
263
|
+
* @param {"base64"|"raw"} [config.type="base64"] - Credential encoding type
|
|
243
264
|
* @param {":"|" "} [config.separator=":"] - Separator between username and password
|
|
244
265
|
* @param {string} [config.realm="Protected"] - Authentication realm
|
|
245
266
|
* @param {prop} [config.ctxProp="basicAuth"] - Context property name for auth data
|
|
@@ -251,13 +272,27 @@ export declare const authorize: <XContext = {}>({ allowRole, forbidRole, forPerm
|
|
|
251
272
|
* users.set("admin", { pass: "secret123", role: "admin", permissions: ["read", "write"] });
|
|
252
273
|
* users.set("user", { pass: "password", role: "user", permissions: ["read"] });
|
|
253
274
|
*
|
|
254
|
-
* const basicAuth =
|
|
275
|
+
* const basicAuth = parseAuthBasic({
|
|
255
276
|
* credentials: users,
|
|
256
277
|
* realm: "My API",
|
|
257
278
|
* ctxProp: "user" // Store in ctx.user instead of ctx.basicAuth
|
|
258
279
|
* });
|
|
259
280
|
*/
|
|
260
|
-
export declare const
|
|
281
|
+
export declare const parseAuthBasic: <XContext = {}, prop extends string = "basicAuth">({ credentials, type, separator, realm, ctxProp, endHere, }: {
|
|
282
|
+
credentials: Map<string, {
|
|
283
|
+
password: string;
|
|
284
|
+
role: string;
|
|
285
|
+
} & Record<string, any>>;
|
|
286
|
+
type?: "raw" | "base64";
|
|
287
|
+
separator?: ":" | " ";
|
|
288
|
+
realm?: string;
|
|
289
|
+
ctxProp?: prop;
|
|
290
|
+
endHere?: boolean;
|
|
291
|
+
}) => FreeHandler<XContext & CTXBasicAuth>;
|
|
292
|
+
/**
|
|
293
|
+
* @deprecated use `parseAuthBasic`
|
|
294
|
+
*/
|
|
295
|
+
export declare const authBasic: <XContext = {}, prop extends string = "basicAuth">({ credentials, type, separator, realm, ctxProp, endHere, }: {
|
|
261
296
|
credentials: Map<string, {
|
|
262
297
|
password: string;
|
|
263
298
|
role: string;
|
|
@@ -293,14 +328,14 @@ export type CTXAPIKeyAuth<prop extends string = "apiKeyAuth"> = RouterContext<{
|
|
|
293
328
|
* // API key validation with database lookup
|
|
294
329
|
* const apiKeys = new Set(["abc123", "def456", "ghi789"]);
|
|
295
330
|
*
|
|
296
|
-
* const apiKeyAuth =
|
|
331
|
+
* const apiKeyAuth = parseAuthAPIKey({
|
|
297
332
|
* verify: (apiKey) => apiKeys.has(apiKey),
|
|
298
333
|
* ctxProp: "apiClient" // Store in ctx.apiClient
|
|
299
334
|
* });
|
|
300
335
|
*
|
|
301
336
|
* @example
|
|
302
337
|
* // API key with additional validation
|
|
303
|
-
* const apiKeyAuth =
|
|
338
|
+
* const apiKeyAuth = parseAuthAPIKey({
|
|
304
339
|
* verify: (apiKey) => {
|
|
305
340
|
* // Validate format
|
|
306
341
|
* if (!apiKey.startsWith("sk_")) return false;
|
|
@@ -310,7 +345,7 @@ export type CTXAPIKeyAuth<prop extends string = "apiKeyAuth"> = RouterContext<{
|
|
|
310
345
|
* }
|
|
311
346
|
* });
|
|
312
347
|
*/
|
|
313
|
-
export declare const
|
|
348
|
+
export declare const parseAuthAPIKey: <XContext = {}, prop extends string = "apiKeyAuth">({ verify, ctxProp, endHere, }: {
|
|
314
349
|
verify: (apiKey: string) => boolean;
|
|
315
350
|
ctxProp?: prop;
|
|
316
351
|
endHere?: boolean;
|
|
@@ -328,6 +363,14 @@ export type CTXJWTAuth<Payload extends JwtPayload<{}>, prop extends string = "jw
|
|
|
328
363
|
payload: Payload;
|
|
329
364
|
} & Record<string, any>;
|
|
330
365
|
}>;
|
|
366
|
+
/**
|
|
367
|
+
* @deprecated use `parseAuthAPIKey`
|
|
368
|
+
*/
|
|
369
|
+
export declare const authAPIKey: <XContext = {}, prop extends string = "apiKeyAuth">({ verify, ctxProp, endHere, }: {
|
|
370
|
+
verify: (apiKey: string) => boolean;
|
|
371
|
+
ctxProp?: prop;
|
|
372
|
+
endHere?: boolean;
|
|
373
|
+
}) => FreeHandler<XContext & CTXAPIKeyAuth>;
|
|
331
374
|
/**
|
|
332
375
|
* Creates a JWT (JSON Web Token) Authentication middleware.
|
|
333
376
|
* Validates Bearer tokens from Authorization header.
|
|
@@ -346,7 +389,7 @@ export type CTXJWTAuth<Payload extends JwtPayload<{}>, prop extends string = "jw
|
|
|
346
389
|
* // Simple JWT authentication
|
|
347
390
|
* const jwt = new JWT({ secret: process.env.JWT_SECRET });
|
|
348
391
|
*
|
|
349
|
-
* const jwtAuth =
|
|
392
|
+
* const jwtAuth = parseAuthJWT({
|
|
350
393
|
* jwt,
|
|
351
394
|
* validate: (payload) => payload.exp > Date.now() / 1000, // Check expiration
|
|
352
395
|
* ctxProp: "auth" // Store in ctx.auth
|
|
@@ -362,7 +405,7 @@ export type CTXJWTAuth<Payload extends JwtPayload<{}>, prop extends string = "jw
|
|
|
362
405
|
*
|
|
363
406
|
* const jwt = new JWT<MyPayload>({ secret: process.env.JWT_SECRET });
|
|
364
407
|
*
|
|
365
|
-
* const jwtAuth =
|
|
408
|
+
* const jwtAuth = parseAuthJWT<MyPayload>({
|
|
366
409
|
* jwt,
|
|
367
410
|
* validate: (payload) => {
|
|
368
411
|
* // Custom business logic
|
|
@@ -376,6 +419,16 @@ export type CTXJWTAuth<Payload extends JwtPayload<{}>, prop extends string = "jw
|
|
|
376
419
|
* }
|
|
377
420
|
* });
|
|
378
421
|
*/
|
|
422
|
+
export declare const parseAuthJWT: <Payload extends JwtPayload<{}>, XContext extends CTXJWTAuth<Payload, prop>, prop extends string = "jwtAuth">({ jwt, validate, verifyOptions, ctxProp, endHere, }: {
|
|
423
|
+
jwt: JWT<Payload>;
|
|
424
|
+
validate?: (payload: Payload) => boolean;
|
|
425
|
+
verifyOptions?: JwtVerifyOptions;
|
|
426
|
+
ctxProp?: prop;
|
|
427
|
+
endHere?: boolean;
|
|
428
|
+
}) => FreeHandler<XContext & CTXJWTAuth<Payload>>;
|
|
429
|
+
/**
|
|
430
|
+
* @deprecated use `parseAuthJWT`
|
|
431
|
+
*/
|
|
379
432
|
export declare const authJWT: <Payload extends JwtPayload<{}>, XContext extends CTXJWTAuth<Payload, prop>, prop extends string = "jwtAuth">({ jwt, validate, verifyOptions, ctxProp, endHere, }: {
|
|
380
433
|
jwt: JWT<Payload>;
|
|
381
434
|
validate?: (payload: Payload) => boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"middlewares.d.ts","sourceRoot":"","sources":["../src/middlewares.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"middlewares.d.ts","sourceRoot":"","sources":["../src/middlewares.ts"],"names":[],"mappings":"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"}
|
package/dist/middlewares.js
CHANGED
|
@@ -9,7 +9,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
9
9
|
});
|
|
10
10
|
};
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
exports.authJWT = exports.authAPIKey = exports.authBasic = exports.authorize = exports.authenticate = exports.cors = exports.limitRate = exports.parseBody = exports.parseCookie = exports.parseQuery = void 0;
|
|
12
|
+
exports.authJWT = exports.parseAuthJWT = exports.authAPIKey = exports.parseAuthAPIKey = exports.authBasic = exports.parseAuthBasic = exports.basicAuth = exports.authorize = exports.authenticate = exports.cors = exports.limitRate = exports.parseBody = exports.parseCookie = exports.parseQuery = void 0;
|
|
13
13
|
const helpers_1 = require("./helpers");
|
|
14
14
|
const cache_1 = require("@bepalo/cache");
|
|
15
15
|
const time_1 = require("@bepalo/time");
|
|
@@ -277,6 +277,8 @@ const cors = (config) => {
|
|
|
277
277
|
const origin = req.headers.get("origin");
|
|
278
278
|
let corsOrigin = null;
|
|
279
279
|
if (!origin) {
|
|
280
|
+
if (endHere)
|
|
281
|
+
return true;
|
|
280
282
|
return;
|
|
281
283
|
}
|
|
282
284
|
if (globOrigin) {
|
|
@@ -288,6 +290,8 @@ const cors = (config) => {
|
|
|
288
290
|
if (!corsOrigin) {
|
|
289
291
|
if (varyOrigin)
|
|
290
292
|
ctx.headers.append("Vary", "Origin");
|
|
293
|
+
if (endHere)
|
|
294
|
+
return true;
|
|
291
295
|
return;
|
|
292
296
|
}
|
|
293
297
|
ctx.headers.set("Access-Control-Allow-Origin", corsOrigin);
|
|
@@ -389,6 +393,48 @@ const authorize = ({ allowRole, forbidRole, forPermissions, hasPermission, endHe
|
|
|
389
393
|
};
|
|
390
394
|
};
|
|
391
395
|
exports.authorize = authorize;
|
|
396
|
+
/**
|
|
397
|
+
*
|
|
398
|
+
* @template XContext - Additional context type to merge with CTXAuth.
|
|
399
|
+
* @param {Object} [options] - Configuration options.
|
|
400
|
+
* @param {Map<string,{ password: string; role: string } & Record<string, any>>} [options.credentials] - A map containing the entries of the credentials identified and indexed by username
|
|
401
|
+
* @param {"base64" | "raw"} [options.type="base64"] - The token format/type
|
|
402
|
+
* @param {":" | " "} [options.separator=":"] - The separator for username and password
|
|
403
|
+
* @param {string} [options.realm="Protected"] - The realm of the basic authentication
|
|
404
|
+
* @returns
|
|
405
|
+
*/
|
|
406
|
+
const basicAuth = ({ credentials, type = "base64", separator = ":", realm = "Protected", }) => {
|
|
407
|
+
return (req, ctx) => {
|
|
408
|
+
const authorization = req.headers.get("authorization");
|
|
409
|
+
ctx.headers.set("WWW-Authenticate", `Basic realm="${realm}", charset="UTF-8"`);
|
|
410
|
+
if (!authorization)
|
|
411
|
+
return new Error("Missing authorization header");
|
|
412
|
+
const [scheme, creds] = authorization.split(" ", 2);
|
|
413
|
+
if (scheme.toLowerCase() !== "basic" || !creds)
|
|
414
|
+
return new Error("Invalid authorization scheme");
|
|
415
|
+
let xcreds = creds;
|
|
416
|
+
if (type === "base64") {
|
|
417
|
+
try {
|
|
418
|
+
xcreds = atob(creds);
|
|
419
|
+
}
|
|
420
|
+
catch (_a) {
|
|
421
|
+
return new Error("Bad authorization token");
|
|
422
|
+
}
|
|
423
|
+
}
|
|
424
|
+
const [username, password] = xcreds.split(separator, 2);
|
|
425
|
+
if (!username || !password)
|
|
426
|
+
return new Error("Bad authorization token");
|
|
427
|
+
const user = credentials.get(username);
|
|
428
|
+
if (!user || password !== user.password)
|
|
429
|
+
return new Error("Invalid credentials");
|
|
430
|
+
const auth = {
|
|
431
|
+
id: username,
|
|
432
|
+
role: user.role,
|
|
433
|
+
};
|
|
434
|
+
return auth;
|
|
435
|
+
};
|
|
436
|
+
};
|
|
437
|
+
exports.basicAuth = basicAuth;
|
|
392
438
|
/**
|
|
393
439
|
* Creates a Basic Authentication middleware.
|
|
394
440
|
* Supports RFC 7617 Basic Authentication scheme.
|
|
@@ -397,7 +443,7 @@ exports.authorize = authorize;
|
|
|
397
443
|
* @template {string} prop - Property name to store auth data in context
|
|
398
444
|
* @param {Object} config - Basic Authentication configuration
|
|
399
445
|
* @param {Map<string, {pass: string} & Record<string, any>>} config.credentials - Map of usernames to user data (must include 'pass')
|
|
400
|
-
* @param {"
|
|
446
|
+
* @param {"base64"|"raw"} [config.type="base64"] - Credential encoding type
|
|
401
447
|
* @param {":"|" "} [config.separator=":"] - Separator between username and password
|
|
402
448
|
* @param {string} [config.realm="Protected"] - Authentication realm
|
|
403
449
|
* @param {prop} [config.ctxProp="basicAuth"] - Context property name for auth data
|
|
@@ -409,13 +455,13 @@ exports.authorize = authorize;
|
|
|
409
455
|
* users.set("admin", { pass: "secret123", role: "admin", permissions: ["read", "write"] });
|
|
410
456
|
* users.set("user", { pass: "password", role: "user", permissions: ["read"] });
|
|
411
457
|
*
|
|
412
|
-
* const basicAuth =
|
|
458
|
+
* const basicAuth = parseAuthBasic({
|
|
413
459
|
* credentials: users,
|
|
414
460
|
* realm: "My API",
|
|
415
461
|
* ctxProp: "user" // Store in ctx.user instead of ctx.basicAuth
|
|
416
462
|
* });
|
|
417
463
|
*/
|
|
418
|
-
const
|
|
464
|
+
const parseAuthBasic = ({ credentials, type = "raw", separator = ":", realm = "Protected", ctxProp = "basicAuth", endHere = false, }) => {
|
|
419
465
|
return (req, ctx) => {
|
|
420
466
|
const authorization = req.headers.get("authorization");
|
|
421
467
|
ctx.headers.set("WWW-Authenticate", `Basic realm="${realm}", charset="UTF-8"`);
|
|
@@ -447,7 +493,11 @@ const authBasic = ({ credentials, type = "raw", separator = ":", realm = "Protec
|
|
|
447
493
|
return true;
|
|
448
494
|
};
|
|
449
495
|
};
|
|
450
|
-
exports.
|
|
496
|
+
exports.parseAuthBasic = parseAuthBasic;
|
|
497
|
+
/**
|
|
498
|
+
* @deprecated use `parseAuthBasic`
|
|
499
|
+
*/
|
|
500
|
+
exports.authBasic = exports.parseAuthBasic;
|
|
451
501
|
/**
|
|
452
502
|
* Creates an API Key Authentication middleware.
|
|
453
503
|
* Validates API keys from X-API-Key header.
|
|
@@ -463,14 +513,14 @@ exports.authBasic = authBasic;
|
|
|
463
513
|
* // API key validation with database lookup
|
|
464
514
|
* const apiKeys = new Set(["abc123", "def456", "ghi789"]);
|
|
465
515
|
*
|
|
466
|
-
* const apiKeyAuth =
|
|
516
|
+
* const apiKeyAuth = parseAuthAPIKey({
|
|
467
517
|
* verify: (apiKey) => apiKeys.has(apiKey),
|
|
468
518
|
* ctxProp: "apiClient" // Store in ctx.apiClient
|
|
469
519
|
* });
|
|
470
520
|
*
|
|
471
521
|
* @example
|
|
472
522
|
* // API key with additional validation
|
|
473
|
-
* const apiKeyAuth =
|
|
523
|
+
* const apiKeyAuth = parseAuthAPIKey({
|
|
474
524
|
* verify: (apiKey) => {
|
|
475
525
|
* // Validate format
|
|
476
526
|
* if (!apiKey.startsWith("sk_")) return false;
|
|
@@ -480,7 +530,7 @@ exports.authBasic = authBasic;
|
|
|
480
530
|
* }
|
|
481
531
|
* });
|
|
482
532
|
*/
|
|
483
|
-
const
|
|
533
|
+
const parseAuthAPIKey = ({ verify, ctxProp = "apiKeyAuth", endHere = false, }) => {
|
|
484
534
|
return (req, ctx) => {
|
|
485
535
|
const apiKey = req.headers.get("X-API-Key");
|
|
486
536
|
if (!apiKey || !verify(apiKey))
|
|
@@ -492,7 +542,11 @@ const authAPIKey = ({ verify, ctxProp = "apiKeyAuth", endHere = false, }) => {
|
|
|
492
542
|
return true;
|
|
493
543
|
};
|
|
494
544
|
};
|
|
495
|
-
exports.
|
|
545
|
+
exports.parseAuthAPIKey = parseAuthAPIKey;
|
|
546
|
+
/**
|
|
547
|
+
* @deprecated use `parseAuthAPIKey`
|
|
548
|
+
*/
|
|
549
|
+
exports.authAPIKey = exports.parseAuthAPIKey;
|
|
496
550
|
/**
|
|
497
551
|
* Creates a JWT (JSON Web Token) Authentication middleware.
|
|
498
552
|
* Validates Bearer tokens from Authorization header.
|
|
@@ -511,7 +565,7 @@ exports.authAPIKey = authAPIKey;
|
|
|
511
565
|
* // Simple JWT authentication
|
|
512
566
|
* const jwt = new JWT({ secret: process.env.JWT_SECRET });
|
|
513
567
|
*
|
|
514
|
-
* const jwtAuth =
|
|
568
|
+
* const jwtAuth = parseAuthJWT({
|
|
515
569
|
* jwt,
|
|
516
570
|
* validate: (payload) => payload.exp > Date.now() / 1000, // Check expiration
|
|
517
571
|
* ctxProp: "auth" // Store in ctx.auth
|
|
@@ -527,7 +581,7 @@ exports.authAPIKey = authAPIKey;
|
|
|
527
581
|
*
|
|
528
582
|
* const jwt = new JWT<MyPayload>({ secret: process.env.JWT_SECRET });
|
|
529
583
|
*
|
|
530
|
-
* const jwtAuth =
|
|
584
|
+
* const jwtAuth = parseAuthJWT<MyPayload>({
|
|
531
585
|
* jwt,
|
|
532
586
|
* validate: (payload) => {
|
|
533
587
|
* // Custom business logic
|
|
@@ -541,7 +595,7 @@ exports.authAPIKey = authAPIKey;
|
|
|
541
595
|
* }
|
|
542
596
|
* });
|
|
543
597
|
*/
|
|
544
|
-
const
|
|
598
|
+
const parseAuthJWT = ({ jwt, validate, verifyOptions, ctxProp = "jwtAuth", endHere = false, }) => {
|
|
545
599
|
return (req, ctx) => {
|
|
546
600
|
var _a;
|
|
547
601
|
const authorization = req.headers.get("authorization");
|
|
@@ -564,5 +618,9 @@ const authJWT = ({ jwt, validate, verifyOptions, ctxProp = "jwtAuth", endHere =
|
|
|
564
618
|
return true;
|
|
565
619
|
};
|
|
566
620
|
};
|
|
567
|
-
exports.
|
|
621
|
+
exports.parseAuthJWT = parseAuthJWT;
|
|
622
|
+
/**
|
|
623
|
+
* @deprecated use `parseAuthJWT`
|
|
624
|
+
*/
|
|
625
|
+
exports.authJWT = exports.parseAuthJWT;
|
|
568
626
|
//# sourceMappingURL=middlewares.js.map
|
package/dist/middlewares.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"middlewares.js","sourceRoot":"","sources":["../src/middlewares.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"middlewares.js","sourceRoot":"","sources":["../src/middlewares.ts"],"names":[],"mappings":"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"}
|