@digitaldefiance/node-express-suite 3.15.0 → 3.17.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.
Files changed (55) hide show
  1. package/package.json +1 -1
  2. package/src/__tests__/helpers/application.mock.d.ts.map +1 -1
  3. package/src/__tests__/helpers/application.mock.js +5 -1
  4. package/src/__tests__/helpers/application.mock.js.map +1 -1
  5. package/src/application-base.d.ts +10 -0
  6. package/src/application-base.d.ts.map +1 -1
  7. package/src/application-base.js +13 -0
  8. package/src/application-base.js.map +1 -1
  9. package/src/controllers/base.d.ts +14 -4
  10. package/src/controllers/base.d.ts.map +1 -1
  11. package/src/controllers/base.js +61 -9
  12. package/src/controllers/base.js.map +1 -1
  13. package/src/controllers/openapi.d.ts +1 -1
  14. package/src/controllers/openapi.d.ts.map +1 -1
  15. package/src/controllers/openapi.js.map +1 -1
  16. package/src/controllers/user.d.ts +2 -2
  17. package/src/controllers/user.d.ts.map +1 -1
  18. package/src/controllers/user.js.map +1 -1
  19. package/src/decorators/base-controller.d.ts +4 -3
  20. package/src/decorators/base-controller.d.ts.map +1 -1
  21. package/src/decorators/base-controller.js +1 -0
  22. package/src/decorators/base-controller.js.map +1 -1
  23. package/src/interfaces/application.d.ts +8 -0
  24. package/src/interfaces/application.d.ts.map +1 -1
  25. package/src/interfaces/authentication-provider.d.ts +76 -0
  26. package/src/interfaces/authentication-provider.d.ts.map +1 -0
  27. package/src/interfaces/authentication-provider.js +10 -0
  28. package/src/interfaces/authentication-provider.js.map +1 -0
  29. package/src/interfaces/index.d.ts +1 -0
  30. package/src/interfaces/index.d.ts.map +1 -1
  31. package/src/interfaces/index.js +1 -0
  32. package/src/interfaces/index.js.map +1 -1
  33. package/src/middlewares/authenticate-crypto.d.ts +9 -3
  34. package/src/middlewares/authenticate-crypto.d.ts.map +1 -1
  35. package/src/middlewares/authenticate-crypto.js +62 -50
  36. package/src/middlewares/authenticate-crypto.js.map +1 -1
  37. package/src/middlewares/authenticate-token.d.ts +9 -8
  38. package/src/middlewares/authenticate-token.d.ts.map +1 -1
  39. package/src/middlewares/authenticate-token.js +42 -41
  40. package/src/middlewares/authenticate-token.js.map +1 -1
  41. package/src/services/backup-code.d.ts +2 -2
  42. package/src/services/backup-code.d.ts.map +1 -1
  43. package/src/services/index.d.ts +1 -0
  44. package/src/services/index.d.ts.map +1 -1
  45. package/src/services/index.js +1 -0
  46. package/src/services/index.js.map +1 -1
  47. package/src/services/jwt.d.ts +2 -2
  48. package/src/services/jwt.d.ts.map +1 -1
  49. package/src/services/mongo-authentication-provider.d.ts +27 -0
  50. package/src/services/mongo-authentication-provider.d.ts.map +1 -0
  51. package/src/services/mongo-authentication-provider.js +84 -0
  52. package/src/services/mongo-authentication-provider.js.map +1 -0
  53. package/src/services/role.d.ts +2 -2
  54. package/src/services/role.d.ts.map +1 -1
  55. package/src/services/role.js.map +1 -1
