@bepalo/router 1.9.28 → 1.11.32
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 +62 -9
- package/dist/cjs/middlewares.d.ts.map +1 -1
- package/dist/cjs/middlewares.js +86 -24
- package/dist/cjs/middlewares.js.map +1 -1
- package/dist/middlewares.d.ts +62 -9
- package/dist/middlewares.d.ts.map +1 -1
- package/dist/middlewares.js +86 -24
- 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
|
|
|
@@ -188,7 +188,7 @@ export interface CTXAuth {
|
|
|
188
188
|
/**
|
|
189
189
|
* auth context parser for authenticate middleware
|
|
190
190
|
*/
|
|
191
|
-
export type ParseAuthFn<XContext = {}> = (req: Request, ctx: RouterContext<Partial<CTXAuth> & XContext>) => Auth | Error | null | undefined;
|
|
191
|
+
export type ParseAuthFn<XContext = {}> = (req: Request, ctx: RouterContext<Partial<CTXAuth> & XContext>) => Promise<Auth | Error | null | undefined> | Auth | Error | null | undefined;
|
|
192
192
|
/**
|
|
193
193
|
* Middleware to authenticate a request.
|
|
194
194
|
*
|
|
@@ -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/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);
|
|
@@ -334,17 +338,21 @@ exports.cors = cors;
|
|
|
334
338
|
*/
|
|
335
339
|
const authenticate = ({ parseAuth, endHere = false, checkOnly = false, }) => {
|
|
336
340
|
return function (req, ctx) {
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
341
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
342
|
+
var _a;
|
|
343
|
+
let auth = parseAuth(req, ctx);
|
|
344
|
+
if (auth instanceof Promise)
|
|
345
|
+
auth = yield auth;
|
|
346
|
+
if (!auth) {
|
|
347
|
+
return checkOnly ? false : (0, helpers_1.status)(401);
|
|
348
|
+
}
|
|
349
|
+
else if (auth instanceof Error) {
|
|
350
|
+
return checkOnly ? false : (0, helpers_1.status)(401, (_a = auth.message) !== null && _a !== void 0 ? _a : undefined);
|
|
351
|
+
}
|
|
352
|
+
ctx.auth = auth;
|
|
353
|
+
if (endHere)
|
|
354
|
+
return true;
|
|
355
|
+
});
|
|
348
356
|
};
|
|
349
357
|
};
|
|
350
358
|
exports.authenticate = authenticate;
|
|
@@ -389,6 +397,48 @@ const authorize = ({ allowRole, forbidRole, forPermissions, hasPermission, endHe
|
|
|
389
397
|
};
|
|
390
398
|
};
|
|
391
399
|
exports.authorize = authorize;
|
|
400
|
+
/**
|
|
401
|
+
*
|
|
402
|
+
* @template XContext - Additional context type to merge with CTXAuth.
|
|
403
|
+
* @param {Object} [options] - Configuration options.
|
|
404
|
+
* @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
|
|
405
|
+
* @param {"base64" | "raw"} [options.type="base64"] - The token format/type
|
|
406
|
+
* @param {":" | " "} [options.separator=":"] - The separator for username and password
|
|
407
|
+
* @param {string} [options.realm="Protected"] - The realm of the basic authentication
|
|
408
|
+
* @returns
|
|
409
|
+
*/
|
|
410
|
+
const basicAuth = ({ credentials, type = "base64", separator = ":", realm = "Protected", }) => {
|
|
411
|
+
return (req, ctx) => {
|
|
412
|
+
const authorization = req.headers.get("authorization");
|
|
413
|
+
ctx.headers.set("WWW-Authenticate", `Basic realm="${realm}", charset="UTF-8"`);
|
|
414
|
+
if (!authorization)
|
|
415
|
+
return new Error("Missing authorization header");
|
|
416
|
+
const [scheme, creds] = authorization.split(" ", 2);
|
|
417
|
+
if (scheme.toLowerCase() !== "basic" || !creds)
|
|
418
|
+
return new Error("Invalid authorization scheme");
|
|
419
|
+
let xcreds = creds;
|
|
420
|
+
if (type === "base64") {
|
|
421
|
+
try {
|
|
422
|
+
xcreds = atob(creds);
|
|
423
|
+
}
|
|
424
|
+
catch (_a) {
|
|
425
|
+
return new Error("Bad authorization token");
|
|
426
|
+
}
|
|
427
|
+
}
|
|
428
|
+
const [username, password] = xcreds.split(separator, 2);
|
|
429
|
+
if (!username || !password)
|
|
430
|
+
return new Error("Bad authorization token");
|
|
431
|
+
const user = credentials.get(username);
|
|
432
|
+
if (!user || password !== user.password)
|
|
433
|
+
return new Error("Invalid credentials");
|
|
434
|
+
const auth = {
|
|
435
|
+
id: username,
|
|
436
|
+
role: user.role,
|
|
437
|
+
};
|
|
438
|
+
return auth;
|
|
439
|
+
};
|
|
440
|
+
};
|
|
441
|
+
exports.basicAuth = basicAuth;
|
|
392
442
|
/**
|
|
393
443
|
* Creates a Basic Authentication middleware.
|
|
394
444
|
* Supports RFC 7617 Basic Authentication scheme.
|
|
@@ -397,7 +447,7 @@ exports.authorize = authorize;
|
|
|
397
447
|
* @template {string} prop - Property name to store auth data in context
|
|
398
448
|
* @param {Object} config - Basic Authentication configuration
|
|
399
449
|
* @param {Map<string, {pass: string} & Record<string, any>>} config.credentials - Map of usernames to user data (must include 'pass')
|
|
400
|
-
* @param {"
|
|
450
|
+
* @param {"base64"|"raw"} [config.type="base64"] - Credential encoding type
|
|
401
451
|
* @param {":"|" "} [config.separator=":"] - Separator between username and password
|
|
402
452
|
* @param {string} [config.realm="Protected"] - Authentication realm
|
|
403
453
|
* @param {prop} [config.ctxProp="basicAuth"] - Context property name for auth data
|
|
@@ -409,13 +459,13 @@ exports.authorize = authorize;
|
|
|
409
459
|
* users.set("admin", { pass: "secret123", role: "admin", permissions: ["read", "write"] });
|
|
410
460
|
* users.set("user", { pass: "password", role: "user", permissions: ["read"] });
|
|
411
461
|
*
|
|
412
|
-
* const basicAuth =
|
|
462
|
+
* const basicAuth = parseAuthBasic({
|
|
413
463
|
* credentials: users,
|
|
414
464
|
* realm: "My API",
|
|
415
465
|
* ctxProp: "user" // Store in ctx.user instead of ctx.basicAuth
|
|
416
466
|
* });
|
|
417
467
|
*/
|
|
418
|
-
const
|
|
468
|
+
const parseAuthBasic = ({ credentials, type = "raw", separator = ":", realm = "Protected", ctxProp = "basicAuth", endHere = false, }) => {
|
|
419
469
|
return (req, ctx) => {
|
|
420
470
|
const authorization = req.headers.get("authorization");
|
|
421
471
|
ctx.headers.set("WWW-Authenticate", `Basic realm="${realm}", charset="UTF-8"`);
|
|
@@ -447,7 +497,11 @@ const authBasic = ({ credentials, type = "raw", separator = ":", realm = "Protec
|
|
|
447
497
|
return true;
|
|
448
498
|
};
|
|
449
499
|
};
|
|
450
|
-
exports.
|
|
500
|
+
exports.parseAuthBasic = parseAuthBasic;
|
|
501
|
+
/**
|
|
502
|
+
* @deprecated use `parseAuthBasic`
|
|
503
|
+
*/
|
|
504
|
+
exports.authBasic = exports.parseAuthBasic;
|
|
451
505
|
/**
|
|
452
506
|
* Creates an API Key Authentication middleware.
|
|
453
507
|
* Validates API keys from X-API-Key header.
|
|
@@ -463,14 +517,14 @@ exports.authBasic = authBasic;
|
|
|
463
517
|
* // API key validation with database lookup
|
|
464
518
|
* const apiKeys = new Set(["abc123", "def456", "ghi789"]);
|
|
465
519
|
*
|
|
466
|
-
* const apiKeyAuth =
|
|
520
|
+
* const apiKeyAuth = parseAuthAPIKey({
|
|
467
521
|
* verify: (apiKey) => apiKeys.has(apiKey),
|
|
468
522
|
* ctxProp: "apiClient" // Store in ctx.apiClient
|
|
469
523
|
* });
|
|
470
524
|
*
|
|
471
525
|
* @example
|
|
472
526
|
* // API key with additional validation
|
|
473
|
-
* const apiKeyAuth =
|
|
527
|
+
* const apiKeyAuth = parseAuthAPIKey({
|
|
474
528
|
* verify: (apiKey) => {
|
|
475
529
|
* // Validate format
|
|
476
530
|
* if (!apiKey.startsWith("sk_")) return false;
|
|
@@ -480,7 +534,7 @@ exports.authBasic = authBasic;
|
|
|
480
534
|
* }
|
|
481
535
|
* });
|
|
482
536
|
*/
|
|
483
|
-
const
|
|
537
|
+
const parseAuthAPIKey = ({ verify, ctxProp = "apiKeyAuth", endHere = false, }) => {
|
|
484
538
|
return (req, ctx) => {
|
|
485
539
|
const apiKey = req.headers.get("X-API-Key");
|
|
486
540
|
if (!apiKey || !verify(apiKey))
|
|
@@ -492,7 +546,11 @@ const authAPIKey = ({ verify, ctxProp = "apiKeyAuth", endHere = false, }) => {
|
|
|
492
546
|
return true;
|
|
493
547
|
};
|
|
494
548
|
};
|
|
495
|
-
exports.
|
|
549
|
+
exports.parseAuthAPIKey = parseAuthAPIKey;
|
|
550
|
+
/**
|
|
551
|
+
* @deprecated use `parseAuthAPIKey`
|
|
552
|
+
*/
|
|
553
|
+
exports.authAPIKey = exports.parseAuthAPIKey;
|
|
496
554
|
/**
|
|
497
555
|
* Creates a JWT (JSON Web Token) Authentication middleware.
|
|
498
556
|
* Validates Bearer tokens from Authorization header.
|
|
@@ -511,7 +569,7 @@ exports.authAPIKey = authAPIKey;
|
|
|
511
569
|
* // Simple JWT authentication
|
|
512
570
|
* const jwt = new JWT({ secret: process.env.JWT_SECRET });
|
|
513
571
|
*
|
|
514
|
-
* const jwtAuth =
|
|
572
|
+
* const jwtAuth = parseAuthJWT({
|
|
515
573
|
* jwt,
|
|
516
574
|
* validate: (payload) => payload.exp > Date.now() / 1000, // Check expiration
|
|
517
575
|
* ctxProp: "auth" // Store in ctx.auth
|
|
@@ -527,7 +585,7 @@ exports.authAPIKey = authAPIKey;
|
|
|
527
585
|
*
|
|
528
586
|
* const jwt = new JWT<MyPayload>({ secret: process.env.JWT_SECRET });
|
|
529
587
|
*
|
|
530
|
-
* const jwtAuth =
|
|
588
|
+
* const jwtAuth = parseAuthJWT<MyPayload>({
|
|
531
589
|
* jwt,
|
|
532
590
|
* validate: (payload) => {
|
|
533
591
|
* // Custom business logic
|
|
@@ -541,7 +599,7 @@ exports.authAPIKey = authAPIKey;
|
|
|
541
599
|
* }
|
|
542
600
|
* });
|
|
543
601
|
*/
|
|
544
|
-
const
|
|
602
|
+
const parseAuthJWT = ({ jwt, validate, verifyOptions, ctxProp = "jwtAuth", endHere = false, }) => {
|
|
545
603
|
return (req, ctx) => {
|
|
546
604
|
var _a;
|
|
547
605
|
const authorization = req.headers.get("authorization");
|
|
@@ -564,5 +622,9 @@ const authJWT = ({ jwt, validate, verifyOptions, ctxProp = "jwtAuth", endHere =
|
|
|
564
622
|
return true;
|
|
565
623
|
};
|
|
566
624
|
};
|
|
567
|
-
exports.
|
|
625
|
+
exports.parseAuthJWT = parseAuthJWT;
|
|
626
|
+
/**
|
|
627
|
+
* @deprecated use `parseAuthJWT`
|
|
628
|
+
*/
|
|
629
|
+
exports.authJWT = exports.parseAuthJWT;
|
|
568
630
|
//# 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
|
@@ -188,7 +188,7 @@ export interface CTXAuth {
|
|
|
188
188
|
/**
|
|
189
189
|
* auth context parser for authenticate middleware
|
|
190
190
|
*/
|
|
191
|
-
export type ParseAuthFn<XContext = {}> = (req: Request, ctx: RouterContext<Partial<CTXAuth> & XContext>) => Auth | Error | null | undefined;
|
|
191
|
+
export type ParseAuthFn<XContext = {}> = (req: Request, ctx: RouterContext<Partial<CTXAuth> & XContext>) => Promise<Auth | Error | null | undefined> | Auth | Error | null | undefined;
|
|
192
192
|
/**
|
|
193
193
|
* Middleware to authenticate a request.
|
|
194
194
|
*
|
|
@@ -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/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);
|
|
@@ -334,17 +338,21 @@ exports.cors = cors;
|
|
|
334
338
|
*/
|
|
335
339
|
const authenticate = ({ parseAuth, endHere = false, checkOnly = false, }) => {
|
|
336
340
|
return function (req, ctx) {
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
341
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
342
|
+
var _a;
|
|
343
|
+
let auth = parseAuth(req, ctx);
|
|
344
|
+
if (auth instanceof Promise)
|
|
345
|
+
auth = yield auth;
|
|
346
|
+
if (!auth) {
|
|
347
|
+
return checkOnly ? false : (0, helpers_1.status)(401);
|
|
348
|
+
}
|
|
349
|
+
else if (auth instanceof Error) {
|
|
350
|
+
return checkOnly ? false : (0, helpers_1.status)(401, (_a = auth.message) !== null && _a !== void 0 ? _a : undefined);
|
|
351
|
+
}
|
|
352
|
+
ctx.auth = auth;
|
|
353
|
+
if (endHere)
|
|
354
|
+
return true;
|
|
355
|
+
});
|
|
348
356
|
};
|
|
349
357
|
};
|
|
350
358
|
exports.authenticate = authenticate;
|
|
@@ -389,6 +397,48 @@ const authorize = ({ allowRole, forbidRole, forPermissions, hasPermission, endHe
|
|
|
389
397
|
};
|
|
390
398
|
};
|
|
391
399
|
exports.authorize = authorize;
|
|
400
|
+
/**
|
|
401
|
+
*
|
|
402
|
+
* @template XContext - Additional context type to merge with CTXAuth.
|
|
403
|
+
* @param {Object} [options] - Configuration options.
|
|
404
|
+
* @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
|
|
405
|
+
* @param {"base64" | "raw"} [options.type="base64"] - The token format/type
|
|
406
|
+
* @param {":" | " "} [options.separator=":"] - The separator for username and password
|
|
407
|
+
* @param {string} [options.realm="Protected"] - The realm of the basic authentication
|
|
408
|
+
* @returns
|
|
409
|
+
*/
|
|
410
|
+
const basicAuth = ({ credentials, type = "base64", separator = ":", realm = "Protected", }) => {
|
|
411
|
+
return (req, ctx) => {
|
|
412
|
+
const authorization = req.headers.get("authorization");
|
|
413
|
+
ctx.headers.set("WWW-Authenticate", `Basic realm="${realm}", charset="UTF-8"`);
|
|
414
|
+
if (!authorization)
|
|
415
|
+
return new Error("Missing authorization header");
|
|
416
|
+
const [scheme, creds] = authorization.split(" ", 2);
|
|
417
|
+
if (scheme.toLowerCase() !== "basic" || !creds)
|
|
418
|
+
return new Error("Invalid authorization scheme");
|
|
419
|
+
let xcreds = creds;
|
|
420
|
+
if (type === "base64") {
|
|
421
|
+
try {
|
|
422
|
+
xcreds = atob(creds);
|
|
423
|
+
}
|
|
424
|
+
catch (_a) {
|
|
425
|
+
return new Error("Bad authorization token");
|
|
426
|
+
}
|
|
427
|
+
}
|
|
428
|
+
const [username, password] = xcreds.split(separator, 2);
|
|
429
|
+
if (!username || !password)
|
|
430
|
+
return new Error("Bad authorization token");
|
|
431
|
+
const user = credentials.get(username);
|
|
432
|
+
if (!user || password !== user.password)
|
|
433
|
+
return new Error("Invalid credentials");
|
|
434
|
+
const auth = {
|
|
435
|
+
id: username,
|
|
436
|
+
role: user.role,
|
|
437
|
+
};
|
|
438
|
+
return auth;
|
|
439
|
+
};
|
|
440
|
+
};
|
|
441
|
+
exports.basicAuth = basicAuth;
|
|
392
442
|
/**
|
|
393
443
|
* Creates a Basic Authentication middleware.
|
|
394
444
|
* Supports RFC 7617 Basic Authentication scheme.
|
|
@@ -397,7 +447,7 @@ exports.authorize = authorize;
|
|
|
397
447
|
* @template {string} prop - Property name to store auth data in context
|
|
398
448
|
* @param {Object} config - Basic Authentication configuration
|
|
399
449
|
* @param {Map<string, {pass: string} & Record<string, any>>} config.credentials - Map of usernames to user data (must include 'pass')
|
|
400
|
-
* @param {"
|
|
450
|
+
* @param {"base64"|"raw"} [config.type="base64"] - Credential encoding type
|
|
401
451
|
* @param {":"|" "} [config.separator=":"] - Separator between username and password
|
|
402
452
|
* @param {string} [config.realm="Protected"] - Authentication realm
|
|
403
453
|
* @param {prop} [config.ctxProp="basicAuth"] - Context property name for auth data
|
|
@@ -409,13 +459,13 @@ exports.authorize = authorize;
|
|
|
409
459
|
* users.set("admin", { pass: "secret123", role: "admin", permissions: ["read", "write"] });
|
|
410
460
|
* users.set("user", { pass: "password", role: "user", permissions: ["read"] });
|
|
411
461
|
*
|
|
412
|
-
* const basicAuth =
|
|
462
|
+
* const basicAuth = parseAuthBasic({
|
|
413
463
|
* credentials: users,
|
|
414
464
|
* realm: "My API",
|
|
415
465
|
* ctxProp: "user" // Store in ctx.user instead of ctx.basicAuth
|
|
416
466
|
* });
|
|
417
467
|
*/
|
|
418
|
-
const
|
|
468
|
+
const parseAuthBasic = ({ credentials, type = "raw", separator = ":", realm = "Protected", ctxProp = "basicAuth", endHere = false, }) => {
|
|
419
469
|
return (req, ctx) => {
|
|
420
470
|
const authorization = req.headers.get("authorization");
|
|
421
471
|
ctx.headers.set("WWW-Authenticate", `Basic realm="${realm}", charset="UTF-8"`);
|
|
@@ -447,7 +497,11 @@ const authBasic = ({ credentials, type = "raw", separator = ":", realm = "Protec
|
|
|
447
497
|
return true;
|
|
448
498
|
};
|
|
449
499
|
};
|
|
450
|
-
exports.
|
|
500
|
+
exports.parseAuthBasic = parseAuthBasic;
|
|
501
|
+
/**
|
|
502
|
+
* @deprecated use `parseAuthBasic`
|
|
503
|
+
*/
|
|
504
|
+
exports.authBasic = exports.parseAuthBasic;
|
|
451
505
|
/**
|
|
452
506
|
* Creates an API Key Authentication middleware.
|
|
453
507
|
* Validates API keys from X-API-Key header.
|
|
@@ -463,14 +517,14 @@ exports.authBasic = authBasic;
|
|
|
463
517
|
* // API key validation with database lookup
|
|
464
518
|
* const apiKeys = new Set(["abc123", "def456", "ghi789"]);
|
|
465
519
|
*
|
|
466
|
-
* const apiKeyAuth =
|
|
520
|
+
* const apiKeyAuth = parseAuthAPIKey({
|
|
467
521
|
* verify: (apiKey) => apiKeys.has(apiKey),
|
|
468
522
|
* ctxProp: "apiClient" // Store in ctx.apiClient
|
|
469
523
|
* });
|
|
470
524
|
*
|
|
471
525
|
* @example
|
|
472
526
|
* // API key with additional validation
|
|
473
|
-
* const apiKeyAuth =
|
|
527
|
+
* const apiKeyAuth = parseAuthAPIKey({
|
|
474
528
|
* verify: (apiKey) => {
|
|
475
529
|
* // Validate format
|
|
476
530
|
* if (!apiKey.startsWith("sk_")) return false;
|
|
@@ -480,7 +534,7 @@ exports.authBasic = authBasic;
|
|
|
480
534
|
* }
|
|
481
535
|
* });
|
|
482
536
|
*/
|
|
483
|
-
const
|
|
537
|
+
const parseAuthAPIKey = ({ verify, ctxProp = "apiKeyAuth", endHere = false, }) => {
|
|
484
538
|
return (req, ctx) => {
|
|
485
539
|
const apiKey = req.headers.get("X-API-Key");
|
|
486
540
|
if (!apiKey || !verify(apiKey))
|
|
@@ -492,7 +546,11 @@ const authAPIKey = ({ verify, ctxProp = "apiKeyAuth", endHere = false, }) => {
|
|
|
492
546
|
return true;
|
|
493
547
|
};
|
|
494
548
|
};
|
|
495
|
-
exports.
|
|
549
|
+
exports.parseAuthAPIKey = parseAuthAPIKey;
|
|
550
|
+
/**
|
|
551
|
+
* @deprecated use `parseAuthAPIKey`
|
|
552
|
+
*/
|
|
553
|
+
exports.authAPIKey = exports.parseAuthAPIKey;
|
|
496
554
|
/**
|
|
497
555
|
* Creates a JWT (JSON Web Token) Authentication middleware.
|
|
498
556
|
* Validates Bearer tokens from Authorization header.
|
|
@@ -511,7 +569,7 @@ exports.authAPIKey = authAPIKey;
|
|
|
511
569
|
* // Simple JWT authentication
|
|
512
570
|
* const jwt = new JWT({ secret: process.env.JWT_SECRET });
|
|
513
571
|
*
|
|
514
|
-
* const jwtAuth =
|
|
572
|
+
* const jwtAuth = parseAuthJWT({
|
|
515
573
|
* jwt,
|
|
516
574
|
* validate: (payload) => payload.exp > Date.now() / 1000, // Check expiration
|
|
517
575
|
* ctxProp: "auth" // Store in ctx.auth
|
|
@@ -527,7 +585,7 @@ exports.authAPIKey = authAPIKey;
|
|
|
527
585
|
*
|
|
528
586
|
* const jwt = new JWT<MyPayload>({ secret: process.env.JWT_SECRET });
|
|
529
587
|
*
|
|
530
|
-
* const jwtAuth =
|
|
588
|
+
* const jwtAuth = parseAuthJWT<MyPayload>({
|
|
531
589
|
* jwt,
|
|
532
590
|
* validate: (payload) => {
|
|
533
591
|
* // Custom business logic
|
|
@@ -541,7 +599,7 @@ exports.authAPIKey = authAPIKey;
|
|
|
541
599
|
* }
|
|
542
600
|
* });
|
|
543
601
|
*/
|
|
544
|
-
const
|
|
602
|
+
const parseAuthJWT = ({ jwt, validate, verifyOptions, ctxProp = "jwtAuth", endHere = false, }) => {
|
|
545
603
|
return (req, ctx) => {
|
|
546
604
|
var _a;
|
|
547
605
|
const authorization = req.headers.get("authorization");
|
|
@@ -564,5 +622,9 @@ const authJWT = ({ jwt, validate, verifyOptions, ctxProp = "jwtAuth", endHere =
|
|
|
564
622
|
return true;
|
|
565
623
|
};
|
|
566
624
|
};
|
|
567
|
-
exports.
|
|
625
|
+
exports.parseAuthJWT = parseAuthJWT;
|
|
626
|
+
/**
|
|
627
|
+
* @deprecated use `parseAuthJWT`
|
|
628
|
+
*/
|
|
629
|
+
exports.authJWT = exports.parseAuthJWT;
|
|
568
630
|
//# 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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"}
|