@digitaldefiance/node-express-suite 3.15.0 → 3.16.0
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/package.json +1 -1
- package/src/__tests__/helpers/application.mock.d.ts.map +1 -1
- package/src/__tests__/helpers/application.mock.js +5 -1
- package/src/__tests__/helpers/application.mock.js.map +1 -1
- package/src/application-base.d.ts +10 -0
- package/src/application-base.d.ts.map +1 -1
- package/src/application-base.js +13 -0
- package/src/application-base.js.map +1 -1
- package/src/controllers/base.d.ts +14 -4
- package/src/controllers/base.d.ts.map +1 -1
- package/src/controllers/base.js +61 -9
- package/src/controllers/base.js.map +1 -1
- package/src/controllers/openapi.d.ts +1 -1
- package/src/controllers/openapi.d.ts.map +1 -1
- package/src/controllers/openapi.js.map +1 -1
- package/src/controllers/user.d.ts +2 -2
- package/src/controllers/user.d.ts.map +1 -1
- package/src/controllers/user.js.map +1 -1
- package/src/decorators/base-controller.d.ts +4 -3
- package/src/decorators/base-controller.d.ts.map +1 -1
- package/src/decorators/base-controller.js +1 -0
- package/src/decorators/base-controller.js.map +1 -1
- package/src/interfaces/application.d.ts +8 -0
- package/src/interfaces/application.d.ts.map +1 -1
- package/src/interfaces/authentication-provider.d.ts +76 -0
- package/src/interfaces/authentication-provider.d.ts.map +1 -0
- package/src/interfaces/authentication-provider.js +10 -0
- package/src/interfaces/authentication-provider.js.map +1 -0
- package/src/interfaces/index.d.ts +1 -0
- package/src/interfaces/index.d.ts.map +1 -1
- package/src/interfaces/index.js +1 -0
- package/src/interfaces/index.js.map +1 -1
- package/src/middlewares/authenticate-crypto.d.ts +9 -3
- package/src/middlewares/authenticate-crypto.d.ts.map +1 -1
- package/src/middlewares/authenticate-crypto.js +62 -50
- package/src/middlewares/authenticate-crypto.js.map +1 -1
- package/src/middlewares/authenticate-token.d.ts +9 -8
- package/src/middlewares/authenticate-token.d.ts.map +1 -1
- package/src/middlewares/authenticate-token.js +42 -41
- package/src/middlewares/authenticate-token.js.map +1 -1
- package/src/services/index.d.ts +1 -0
- package/src/services/index.d.ts.map +1 -1
- package/src/services/index.js +1 -0
- package/src/services/index.js.map +1 -1
- package/src/services/mongo-authentication-provider.d.ts +27 -0
- package/src/services/mongo-authentication-provider.d.ts.map +1 -0
- package/src/services/mongo-authentication-provider.js +84 -0
- package/src/services/mongo-authentication-provider.js.map +1 -0
|
@@ -18,7 +18,7 @@ import type { PlatformID } from '@digitaldefiance/node-ecies-lib';
|
|
|
18
18
|
import { Request, Response } from 'express';
|
|
19
19
|
import 'reflect-metadata';
|
|
20
20
|
import { BaseController } from '../controllers/base';
|
|
21
|
-
import {
|
|
21
|
+
import { IApplication } from '../interfaces/application';
|
|
22
22
|
import { ApiResponse } from '../types';
|
|
23
23
|
import { EnhancedRouteMetadata } from './http-methods';
|
|
24
24
|
import { ParamMetadata } from '../interfaces/openApi/decoratorOptions';
|
|
@@ -77,14 +77,15 @@ export interface CollectedRouteMetadata<TLanguage extends CoreLanguageCode = Cor
|
|
|
77
77
|
*
|
|
78
78
|
* @template TLanguage - Language code type (defaults to CoreLanguageCode)
|
|
79
79
|
* @template TID - Platform ID type (defaults to Buffer)
|
|
80
|
+
* @template TApplication - Application interface type (defaults to IApplication<TID>)
|
|
80
81
|
*/
|
|
81
|
-
export declare abstract class DecoratorBaseController<TLanguage extends CoreLanguageCode = CoreLanguageCode, TID extends PlatformID = Buffer> extends BaseController<ApiResponse, Record<string, unknown>, TLanguage, TID> {
|
|
82
|
+
export declare abstract class DecoratorBaseController<TLanguage extends CoreLanguageCode = CoreLanguageCode, TID extends PlatformID = Buffer, TApplication extends IApplication<TID> = IApplication<TID>> extends BaseController<ApiResponse, Record<string, unknown>, TLanguage, TID, TApplication> {
|
|
82
83
|
/**
|
|
83
84
|
* Gets the collected metadata map for this instance.
|
|
84
85
|
* Uses a WeakMap to avoid class field initialization issues.
|
|
85
86
|
*/
|
|
86
87
|
private getCollectedMetadataMap;
|
|
87
|
-
constructor(application:
|
|
88
|
+
constructor(application: TApplication);
|
|
88
89
|
/**
|
|
89
90
|
* Initializes route definitions by collecting all decorator metadata.
|
|
90
91
|
* This method:
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base-controller.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite/src/decorators/base-controller.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAClE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAC5C,OAAO,kBAAkB,CAAC;AAE1B,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"base-controller.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite/src/decorators/base-controller.ts"],"names":[],"mappings":"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"}
|
|
@@ -56,6 +56,7 @@ const collectedMetadataStore = new WeakMap();
|
|
|
56
56
|
*
|
|
57
57
|
* @template TLanguage - Language code type (defaults to CoreLanguageCode)
|
|
58
58
|
* @template TID - Platform ID type (defaults to Buffer)
|
|
59
|
+
* @template TApplication - Application interface type (defaults to IApplication<TID>)
|
|
59
60
|
*/
|
|
60
61
|
class DecoratorBaseController extends base_1.BaseController {
|
|
61
62
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base-controller.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite/src/decorators/base-controller.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"base-controller.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite/src/decorators/base-controller.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,6 +6,7 @@
|
|
|
6
6
|
*/
|
|
7
7
|
import { ServiceContainer } from '../container';
|
|
8
8
|
import { Environment } from '../environment';
|
|
9
|
+
import { IAuthenticationProvider } from './authentication-provider';
|
|
9
10
|
import { IConstants } from './constants';
|
|
10
11
|
import type { IDatabase } from './storage/database';
|
|
11
12
|
import type { PlatformID } from '@digitaldefiance/node-ecies-lib';
|
|
@@ -33,6 +34,13 @@ export interface IApplication<TID extends PlatformID = Buffer> {
|
|
|
33
34
|
* Optional — not all applications require a database.
|
|
34
35
|
*/
|
|
35
36
|
get database(): IDatabase | undefined;
|
|
37
|
+
/**
|
|
38
|
+
* Storage-agnostic authentication provider.
|
|
39
|
+
* Supplies user lookup, role resolution, and credential verification
|
|
40
|
+
* for the authentication middlewares.
|
|
41
|
+
* Optional — not all applications require authentication.
|
|
42
|
+
*/
|
|
43
|
+
get authProvider(): IAuthenticationProvider<TID> | undefined;
|
|
36
44
|
/** Starts the application and initializes all services */
|
|
37
45
|
start(): Promise<void>;
|
|
38
46
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"application.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite/src/interfaces/application.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAElE;;;;;GAKG;AACH,MAAM,WAAW,YAAY,CAAC,GAAG,SAAS,UAAU,GAAG,MAAM;IAC3D,4CAA4C;IAC5C,IAAI,WAAW,IAAI,WAAW,CAAC,GAAG,CAAC,CAAC;IACpC,qDAAqD;IACrD,IAAI,SAAS,IAAI,UAAU,CAAC;IAC5B,0DAA0D;IAC1D,IAAI,KAAK,IAAI,OAAO,CAAC;IACrB,iDAAiD;IACjD,IAAI,QAAQ,IAAI,gBAAgB,CAAC;IACjC,uCAAuC;IACvC,IAAI,OAAO,IAAI,OAAO,YAAY,EAAE,aAAa,CAAC,GAAG,CAAC,CAAC;IACvD;;;;;OAKG;IACH,IAAI,QAAQ,IAAI,SAAS,GAAG,SAAS,CAAC;IACtC,0DAA0D;IAC1D,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACxB"}
|
|
1
|
+
{"version":3,"file":"application.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite/src/interfaces/application.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAElE;;;;;GAKG;AACH,MAAM,WAAW,YAAY,CAAC,GAAG,SAAS,UAAU,GAAG,MAAM;IAC3D,4CAA4C;IAC5C,IAAI,WAAW,IAAI,WAAW,CAAC,GAAG,CAAC,CAAC;IACpC,qDAAqD;IACrD,IAAI,SAAS,IAAI,UAAU,CAAC;IAC5B,0DAA0D;IAC1D,IAAI,KAAK,IAAI,OAAO,CAAC;IACrB,iDAAiD;IACjD,IAAI,QAAQ,IAAI,gBAAgB,CAAC;IACjC,uCAAuC;IACvC,IAAI,OAAO,IAAI,OAAO,YAAY,EAAE,aAAa,CAAC,GAAG,CAAC,CAAC;IACvD;;;;;OAKG;IACH,IAAI,QAAQ,IAAI,SAAS,GAAG,SAAS,CAAC;IACtC;;;;;OAKG;IACH,IAAI,YAAY,IAAI,uBAAuB,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC;IAC7D,0DAA0D;IAC1D,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACxB"}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Storage-agnostic authentication provider interface.
|
|
3
|
+
* Abstracts user lookup, role fetching, and credential verification
|
|
4
|
+
* so that authentication middlewares work with any storage backend
|
|
5
|
+
* (Mongoose, BrightChainDb, etc.).
|
|
6
|
+
* @module interfaces/authentication-provider
|
|
7
|
+
*/
|
|
8
|
+
import type { SecureString } from '@digitaldefiance/ecies-lib';
|
|
9
|
+
import type { Member as BackendMember } from '@digitaldefiance/node-ecies-lib';
|
|
10
|
+
import type { PlatformID } from '@digitaldefiance/node-ecies-lib';
|
|
11
|
+
import type { IRequestUserDTO, ITokenUser } from '@digitaldefiance/suite-core-lib';
|
|
12
|
+
/**
|
|
13
|
+
* Minimal user record returned by the authentication provider.
|
|
14
|
+
* Contains only the fields needed by the authentication middlewares.
|
|
15
|
+
*/
|
|
16
|
+
export interface IAuthenticatedUser<TLanguage extends string = string> {
|
|
17
|
+
/** Stringified user ID */
|
|
18
|
+
id: string;
|
|
19
|
+
/** Account status (e.g. 'Active', 'Suspended') */
|
|
20
|
+
accountStatus: string;
|
|
21
|
+
/** User's email address */
|
|
22
|
+
email: string;
|
|
23
|
+
/** User's site language preference */
|
|
24
|
+
siteLanguage?: TLanguage;
|
|
25
|
+
/** User's timezone */
|
|
26
|
+
timezone: string;
|
|
27
|
+
/** Last login timestamp (ISO string or undefined) */
|
|
28
|
+
lastLogin?: string;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Result of a crypto-authentication (mnemonic or password login).
|
|
32
|
+
*/
|
|
33
|
+
export interface ICryptoAuthResult<TID extends PlatformID = Buffer> {
|
|
34
|
+
/** The authenticated user's ID as a string */
|
|
35
|
+
userId: string;
|
|
36
|
+
/** The authenticated BackendMember with private key loaded */
|
|
37
|
+
userMember: BackendMember<TID>;
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Storage-agnostic authentication provider.
|
|
41
|
+
*
|
|
42
|
+
* Implementations supply user lookup, role resolution, and credential
|
|
43
|
+
* verification. The express-suite authentication middlewares delegate to
|
|
44
|
+
* this interface instead of calling Mongoose directly.
|
|
45
|
+
*
|
|
46
|
+
* @template TID Platform-specific ID type (Buffer, ObjectId, etc.)
|
|
47
|
+
* @template TLanguage Site language string literal type
|
|
48
|
+
*/
|
|
49
|
+
export interface IAuthenticationProvider<TID extends PlatformID = Buffer, TLanguage extends string = string> {
|
|
50
|
+
/**
|
|
51
|
+
* Look up a user by their ID and return a minimal user record.
|
|
52
|
+
* Returns null if the user does not exist.
|
|
53
|
+
*/
|
|
54
|
+
findUserById(userId: string): Promise<IAuthenticatedUser<TLanguage> | null>;
|
|
55
|
+
/**
|
|
56
|
+
* Build an IRequestUserDTO for the given user.
|
|
57
|
+
* Includes role resolution and privilege calculation.
|
|
58
|
+
*/
|
|
59
|
+
buildRequestUserDTO(userId: string): Promise<IRequestUserDTO | null>;
|
|
60
|
+
/**
|
|
61
|
+
* Verify a JWT token and return the decoded token user.
|
|
62
|
+
* Returns null if the token is invalid.
|
|
63
|
+
*/
|
|
64
|
+
verifyToken<TTokenUser extends ITokenUser = ITokenUser>(token: string): Promise<TTokenUser | null>;
|
|
65
|
+
/**
|
|
66
|
+
* Authenticate with a mnemonic and return the crypto result.
|
|
67
|
+
* Throws on invalid credentials.
|
|
68
|
+
*/
|
|
69
|
+
authenticateWithMnemonic?(email: string, mnemonic: SecureString): Promise<ICryptoAuthResult<TID>>;
|
|
70
|
+
/**
|
|
71
|
+
* Authenticate with a password and return the crypto result.
|
|
72
|
+
* Throws on invalid credentials.
|
|
73
|
+
*/
|
|
74
|
+
authenticateWithPassword?(email: string, password: string): Promise<ICryptoAuthResult<TID>>;
|
|
75
|
+
}
|
|
76
|
+
//# sourceMappingURL=authentication-provider.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"authentication-provider.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite/src/interfaces/authentication-provider.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,KAAK,EAAE,MAAM,IAAI,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAC/E,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAClE,OAAO,KAAK,EACV,eAAe,EACf,UAAU,EACX,MAAM,iCAAiC,CAAC;AAEzC;;;GAGG;AACH,MAAM,WAAW,kBAAkB,CAAC,SAAS,SAAS,MAAM,GAAG,MAAM;IACnE,0BAA0B;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,kDAAkD;IAClD,aAAa,EAAE,MAAM,CAAC;IACtB,2BAA2B;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,sCAAsC;IACtC,YAAY,CAAC,EAAE,SAAS,CAAC;IACzB,sBAAsB;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,qDAAqD;IACrD,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB,CAAC,GAAG,SAAS,UAAU,GAAG,MAAM;IAChE,8CAA8C;IAC9C,MAAM,EAAE,MAAM,CAAC;IACf,8DAA8D;IAC9D,UAAU,EAAE,aAAa,CAAC,GAAG,CAAC,CAAC;CAChC;AAED;;;;;;;;;GASG;AACH,MAAM,WAAW,uBAAuB,CACtC,GAAG,SAAS,UAAU,GAAG,MAAM,EAC/B,SAAS,SAAS,MAAM,GAAG,MAAM;IAEjC;;;OAGG;IACH,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,CAAC;IAE5E;;;OAGG;IACH,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC,CAAC;IAErE;;;OAGG;IACH,WAAW,CAAC,UAAU,SAAS,UAAU,GAAG,UAAU,EACpD,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CAAC;IAE9B;;;OAGG;IACH,wBAAwB,CAAC,CACvB,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,YAAY,GACrB,OAAO,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC;IAEnC;;;OAGG;IACH,wBAAwB,CAAC,CACvB,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC;CACpC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* @fileoverview Storage-agnostic authentication provider interface.
|
|
4
|
+
* Abstracts user lookup, role fetching, and credential verification
|
|
5
|
+
* so that authentication middlewares work with any storage backend
|
|
6
|
+
* (Mongoose, BrightChainDb, etc.).
|
|
7
|
+
* @module interfaces/authentication-provider
|
|
8
|
+
*/
|
|
9
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
|
+
//# sourceMappingURL=authentication-provider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"authentication-provider.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite/src/interfaces/authentication-provider.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG"}
|
|
@@ -6,6 +6,7 @@ export * from './api-message-response';
|
|
|
6
6
|
export * from './api-mongo-validation-error-response';
|
|
7
7
|
export * from './api-responses';
|
|
8
8
|
export * from './application';
|
|
9
|
+
export * from './authentication-provider';
|
|
9
10
|
export * from './mongo-application';
|
|
10
11
|
export * from './backend-objects';
|
|
11
12
|
export * from './checksum-config';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite/src/interfaces/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,WAAW,CAAC;AAE1B,cAAc,sBAAsB,CAAC;AACrC,cAAc,yCAAyC,CAAC;AACxD,cAAc,wBAAwB,CAAC;AACvC,cAAc,uCAAuC,CAAC;AACtD,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC;AAC5B,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AACrC,cAAc,cAAc,CAAC;AAC7B,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,4BAA4B,CAAC;AAC3C,cAAc,cAAc,CAAC;AAC7B,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC;AACtC,cAAc,UAAU,CAAC;AACzB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,wBAAwB,CAAC;AACvC,cAAc,UAAU,CAAC;AACzB,cAAc,sBAAsB,CAAC;AACrC,cAAc,wBAAwB,CAAC;AACvC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,kBAAkB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite/src/interfaces/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,WAAW,CAAC;AAE1B,cAAc,sBAAsB,CAAC;AACrC,cAAc,yCAAyC,CAAC;AACxD,cAAc,wBAAwB,CAAC;AACvC,cAAc,uCAAuC,CAAC;AACtD,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,2BAA2B,CAAC;AAC1C,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC;AAC5B,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AACrC,cAAc,cAAc,CAAC;AAC7B,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,4BAA4B,CAAC;AAC3C,cAAc,cAAc,CAAC;AAC7B,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC;AACtC,cAAc,UAAU,CAAC;AACzB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,wBAAwB,CAAC;AACvC,cAAc,UAAU,CAAC;AACzB,cAAc,sBAAsB,CAAC;AACrC,cAAc,wBAAwB,CAAC;AACvC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,kBAAkB,CAAC"}
|
package/src/interfaces/index.js
CHANGED
|
@@ -9,6 +9,7 @@ tslib_1.__exportStar(require("./api-message-response"), exports);
|
|
|
9
9
|
tslib_1.__exportStar(require("./api-mongo-validation-error-response"), exports);
|
|
10
10
|
tslib_1.__exportStar(require("./api-responses"), exports);
|
|
11
11
|
tslib_1.__exportStar(require("./application"), exports);
|
|
12
|
+
tslib_1.__exportStar(require("./authentication-provider"), exports);
|
|
12
13
|
tslib_1.__exportStar(require("./mongo-application"), exports);
|
|
13
14
|
tslib_1.__exportStar(require("./backend-objects"), exports);
|
|
14
15
|
tslib_1.__exportStar(require("./checksum-config"), exports);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite/src/interfaces/index.ts"],"names":[],"mappings":";;;AAAA,2DAAiC;AACjC,oDAA0B;AAE1B,+DAAqC;AACrC,kFAAwD;AACxD,iEAAuC;AACvC,gFAAsD;AACtD,0DAAgC;AAChC,wDAA8B;AAC9B,8DAAoC;AACpC,4DAAkC;AAClC,4DAAkC;AAClC,4DAAkC;AAClC,sDAA4B;AAC5B,8DAAoC;AACpC,+DAAqC;AACrC,uDAA6B;AAC7B,2DAAiC;AACjC,2DAAiC;AACjC,sEAA4C;AAC5C,0DAAgC;AAChC,wDAA8B;AAC9B,8DAAoC;AACpC,4DAAkC;AAClC,uDAA6B;AAC7B,yDAA+B;AAC/B,qEAA2C;AAC3C,uDAA6B;AAC7B,8DAAoC;AACpC,gEAAsC;AACtC,mDAAyB;AACzB,yDAA+B;AAC/B,oDAA0B;AAC1B,oDAA0B;AAC1B,yDAA+B;AAC/B,iEAAuC;AACvC,mDAAyB;AACzB,+DAAqC;AACrC,iEAAuC;AACvC,yEAA+C;AAC/C,2DAAiC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite/src/interfaces/index.ts"],"names":[],"mappings":";;;AAAA,2DAAiC;AACjC,oDAA0B;AAE1B,+DAAqC;AACrC,kFAAwD;AACxD,iEAAuC;AACvC,gFAAsD;AACtD,0DAAgC;AAChC,wDAA8B;AAC9B,oEAA0C;AAC1C,8DAAoC;AACpC,4DAAkC;AAClC,4DAAkC;AAClC,4DAAkC;AAClC,sDAA4B;AAC5B,8DAAoC;AACpC,+DAAqC;AACrC,uDAA6B;AAC7B,2DAAiC;AACjC,2DAAiC;AACjC,sEAA4C;AAC5C,0DAAgC;AAChC,wDAA8B;AAC9B,8DAAoC;AACpC,4DAAkC;AAClC,uDAA6B;AAC7B,yDAA+B;AAC/B,qEAA2C;AAC3C,uDAA6B;AAC7B,8DAAoC;AACpC,gEAAsC;AACtC,mDAAyB;AACzB,yDAA+B;AAC/B,oDAA0B;AAC1B,oDAA0B;AAC1B,yDAA+B;AAC/B,iEAAuC;AACvC,mDAAyB;AACzB,+DAAqC;AACrC,iEAAuC;AACvC,yEAA+C;AAC/C,2DAAiC"}
|
|
@@ -1,20 +1,26 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @fileoverview Cryptographic authentication middleware for operations requiring private keys.
|
|
3
3
|
* Validates mnemonic or password to unlock user's private key for sensitive operations.
|
|
4
|
+
* Storage-agnostic — delegates credential verification to IAuthenticationProvider.
|
|
4
5
|
* @module middlewares/authenticate-crypto
|
|
5
6
|
*/
|
|
6
7
|
import { PlatformID } from '@digitaldefiance/node-ecies-lib';
|
|
7
8
|
import { AccountStatus } from '@digitaldefiance/suite-core-lib';
|
|
8
9
|
import { NextFunction, Request, Response } from 'express';
|
|
9
|
-
import {
|
|
10
|
+
import { IApplication } from '../interfaces/application';
|
|
10
11
|
/**
|
|
11
12
|
* Express middleware for cryptographic authentication.
|
|
12
13
|
* Requires mnemonic or password in request body to unlock user's private key.
|
|
13
14
|
* Attaches authenticated BackendMember with private key to req.eciesUser.
|
|
14
15
|
* Used for operations requiring cryptographic signing or decryption.
|
|
16
|
+
*
|
|
17
|
+
* Delegates to `application.authProvider` for storage-agnostic credential
|
|
18
|
+
* verification. The application must have an authProvider configured with
|
|
19
|
+
* authenticateWithMnemonic and/or authenticateWithPassword.
|
|
20
|
+
*
|
|
15
21
|
* @template TID - Platform ID type (defaults to Buffer)
|
|
16
22
|
* @template TAccountStatus - Account status type (defaults to AccountStatus)
|
|
17
|
-
* @param {
|
|
23
|
+
* @param {IApplication<TID>} application - Application instance with authProvider
|
|
18
24
|
* @param {Request} req - Express request object
|
|
19
25
|
* @param {Response} res - Express response object
|
|
20
26
|
* @param {NextFunction} next - Express next function
|
|
@@ -23,5 +29,5 @@ import { IMongoApplication } from '../interfaces/mongo-application';
|
|
|
23
29
|
* @throws {InvalidCredentialsError} When credentials are invalid
|
|
24
30
|
* @throws {InvalidPasswordError} When password is incorrect
|
|
25
31
|
*/
|
|
26
|
-
export declare function authenticateCrypto<TID extends PlatformID = Buffer, TAccountStatus extends string = AccountStatus>(application:
|
|
32
|
+
export declare function authenticateCrypto<TID extends PlatformID = Buffer, TAccountStatus extends string = AccountStatus>(application: IApplication<TID>, req: Request, res: Response, next: NextFunction, activeStatusValue?: TAccountStatus): Promise<Response | void>;
|
|
27
33
|
//# sourceMappingURL=authenticate-crypto.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"authenticate-crypto.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite/src/middlewares/authenticate-crypto.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"authenticate-crypto.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite/src/middlewares/authenticate-crypto.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAC7D,OAAO,EACL,aAAa,EAId,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAE1D,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAEzD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAsB,kBAAkB,CACtC,GAAG,SAAS,UAAU,GAAG,MAAM,EAC/B,cAAc,SAAS,MAAM,GAAG,aAAa,EAE7C,WAAW,EAAE,YAAY,CAAC,GAAG,CAAC,EAC9B,GAAG,EAAE,OAAO,EACZ,GAAG,EAAE,QAAQ,EACb,IAAI,EAAE,YAAY,EAClB,iBAAiB,GAAE,cAAuD,GACzE,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,CA6K1B"}
|
|
@@ -2,24 +2,27 @@
|
|
|
2
2
|
/**
|
|
3
3
|
* @fileoverview Cryptographic authentication middleware for operations requiring private keys.
|
|
4
4
|
* Validates mnemonic or password to unlock user's private key for sensitive operations.
|
|
5
|
+
* Storage-agnostic — delegates credential verification to IAuthenticationProvider.
|
|
5
6
|
* @module middlewares/authenticate-crypto
|
|
6
7
|
*/
|
|
7
8
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
9
|
exports.authenticateCrypto = authenticateCrypto;
|
|
9
10
|
const ecies_lib_1 = require("@digitaldefiance/ecies-lib");
|
|
10
11
|
const suite_core_lib_1 = require("@digitaldefiance/suite-core-lib");
|
|
11
|
-
const container_1 = require("../container");
|
|
12
|
-
const enumerations_1 = require("../enumerations");
|
|
13
12
|
const errors_1 = require("../errors");
|
|
14
|
-
const utils_1 = require("../utils");
|
|
15
13
|
/**
|
|
16
14
|
* Express middleware for cryptographic authentication.
|
|
17
15
|
* Requires mnemonic or password in request body to unlock user's private key.
|
|
18
16
|
* Attaches authenticated BackendMember with private key to req.eciesUser.
|
|
19
17
|
* Used for operations requiring cryptographic signing or decryption.
|
|
18
|
+
*
|
|
19
|
+
* Delegates to `application.authProvider` for storage-agnostic credential
|
|
20
|
+
* verification. The application must have an authProvider configured with
|
|
21
|
+
* authenticateWithMnemonic and/or authenticateWithPassword.
|
|
22
|
+
*
|
|
20
23
|
* @template TID - Platform ID type (defaults to Buffer)
|
|
21
24
|
* @template TAccountStatus - Account status type (defaults to AccountStatus)
|
|
22
|
-
* @param {
|
|
25
|
+
* @param {IApplication<TID>} application - Application instance with authProvider
|
|
23
26
|
* @param {Request} req - Express request object
|
|
24
27
|
* @param {Response} res - Express response object
|
|
25
28
|
* @param {NextFunction} next - Express next function
|
|
@@ -29,6 +32,10 @@ const utils_1 = require("../utils");
|
|
|
29
32
|
* @throws {InvalidPasswordError} When password is incorrect
|
|
30
33
|
*/
|
|
31
34
|
async function authenticateCrypto(application, req, res, next, activeStatusValue = suite_core_lib_1.AccountStatus.Active) {
|
|
35
|
+
const authProvider = application.authProvider;
|
|
36
|
+
if (!authProvider) {
|
|
37
|
+
return res.status(500).send('Authentication provider not configured');
|
|
38
|
+
}
|
|
32
39
|
if (!req.user) {
|
|
33
40
|
return res.status(401).send(
|
|
34
41
|
// amazonq-ignore-next-line false positive, hardcoded string
|
|
@@ -60,61 +67,66 @@ async function authenticateCrypto(application, req, res, next, activeStatusValue
|
|
|
60
67
|
message: (0, suite_core_lib_1.getSuiteCoreTranslation)(suite_core_lib_1.SuiteCoreStringKey.Validation_MnemonicOrPasswordRequired),
|
|
61
68
|
});
|
|
62
69
|
}
|
|
63
|
-
const UserModel = application.getModel(enumerations_1.BaseModelName.User);
|
|
64
|
-
const userService = application.services.get(container_1.ServiceKeys.USER);
|
|
65
70
|
try {
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
71
|
+
// Verify the user exists and is active
|
|
72
|
+
const authenticatedUser = await authProvider.findUserById(req.user.id);
|
|
73
|
+
if (!authenticatedUser ||
|
|
74
|
+
authenticatedUser.accountStatus !== activeStatusValue) {
|
|
75
|
+
return res.status(403).send(
|
|
76
|
+
// amazonq-ignore-next-line false positive, hardcoded string
|
|
77
|
+
(0, suite_core_lib_1.getSuiteCoreTranslation)(suite_core_lib_1.SuiteCoreStringKey.Validation_UserNotFound));
|
|
78
|
+
}
|
|
79
|
+
// Ensure we're only authenticating the currently logged-in user
|
|
80
|
+
if (authenticatedUser.id !== req.user.id) {
|
|
81
|
+
return res.status(403).send(
|
|
82
|
+
// amazonq-ignore-next-line false positive, hardcoded string
|
|
83
|
+
(0, suite_core_lib_1.getSuiteCoreTranslation)(suite_core_lib_1.SuiteCoreStringKey.Validation_InvalidCredentials));
|
|
84
|
+
}
|
|
85
|
+
if (mnemonic) {
|
|
86
|
+
if (!authProvider.authenticateWithMnemonic) {
|
|
87
|
+
return res.status(501).send({
|
|
88
|
+
message: 'Mnemonic authentication not supported by this provider',
|
|
89
|
+
});
|
|
80
90
|
}
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
userMnemonic.dispose();
|
|
91
|
+
const userMnemonic = new ecies_lib_1.SecureString(mnemonic);
|
|
92
|
+
try {
|
|
93
|
+
const result = await authProvider.authenticateWithMnemonic(authenticatedUser.email, userMnemonic);
|
|
94
|
+
// Double-check authenticated user matches logged-in user
|
|
95
|
+
if (result.userId !== req.user.id) {
|
|
96
|
+
return res
|
|
97
|
+
.status(403)
|
|
98
|
+
.send((0, suite_core_lib_1.getSuiteCoreTranslation)(suite_core_lib_1.SuiteCoreStringKey.Validation_InvalidCredentials));
|
|
90
99
|
}
|
|
100
|
+
req.eciesUser = result.userMember;
|
|
91
101
|
}
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
loginResult = await userService.loginWithPassword(userDoc.email, password, sess);
|
|
102
|
+
finally {
|
|
103
|
+
userMnemonic.dispose();
|
|
95
104
|
}
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
message:
|
|
105
|
+
}
|
|
106
|
+
else if (password) {
|
|
107
|
+
if (!authProvider.authenticateWithPassword) {
|
|
108
|
+
return res.status(501).send({
|
|
109
|
+
message: 'Password authentication not supported by this provider',
|
|
101
110
|
});
|
|
102
111
|
}
|
|
112
|
+
const result = await authProvider.authenticateWithPassword(authenticatedUser.email, password);
|
|
103
113
|
// Double-check authenticated user matches logged-in user
|
|
104
|
-
if (
|
|
105
|
-
return res
|
|
106
|
-
|
|
107
|
-
|
|
114
|
+
if (result.userId !== req.user.id) {
|
|
115
|
+
return res
|
|
116
|
+
.status(403)
|
|
117
|
+
.send((0, suite_core_lib_1.getSuiteCoreTranslation)(suite_core_lib_1.SuiteCoreStringKey.Validation_InvalidCredentials));
|
|
108
118
|
}
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
//
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
}
|
|
119
|
+
req.eciesUser = result.userMember;
|
|
120
|
+
}
|
|
121
|
+
else {
|
|
122
|
+
// Should not happen due to earlier guard; keeps TypeScript happy
|
|
123
|
+
return res.status(400).send({
|
|
124
|
+
// amazonq-ignore-next-line false positive, hardcoded string
|
|
125
|
+
message: (0, suite_core_lib_1.getSuiteCoreTranslation)(suite_core_lib_1.SuiteCoreStringKey.Validation_MnemonicOrPasswordRequired),
|
|
126
|
+
});
|
|
127
|
+
}
|
|
128
|
+
next();
|
|
129
|
+
return;
|
|
118
130
|
}
|
|
119
131
|
catch (err) {
|
|
120
132
|
if (err instanceof suite_core_lib_1.InvalidCredentialsError ||
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"authenticate-crypto.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite/src/middlewares/authenticate-crypto.ts"],"names":[],"mappings":";AAAA
|
|
1
|
+
{"version":3,"file":"authenticate-crypto.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite/src/middlewares/authenticate-crypto.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;AAmCH,gDAsLC;AAvND,0DAA0D;AAE1D,oEAKyC;AAEzC,sCAAiD;AAGjD;;;;;;;;;;;;;;;;;;;;GAoBG;AACI,KAAK,UAAU,kBAAkB,CAItC,WAA8B,EAC9B,GAAY,EACZ,GAAa,EACb,IAAkB,EAClB,oBAAoC,8BAAa,CAAC,MAAwB;IAE1E,MAAM,YAAY,GAAG,WAAW,CAAC,YAAY,CAAC;IAC9C,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,wCAAwC,CAAC,CAAC;IACxE,CAAC;IAED,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;QACd,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI;QACzB,4DAA4D;QAC5D,IAAA,wCAAuB,EAAC,mCAAkB,CAAC,uBAAuB,CAAC,CACpE,CAAC;IACJ,CAAC;IAED,8EAA8E;IAC9E,mFAAmF;IACnF,MAAM,aAAa,GAAI,GAA6C;SACjE,aAAoD,CAAC;IACxD,MAAM,OAAO,GAAG,GAAG,CAAC,IAA2C,CAAC;IAChE,MAAM,UAAU,GAAG,aAAa,IAAI,OAAO,CAAC;IAE5C,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;YAC1B,4DAA4D;YAC5D,OAAO,EAAE,IAAA,wCAAuB,EAC9B,mCAAkB,CAAC,qCAAqC,CACzD;SACF,CAAC,CAAC;IACL,CAAC;IAED,MAAM,QAAQ,GACZ,OAAO,UAAU,CAAC,UAAU,CAAC,KAAK,QAAQ;QACxC,CAAC,CAAE,UAAU,CAAC,UAAU,CAAY;QACpC,CAAC,CAAC,SAAS,CAAC;IAChB,MAAM,QAAQ;IACZ,0CAA0C;IAC1C,OAAO,UAAU,CAAC,UAAU,CAAC,KAAK,QAAQ;QACxC,CAAC,CAAE,UAAU,CAAC,UAAU,CAAY;QACpC,CAAC,CAAC,SAAS,CAAC;IAChB,IAAI,CAAC,QAAQ,IAAI,CAAC,QAAQ,EAAE,CAAC;QAC3B,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;YAC1B,4DAA4D;YAC5D,OAAO,EAAE,IAAA,wCAAuB,EAC9B,mCAAkB,CAAC,qCAAqC,CACzD;SACF,CAAC,CAAC;IACL,CAAC;IAED,IAAI,CAAC;QACH,uCAAuC;QACvC,MAAM,iBAAiB,GAAG,MAAM,YAAY,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACvE,IACE,CAAC,iBAAiB;YAClB,iBAAiB,CAAC,aAAa,KAAK,iBAAiB,EACrD,CAAC;YACD,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI;YACzB,4DAA4D;YAC5D,IAAA,wCAAuB,EAAC,mCAAkB,CAAC,uBAAuB,CAAC,CACpE,CAAC;QACJ,CAAC;QAED,gEAAgE;QAChE,IAAI,iBAAiB,CAAC,EAAE,KAAK,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;YACzC,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI;YACzB,4DAA4D;YAC5D,IAAA,wCAAuB,EACrB,mCAAkB,CAAC,6BAA6B,CACjD,CACF,CAAC;QACJ,CAAC;QAED,IAAI,QAAQ,EAAE,CAAC;YACb,IAAI,CAAC,YAAY,CAAC,wBAAwB,EAAE,CAAC;gBAC3C,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;oBAC1B,OAAO,EAAE,wDAAwD;iBAClE,CAAC,CAAC;YACL,CAAC;YACD,MAAM,YAAY,GAAG,IAAI,wBAAY,CAAC,QAAQ,CAAC,CAAC;YAChD,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,wBAAwB,CACxD,iBAAiB,CAAC,KAAK,EACvB,YAAY,CACb,CAAC;gBACF,yDAAyD;gBACzD,IAAI,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;oBAClC,OAAO,GAAG;yBACP,MAAM,CAAC,GAAG,CAAC;yBACX,IAAI,CACH,IAAA,wCAAuB,EACrB,mCAAkB,CAAC,6BAA6B,CACjD,CACF,CAAC;gBACN,CAAC;gBACD,GAAG,CAAC,SAAS,GAAG,MAAM,CAAC,UAAU,CAAC;YACpC,CAAC;oBAAS,CAAC;gBACT,YAAY,CAAC,OAAO,EAAE,CAAC;YACzB,CAAC;QACH,CAAC;aAAM,IAAI,QAAQ,EAAE,CAAC;YACpB,IAAI,CAAC,YAAY,CAAC,wBAAwB,EAAE,CAAC;gBAC3C,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;oBAC1B,OAAO,EAAE,wDAAwD;iBAClE,CAAC,CAAC;YACL,CAAC;YACD,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,wBAAwB,CACxD,iBAAiB,CAAC,KAAK,EACvB,QAAQ,CACT,CAAC;YACF,yDAAyD;YACzD,IAAI,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;gBAClC,OAAO,GAAG;qBACP,MAAM,CAAC,GAAG,CAAC;qBACX,IAAI,CACH,IAAA,wCAAuB,EACrB,mCAAkB,CAAC,6BAA6B,CACjD,CACF,CAAC;YACN,CAAC;YACD,GAAG,CAAC,SAAS,GAAG,MAAM,CAAC,UAAU,CAAC;QACpC,CAAC;aAAM,CAAC;YACN,iEAAiE;YACjE,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;gBAC1B,4DAA4D;gBAC5D,OAAO,EAAE,IAAA,wCAAuB,EAC9B,mCAAkB,CAAC,qCAAqC,CACzD;aACF,CAAC,CAAC;QACL,CAAC;QAED,IAAI,EAAE,CAAC;QACP,OAAO;IACT,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IACE,GAAG,YAAY,wCAAuB;YACtC,GAAG,YAAY,6BAAoB,EACnC,CAAC;YACD,0CAA0C;YAC1C,OAAO,CAAC,KAAK,CACX,+BAA+B,EAC/B,UAAU,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,IAAI,SAAS,CAAC,CAAC,OAAO,CACjD,SAAS,EACT,EAAE,CACH,gBAAgB,CAAC,CAAC,QAAQ,gBAAgB,CAAC,CAAC,QAAQ,EAAE,CACxD,CAAC;YACF,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;gBAC1B,4DAA4D;gBAC5D,OAAO,EAAE,IAAA,wCAAuB,EAC9B,mCAAkB,CAAC,6BAA6B,CACjD;aACF,CAAC,CAAC;QACL,CAAC;QACD,MAAM,YAAY,GAChB,GAAG,YAAY,KAAK;YAClB,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,EAAE,GAAG,CAAC;YACrC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;QAC1C,OAAO,CAAC,KAAK,CACX,GAAG,IAAA,wCAAuB,EACxB,mCAAkB,CAAC,yCAAyC,CAC7D,GAAG,EACJ,YAAY,CACb,CAAC;QACF,IAAI,GAAG,YAAY,KAAK,IAAI,GAAG,CAAC,KAAK,EAAE,CAAC;YACtC,OAAO,CAAC,KAAK,CACX,GAAG,IAAA,wCAAuB,EAAC,mCAAkB,CAAC,iBAAiB,CAAC,GAAG,EACnE,GAAG,CAAC,KAAK,CACV,CAAC;QACJ,CAAC;QACD,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;YAC1B,4DAA4D;YAC5D,OAAO,EAAE,IAAA,wCAAuB,EAC9B,mCAAkB,CAAC,sBAAsB,CAC1C;YACD,KAAK,EAAE,GAAG;SACX,CAAC,CAAC;IACL,CAAC;AACH,CAAC"}
|
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @fileoverview JWT token authentication middleware.
|
|
3
3
|
* Validates bearer tokens, loads user data, and sets up request context.
|
|
4
|
+
* Storage-agnostic — delegates user lookup and role resolution to
|
|
5
|
+
* IAuthenticationProvider on the application.
|
|
4
6
|
* @module middlewares/authenticate-token
|
|
5
7
|
*/
|
|
6
|
-
import { ITokenRole, ITokenUser } from '@digitaldefiance/suite-core-lib';
|
|
7
8
|
import { NextFunction, Request, Response } from 'express';
|
|
8
9
|
import { IncomingHttpHeaders } from 'http';
|
|
9
|
-
import {
|
|
10
|
+
import { IApplication } from '../interfaces/application';
|
|
10
11
|
import type { PlatformID } from '@digitaldefiance/node-ecies-lib';
|
|
11
12
|
/**
|
|
12
13
|
* Extracts bearer token from HTTP request headers.
|
|
@@ -18,17 +19,17 @@ export declare function findAuthToken(headers: IncomingHttpHeaders): string | nu
|
|
|
18
19
|
* Express middleware for JWT token authentication.
|
|
19
20
|
* Validates token, loads user from database, checks account status,
|
|
20
21
|
* and populates req.user with authenticated user data.
|
|
22
|
+
*
|
|
23
|
+
* Delegates to `application.authProvider` for storage-agnostic user lookup
|
|
24
|
+
* and role resolution. The application must have an authProvider configured.
|
|
25
|
+
*
|
|
21
26
|
* @template TID - Platform ID type (defaults to Buffer)
|
|
22
|
-
* @
|
|
23
|
-
* @template TTokenRole - Token role interface type
|
|
24
|
-
* @template TTokenUser - Token user interface type
|
|
25
|
-
* @template TApplication - Application interface type
|
|
26
|
-
* @param {TApplication} application - Application instance
|
|
27
|
+
* @param {IApplication<TID>} application - Application instance with authProvider
|
|
27
28
|
* @param {Request} req - Express request object
|
|
28
29
|
* @param {Response} res - Express response object
|
|
29
30
|
* @param {NextFunction} next - Express next function
|
|
30
31
|
* @returns {Promise<Response>} Response object
|
|
31
32
|
* @throws {TokenExpiredError} When token has expired
|
|
32
33
|
*/
|
|
33
|
-
export declare function authenticateToken<TID extends PlatformID = Buffer
|
|
34
|
+
export declare function authenticateToken<TID extends PlatformID = Buffer>(application: IApplication<TID>, req: Request, res: Response, next: NextFunction): Promise<Response>;
|
|
34
35
|
//# sourceMappingURL=authenticate-token.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"authenticate-token.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite/src/middlewares/authenticate-token.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"authenticate-token.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite/src/middlewares/authenticate-token.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AASH,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAC1D,OAAO,EAAE,mBAAmB,EAAE,MAAM,MAAM,CAAC;AAE3C,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAalE;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,mBAAmB,GAAG,MAAM,GAAG,IAAI,CASzE;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,iBAAiB,CAAC,GAAG,SAAS,UAAU,GAAG,MAAM,EACrE,WAAW,EAAE,YAAY,CAAC,GAAG,CAAC,EAC9B,GAAG,EAAE,OAAO,EACZ,GAAG,EAAE,QAAQ,EACb,IAAI,EAAE,YAAY,GACjB,OAAO,CAAC,QAAQ,CAAC,CAiFnB"}
|