@@ -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 { IMongoApplication } from '../interfaces/mongo-application';
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: IMongoApplication<TID>);
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":"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"}
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,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAEzD,OAAO,EAAE,WAAW,EAAe,MAAM,UAAU,CAAC;AAQpD,OAAO,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AAiBvD,OAAO,EAAE,aAAa,EAAE,MAAM,wCAAwC,CAAC;AAiBvE;;GAEG;AACH,MAAM,WAAW,sBAAsB,CACrC,SAAS,SAAS,gBAAgB,GAAG,gBAAgB;IAErD,kBAAkB;IAClB,MAAM,EAAE,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,QAAQ,GAAG,OAAO,CAAC;IACpD,iBAAiB;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,0BAA0B;IAC1B,WAAW,EAAE,MAAM,CAAC;IACpB,yCAAyC;IACzC,iBAAiB,EAAE,OAAO,CAAC;IAC3B,gDAAgD;IAChD,uBAAuB,EAAE,OAAO,CAAC;IACjC,6CAA6C;IAC7C,QAAQ,EAAE,OAAO,CAAC;IAClB,sCAAsC;IACtC,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,uCAAuC;IACvC,cAAc,EAAE,OAAO,CAAC;IACxB,iCAAiC;IACjC,cAAc,EAAE,OAAO,CAAC;IACxB,0CAA0C;IAC1C,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,8BAA8B;IAC9B,UAAU,EAAE,OAAO,SAAS,EAAE,cAAc,EAAE,CAAC;IAC/C,0BAA0B;IAC1B,UAAU,CAAC,EAAE,qBAAqB,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,CAAC,YAAY,CAAC,CAAC;IACvE,wBAAwB;IACxB,WAAW,EAAE,OAAO,EAAE,CAAC;IACvB,mCAAmC;IACnC,aAAa,EAAE,aAAa,EAAE,CAAC;IAC/B,0CAA0C;IAC1C,iBAAiB,EAAE,OAAO,CAAC;IAC3B,uBAAuB;IACvB,OAAO,CAAC,EAAE,OAAO,CACf,OAAO,qCAAqC,EAAE,oBAAoB,CACnE,CAAC;CACH;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,8BAAsB,uBAAuB,CAC3C,SAAS,SAAS,gBAAgB,GAAG,gBAAgB,EACrD,GAAG,SAAS,UAAU,GAAG,MAAM,EAC/B,YAAY,SAAS,YAAY,CAAC,GAAG,CAAC,GAAG,YAAY,CAAC,GAAG,CAAC,CAC1D,SAAQ,cAAc,CACtB,WAAW,EACX,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACvB,SAAS,EACT,GAAG,EACH,YAAY,CACb;IACC;;;OAGG;IACH,OAAO,CAAC,uBAAuB;gBAiBnB,WAAW,EAAE,YAAY;IAMrC;;;;;;;OAOG;IACH,SAAS,CAAC,oBAAoB,IAAI,IAAI;IAsDtC;;;;;;OAMG;IACH,SAAS,CAAC,oBAAoB,CAC5B,KAAK,EAAE,qBAAqB,CAAC,SAAS,CAAC,GACtC,sBAAsB,CAAC,SAAS,CAAC;IAmEpC;;;;;;;OAOG;IACH,SAAS,CAAC,eAAe,CACvB,KAAK,EAAE,qBAAqB,CAAC,SAAS,CAAC,EACvC,SAAS,EAAE,sBAAsB,CAAC,SAAS,CAAC,EAC5C,SAAS,EAAE,OAAO,eAAe,EAAE,UAAU,GAC5C,qBAAqB,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,CAAC,YAAY,CAAC;IAkH5D;;;;;;OAMG;IACH,SAAS,CAAC,oBAAoB,CAC5B,KAAK,EAAE,qBAAqB,CAAC,SAAS,CAAC,EACvC,WAAW,EAAE,MAAM,GAEjB,OAAO,CACL,OAAO,qCAAqC,EAAE,oBAAoB,CACnE,GACD,SAAS;IA4Fb;;;;;;OAMG;IACH,SAAS,CAAC,oBAAoB,CAC5B,eAAe,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,OAAO,CAAC,OAAO,CAAC,EACzD,SAAS,EAAE,sBAAsB,CAAC,SAAS,CAAC,GAC3C,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,OAAO,CAAC,OAAO,CAAC;IA0EzD;;;;;;;OAOG;IACH,SAAS,CAAC,gBAAgB,CACxB,GAAG,EAAE,OAAO,EACZ,GAAG,EAAE,QAAQ,EACb,aAAa,EAAE,aAAa,EAAE,GAC7B,OAAO,EAAE;IA6EZ;;;OAGG;IACH,SAAS,CAAC,8BAA8B,IAAI,IAAI;IAuBhD;;;;;;OAMG;IACI,oBAAoB,CACzB,WAAW,EAAE,MAAM,GAClB,sBAAsB,CAAC,SAAS,CAAC,GAAG,SAAS;IAIhD;;;;;OAKG;IACI,uBAAuB,IAAI,GAAG,CACnC,MAAM,EACN,sBAAsB,CAAC,SAAS,CAAC,CAClC;CAGF"}
@@ -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"}
@@ -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 { IMongoApplication } from '../interfaces/mongo-application';
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 {IMongoApplication<TID>} application - Application instance
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: IMongoApplication<TID>, req: Request, res: Response, next: NextFunction, activeStatusValue?: TAccountStatus): Promise<Response | void>;
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;;;;GAIG;AAIH,OAAO,EAEL,UAAU,EACX,MAAM,iCAAiC,CAAC;AACzC,OAAO,EACL,aAAa,EAId,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAK1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AAGpE;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,kBAAkB,CACtC,GAAG,SAAS,UAAU,GAAG,MAAM,EAC/B,cAAc,SAAS,MAAM,GAAG,aAAa,EAE7C,WAAW,EAAE,iBAAiB,CAAC,GAAG,CAAC,EACnC,GAAG,EAAE,OAAO,EACZ,GAAG,EAAE,QAAQ,EACb,IAAI,EAAE,YAAY,EAClB,iBAAiB,GAAE,cAAuD,GACzE,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,CAyL1B"}
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 {IMongoApplication<TID>} application - Application instance
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
- return await (0, utils_1.withTransaction)(application.db.connection, application.environment.mongo.useTransactions, undefined, async (sess) => {
67
- const userDoc = await UserModel.findById(req.user.id)
68
- .session(sess ?? null)
69
- .exec();
70
- if (!userDoc || userDoc.accountStatus !== activeStatusValue) {
71
- return res.status(403).send(
72
- // amazonq-ignore-next-line false positive, hardcoded string
73
- (0, suite_core_lib_1.getSuiteCoreTranslation)(suite_core_lib_1.SuiteCoreStringKey.Validation_UserNotFound));
74
- }
75
- // Ensure we're only authenticating the currently logged-in user
76
- if (userDoc._id.toString() !== req.user.id) {
77
- return res.status(403).send(
78
- // amazonq-ignore-next-line false positive, hardcoded string
79
- (0, suite_core_lib_1.getSuiteCoreTranslation)(suite_core_lib_1.SuiteCoreStringKey.Validation_InvalidCredentials));
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
- let loginResult;
82
- if (mnemonic) {
83
- // Authenticate with mnemonic
84
- const userMnemonic = new ecies_lib_1.SecureString(mnemonic);
85
- try {
86
- loginResult = await userService.loginWithMnemonic(userDoc.email, userMnemonic, sess);
87
- }
88
- finally {
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
- else if (password) {
93
- // Authenticate with password
94
- loginResult = await userService.loginWithPassword(userDoc.email, password, sess);
102
+ finally {
103
+ userMnemonic.dispose();
95
104
  }
96
- else {
97
- // Should not happen due to earlier guard; keeps TypeScript happy
98
- return res.status(400).send({
99
- // amazonq-ignore-next-line false positive, hardcoded string
100
- message: (0, suite_core_lib_1.getSuiteCoreTranslation)(suite_core_lib_1.SuiteCoreStringKey.Validation_MnemonicOrPasswordRequired),
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 (loginResult.userDoc._id.toString() !== req.user.id) {
105
- return res.status(403).send(
106
- // amazonq-ignore-next-line false positive, hardcoded string
107
- (0, suite_core_lib_1.getSuiteCoreTranslation)(suite_core_lib_1.SuiteCoreStringKey.Validation_InvalidCredentials));
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
- // Attach the fully authenticated member (with private key) to the request
110
- req.eciesUser = loginResult.userMember;
111
- // Do not attach the admin user to the request; it's a process-wide singleton
112
- // and must not be disposed as part of request cleanup.
113
- next();
114
- return;
115
- }, {
116
- timeoutMs: application.environment.mongo.transactionTimeout,
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;;;;GAIG;;AAsCH,gDAkMC;AAtOD,0DAA0D;AAM1D,oEAKyC;AAEzC,4CAA2C;AAE3C,kDAAgD;AAChD,sCAAiD;AAEjD,oCAA2C;AAE3C;;;;;;;;;;;;;;;GAeG;AACI,KAAK,UAAU,kBAAkB,CAItC,WAAmC,EACnC,GAAY,EACZ,GAAa,EACb,IAAkB,EAClB,oBAAoC,8BAAa,CAAC,MAAwB;IAE1E,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;IACD,MAAM,SAAS,GAAG,WAAW,CAAC,QAAQ,CACpC,4BAAa,CAAC,IAAI,CACnB,CAAC;IACF,MAAM,WAAW,GAAG,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC,uBAAW,CAAC,IAAI,CAW5D,CAAC;IAEF,IAAI,CAAC;QACH,OAAO,MAAM,IAAA,uBAAe,EAC1B,WAAW,CAAC,EAAE,CAAC,UAAU,EACzB,WAAW,CAAC,WAAW,CAAC,KAAK,CAAC,eAAe,EAC7C,SAAS,EACT,KAAK,EAAE,IAA+B,EAAE,EAAE;YACxC,MAAM,OAAO,GAAG,MAAM,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAK,CAAC,EAAE,CAAC;iBACnD,OAAO,CAAC,IAAI,IAAI,IAAI,CAAC;iBACrB,IAAI,EAAE,CAAC;YAEV,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,aAAa,KAAK,iBAAiB,EAAE,CAAC;gBAC5D,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI;gBACzB,4DAA4D;gBAC5D,IAAA,wCAAuB,EAAC,mCAAkB,CAAC,uBAAuB,CAAC,CACpE,CAAC;YACJ,CAAC;YAED,gEAAgE;YAChE,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,GAAG,CAAC,IAAK,CAAC,EAAE,EAAE,CAAC;gBAC5C,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI;gBACzB,4DAA4D;gBAC5D,IAAA,wCAAuB,EACrB,mCAAkB,CAAC,6BAA6B,CACjD,CACF,CAAC;YACJ,CAAC;YAED,IAAI,WAIH,CAAC;YAEF,IAAI,QAAQ,EAAE,CAAC;gBACb,6BAA6B;gBAC7B,MAAM,YAAY,GAAG,IAAI,wBAAY,CAAC,QAAQ,CAAC,CAAC;gBAChD,IAAI,CAAC;oBACH,WAAW,GAAG,MAAM,WAAW,CAAC,iBAAiB,CAC/C,OAAO,CAAC,KAAK,EACb,YAAY,EACZ,IAAI,CACL,CAAC;gBACJ,CAAC;wBAAS,CAAC;oBACT,YAAY,CAAC,OAAO,EAAE,CAAC;gBACzB,CAAC;YACH,CAAC;iBAAM,IAAI,QAAQ,EAAE,CAAC;gBACpB,6BAA6B;gBAC7B,WAAW,GAAG,MAAM,WAAW,CAAC,iBAAiB,CAC/C,OAAO,CAAC,KAAK,EACb,QAAQ,EACR,IAAI,CACL,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,iEAAiE;gBACjE,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;oBAC1B,4DAA4D;oBAC5D,OAAO,EAAE,IAAA,wCAAuB,EAC9B,mCAAkB,CAAC,qCAAqC,CACzD;iBACF,CAAC,CAAC;YACL,CAAC;YAED,yDAAyD;YACzD,IAAI,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,GAAG,CAAC,IAAK,CAAC,EAAE,EAAE,CAAC;gBACxD,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI;gBACzB,4DAA4D;gBAC5D,IAAA,wCAAuB,EACrB,mCAAkB,CAAC,6BAA6B,CACjD,CACF,CAAC;YACJ,CAAC;YAED,0EAA0E;YAC1E,GAAG,CAAC,SAAS,GAAG,WAAW,CAAC,UAAU,CAAC;YACvC,6EAA6E;YAC7E,uDAAuD;YAEvD,IAAI,EAAE,CAAC;YACP,OAAO;QACT,CAAC,EACD;YACE,SAAS,EAAE,WAAW,CAAC,WAAW,CAAC,KAAK,CAAC,kBAAkB;SAC5D,CACF,CAAC;IACJ,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
+ {"version":3,"file":"authenticate-crypto.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite/src/middlewares/authenticate-crypto.ts"],"names":[],"mappings":"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"}
@@ -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 { IMongoApplication } from '../interfaces/mongo-application';
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
- * @template D - Date type (defaults to Date)
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, D extends Date = Date, TTokenRole extends ITokenRole<TID, D> = ITokenRole<TID, D>, TTokenUser extends ITokenUser = ITokenUser, TApplication extends IMongoApplication<TID> = IMongoApplication<TID>>(application: TApplication, req: Request, res: Response, next: NextFunction): Promise<Response>;
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;;;;GAIG;AAKH,OAAO,EAGL,UAAU,EACV,UAAU,EAEX,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAC1D,OAAO,EAAE,mBAAmB,EAAE,MAAM,MAAM,CAAC;AAI3C,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AAKpE,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,CACrC,GAAG,SAAS,UAAU,GAAG,MAAM,EAC/B,CAAC,SAAS,IAAI,GAAG,IAAI,EACrB,UAAU,SAAS,UAAU,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,CAAC,EAC1D,UAAU,SAAS,UAAU,GAAG,UAAU,EAC1C,YAAY,SAAS,iBAAiB,CAAC,GAAG,CAAC,GAAG,iBAAiB,CAAC,GAAG,CAAC,EAEpE,WAAW,EAAE,YAAY,EACzB,GAAG,EAAE,OAAO,EACZ,GAAG,EAAE,QAAQ,EACb,IAAI,EAAE,YAAY,GACjB,OAAO,CAAC,QAAQ,CAAC,CAkFnB"}
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"}