@nextage/era-lib 1.0.169 → 1.0.171
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/build/utils/env.constants.js +4 -4
- package/build/utils/env.constants.js.map +1 -1
- package/build/utils/functs.d.ts.map +1 -1
- package/build/utils/functs.js +5 -1
- package/build/utils/functs.js.map +1 -1
- package/build/utils/index.d.ts +2 -0
- package/build/utils/index.d.ts.map +1 -1
- package/build/utils/index.js +2 -0
- package/build/utils/index.js.map +1 -1
- package/build/utils/jwt.constants.d.ts +45 -0
- package/build/utils/jwt.constants.d.ts.map +1 -0
- package/build/utils/jwt.constants.js +48 -0
- package/build/utils/jwt.constants.js.map +1 -0
- package/build/utils/jwt.d.ts +19 -16
- package/build/utils/jwt.d.ts.map +1 -1
- package/build/utils/jwt.interfaces.d.ts +23 -0
- package/build/utils/jwt.interfaces.d.ts.map +1 -0
- package/build/utils/jwt.interfaces.js +10 -0
- package/build/utils/jwt.interfaces.js.map +1 -0
- package/build/utils/jwt.js +64 -18
- package/build/utils/jwt.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.JSON_ENV = exports.NUMERIC_ENV = exports.ENV_DEFAULTS = void 0;
|
|
4
|
-
const
|
|
4
|
+
const jwt_constants_1 = require("./jwt.constants");
|
|
5
5
|
/**
|
|
6
6
|
* Environment configuration constants.
|
|
7
7
|
*
|
|
@@ -22,9 +22,9 @@ exports.ENV_DEFAULTS = {
|
|
|
22
22
|
SERVER_PORT: '5000',
|
|
23
23
|
LOG_DIR: './logs',
|
|
24
24
|
MORGAN_FORMAT: '',
|
|
25
|
-
JWT_ALGORITHM:
|
|
26
|
-
JWT_VALIDITY:
|
|
27
|
-
REFRESH_VALIDITY:
|
|
25
|
+
JWT_ALGORITHM: jwt_constants_1.DEFAULT_ACCESS_ALGORITHM,
|
|
26
|
+
JWT_VALIDITY: jwt_constants_1.DEFAULT_ACCESS_VALIDITY, // 15m — was missing (fell back to TOKEN_VALIDITY_DAYS = 6 days)
|
|
27
|
+
REFRESH_VALIDITY: jwt_constants_1.DEFAULT_REFRESH_VALIDITY, // 7d
|
|
28
28
|
MONGO_HOST: 'localhost',
|
|
29
29
|
MONGO_AUTH: '{}', // was '' → JSON.parse('') crash in buildMongoDBConfig
|
|
30
30
|
MONGO_OPTS: '{}',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"env.constants.js","sourceRoot":"","sources":["../../src/utils/env.constants.ts"],"names":[],"mappings":";;;AAAA
|
|
1
|
+
{"version":3,"file":"env.constants.js","sourceRoot":"","sources":["../../src/utils/env.constants.ts"],"names":[],"mappings":";;;AAAA,mDAA8G;AAE9G;;;;;;GAMG;AAEH;;;;;;;GAOG;AACU,QAAA,YAAY,GAA2B;IAClD,QAAQ,EAAa,OAAO;IAC5B,WAAW,EAAU,MAAM;IAC3B,OAAO,EAAc,QAAQ;IAC7B,aAAa,EAAQ,EAAE;IACvB,aAAa,EAAQ,wCAAwB;IAC7C,YAAY,EAAS,uCAAuB,EAAI,gEAAgE;IAChH,gBAAgB,EAAK,wCAAwB,EAAG,KAAK;IACrD,UAAU,EAAW,WAAW;IAChC,UAAU,EAAW,IAAI,EAAuB,sDAAsD;IACtG,UAAU,EAAW,IAAI;IACzB,SAAS,EAAY,EAAE;IACvB,aAAa,EAAQ,EAAE;IACvB,aAAa,EAAQ,EAAE;IACvB,QAAQ,EAAa,uBAAuB;IAC5C,mBAAmB,EAAE,GAAG;IACxB,mBAAmB,EAAE,GAAG;IACxB,mBAAmB,EAAE,IAAI;IACzB,OAAO,EAAc,EAAE;IACvB,cAAc,EAAO,EAAE;IACvB,aAAa,EAAQ,EAAE;IACvB,aAAa,EAAQ,WAAW;IAChC,gBAAgB,EAAK,cAAc;IACnC,iBAAiB,EAAI,eAAe,EAAY,mCAAmC;IACnF,mBAAmB,EAAE,gBAAgB;IACrC,eAAe,EAAM,MAAM;CAC5B,CAAC;AAEF,mFAAmF;AACtE,QAAA,WAAW,GAAG,CAAC,aAAa,EAAE,iBAAiB,CAAC,CAAC;AAE9D,uFAAuF;AAC1E,QAAA,QAAQ,GAAG,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"functs.d.ts","sourceRoot":"","sources":["../../src/utils/functs.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,OAAO,EAAe,UAAU,EAAE,MAAqB,sBAAsB,CAAC;AACvF,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAiB,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACvF,OAAO,EAAE,YAAY,EAAE,MAAyC,wDAAwD,CAAC;AAEzH,OAAO,EAAE,cAAc,EAAE,MAAuC,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"functs.d.ts","sourceRoot":"","sources":["../../src/utils/functs.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,OAAO,EAAe,UAAU,EAAE,MAAqB,sBAAsB,CAAC;AACvF,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAiB,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACvF,OAAO,EAAE,YAAY,EAAE,MAAyC,wDAAwD,CAAC;AAEzH,OAAO,EAAE,cAAc,EAAE,MAAuC,eAAe,CAAC;AAIhF;;GAEG;AACH,wBAAsB,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAmEjF;AA6BD;;GAEG;AACH,wBAAsB,kBAAkB,IAAI,OAAO,CAAC,UAAU,CAAC,CA0B9D;AA8BD;;;;;;;;GAQG;AACH,wBAAgB,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAgBzC;AA8BD;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,YAAY,EAAE,OAAO,GAAE,OAAc,GAAG,QAAQ,GAAG,IAAI,CASvF;AAED;;;;GAIG;AACH,wBAAsB,UAAU,CAAC,IAAI,GAAE,MAAW,GAAG,OAAO,CAAC,OAAO,CAAC,CAYpE;AAED;;;GAGG;AACH,wBAAsB,sBAAsB,CAAC,GAAG,GAAE,MAAiB,EAAE,KAAK,GAAE,MAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAgB3G;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CAgBvE;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,MAAM,GAAG,cAAc,CAOvF;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,MAAM,GAAG,cAAc,CAMvF;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,YAAY,CAAC,MAAM,CAAC,GAAG,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAS9F;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,YAAY,CAAC,MAAM,CAAC,GAAG,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,YAAY,CAAC,MAAM,CAAC,CAS5G;AAED;;;;;;GAMG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC,EAAE,QAAQ,EAAE,oBAAoB,UAAQ,GAAG,IAAI,CAc7F;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,EAAE,QAAQ,GAAG,IAAI,CAShE;AAED;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,IAAI,CAAC,EAAE,QAAQ,GAAG,MAAM,GAAG,SAAS,CAM7D;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAmBjD"}
|
package/build/utils/functs.js
CHANGED
|
@@ -58,6 +58,7 @@ const dotenv_1 = require("dotenv");
|
|
|
58
58
|
const nx_frame_be_1 = require("@nextage/nx-frame-be");
|
|
59
59
|
const constants_1 = require("../constants");
|
|
60
60
|
const env_constants_1 = require("./env.constants");
|
|
61
|
+
const jwt_1 = require("./jwt");
|
|
61
62
|
/**
|
|
62
63
|
* Init main application configuration stored in NxFrame APP Singleton
|
|
63
64
|
*/
|
|
@@ -77,8 +78,11 @@ async function initConfig(dir, appData) {
|
|
|
77
78
|
port: parseInt(process.env.SERVER_PORT)
|
|
78
79
|
};
|
|
79
80
|
// JWT management parameters (defaults resolved in readEnv()).
|
|
81
|
+
// `secret` holds the VERIFICATION key: the PUBLIC key for asymmetric algorithms
|
|
82
|
+
// (ES256 — Step 2.7 / S10) or the shared symmetric secret for HS*. It is what
|
|
83
|
+
// every `express-jwt` middleware and the WS `validateJwt` call verifies against.
|
|
80
84
|
APP.config.jwt = {
|
|
81
|
-
secret:
|
|
85
|
+
secret: (0, jwt_1.accessVerificationKey)(),
|
|
82
86
|
algorithm: process.env.JWT_ALGORITHM,
|
|
83
87
|
duration: process.env.JWT_VALIDITY
|
|
84
88
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"functs.js","sourceRoot":"","sources":["../../src/utils/functs.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"functs.js","sourceRoot":"","sources":["../../src/utils/functs.ts"],"names":[],"mappings":"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"}
|
package/build/utils/index.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,UAAU,CAAC;AACzB,cAAc,OAAO,CAAC;AACtB,cAAc,iBAAiB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,UAAU,CAAC;AACzB,cAAc,OAAO,CAAC;AACtB,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC"}
|
package/build/utils/index.js
CHANGED
|
@@ -17,5 +17,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
17
17
|
__exportStar(require("./express"), exports);
|
|
18
18
|
__exportStar(require("./functs"), exports);
|
|
19
19
|
__exportStar(require("./jwt"), exports);
|
|
20
|
+
__exportStar(require("./jwt.constants"), exports);
|
|
21
|
+
__exportStar(require("./jwt.interfaces"), exports);
|
|
20
22
|
__exportStar(require("./start-service"), exports);
|
|
21
23
|
//# sourceMappingURL=index.js.map
|
package/build/utils/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,4CAA0B;AAC1B,2CAAyB;AACzB,wCAAsB;AACtB,kDAAgC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,4CAA0B;AAC1B,2CAAyB;AACzB,wCAAsB;AACtB,kDAAgC;AAChC,mDAAiC;AACjC,kDAAgC"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* JWT token constants.
|
|
3
|
+
*
|
|
4
|
+
* Kept separate from the token helper logic in `jwt.ts` so the token contract
|
|
5
|
+
* (type marker, default validities) can be reviewed and changed in one place.
|
|
6
|
+
*/
|
|
7
|
+
/** Marker claim distinguishing a refresh token from an access token. */
|
|
8
|
+
export declare const REFRESH_TOKEN_TYPE = "refresh";
|
|
9
|
+
/**
|
|
10
|
+
* Known JWT signing algorithms used by the platform.
|
|
11
|
+
*
|
|
12
|
+
* Declared as a `const` object (not a TS `enum`) so each value is a string
|
|
13
|
+
* literal directly assignable to `jsonwebtoken`'s `Algorithm` union — no casts,
|
|
14
|
+
* with autocomplete. `HS*` are symmetric (shared secret); `ES*`/`RS*`/`PS*` and
|
|
15
|
+
* `EdDSA` are asymmetric (private key signs, public key verifies).
|
|
16
|
+
*/
|
|
17
|
+
export declare const JWT_ALG: {
|
|
18
|
+
readonly HS256: "HS256";
|
|
19
|
+
readonly HS512: "HS512";
|
|
20
|
+
readonly ES256: "ES256";
|
|
21
|
+
readonly ES384: "ES384";
|
|
22
|
+
readonly RS256: "RS256";
|
|
23
|
+
readonly PS256: "PS256";
|
|
24
|
+
readonly EdDSA: "EdDSA";
|
|
25
|
+
};
|
|
26
|
+
/** Default validity used when the matching env var is not set. */
|
|
27
|
+
export declare const DEFAULT_ACCESS_VALIDITY = "15m";
|
|
28
|
+
export declare const DEFAULT_REFRESH_VALIDITY = "7d";
|
|
29
|
+
/**
|
|
30
|
+
* Default ACCESS token algorithm when `JWT_ALGORITHM` is unset. Kept symmetric
|
|
31
|
+
* (HS512) for backward compatibility; production uses ES256 (asymmetric) via env
|
|
32
|
+
* so that only auth-srv (holding the private key) can sign — see Step 2.7 / S10.
|
|
33
|
+
*/
|
|
34
|
+
export declare const DEFAULT_ACCESS_ALGORITHM: "HS512";
|
|
35
|
+
/**
|
|
36
|
+
* Default signing algorithm for the REFRESH token.
|
|
37
|
+
*
|
|
38
|
+
* The refresh token is symmetric (HMAC) and NEVER leaves auth-srv, so it stays
|
|
39
|
+
* on HS512 regardless of the ACCESS token algorithm. This is DECOUPLED from
|
|
40
|
+
* `JWT_ALGORITHM` on purpose: when the access token moves to an asymmetric
|
|
41
|
+
* algorithm (Step 2.7, ES256), signing the refresh with an EC key would fail —
|
|
42
|
+
* the refresh keeps using a symmetric secret. Override with `REFRESH_ALGORITHM`.
|
|
43
|
+
*/
|
|
44
|
+
export declare const DEFAULT_REFRESH_ALGORITHM: "HS512";
|
|
45
|
+
//# sourceMappingURL=jwt.constants.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"jwt.constants.d.ts","sourceRoot":"","sources":["../../src/utils/jwt.constants.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,wEAAwE;AACxE,eAAO,MAAM,kBAAkB,YAAmB,CAAC;AAEnD;;;;;;;GAOG;AACH,eAAO,MAAM,OAAO;;;;;;;;CAQV,CAAC;AAEX,kEAAkE;AAClE,eAAO,MAAM,uBAAuB,QAAU,CAAC;AAC/C,eAAO,MAAM,wBAAwB,OAAQ,CAAC;AAE9C;;;;GAIG;AACH,eAAO,MAAM,wBAAwB,SAAiB,CAAC;AAEvD;;;;;;;;GAQG;AACH,eAAO,MAAM,yBAAyB,SAAgB,CAAC"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* JWT token constants.
|
|
4
|
+
*
|
|
5
|
+
* Kept separate from the token helper logic in `jwt.ts` so the token contract
|
|
6
|
+
* (type marker, default validities) can be reviewed and changed in one place.
|
|
7
|
+
*/
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
exports.DEFAULT_REFRESH_ALGORITHM = exports.DEFAULT_ACCESS_ALGORITHM = exports.DEFAULT_REFRESH_VALIDITY = exports.DEFAULT_ACCESS_VALIDITY = exports.JWT_ALG = exports.REFRESH_TOKEN_TYPE = void 0;
|
|
10
|
+
/** Marker claim distinguishing a refresh token from an access token. */
|
|
11
|
+
exports.REFRESH_TOKEN_TYPE = 'refresh';
|
|
12
|
+
/**
|
|
13
|
+
* Known JWT signing algorithms used by the platform.
|
|
14
|
+
*
|
|
15
|
+
* Declared as a `const` object (not a TS `enum`) so each value is a string
|
|
16
|
+
* literal directly assignable to `jsonwebtoken`'s `Algorithm` union — no casts,
|
|
17
|
+
* with autocomplete. `HS*` are symmetric (shared secret); `ES*`/`RS*`/`PS*` and
|
|
18
|
+
* `EdDSA` are asymmetric (private key signs, public key verifies).
|
|
19
|
+
*/
|
|
20
|
+
exports.JWT_ALG = {
|
|
21
|
+
HS256: 'HS256',
|
|
22
|
+
HS512: 'HS512',
|
|
23
|
+
ES256: 'ES256',
|
|
24
|
+
ES384: 'ES384',
|
|
25
|
+
RS256: 'RS256',
|
|
26
|
+
PS256: 'PS256',
|
|
27
|
+
EdDSA: 'EdDSA'
|
|
28
|
+
};
|
|
29
|
+
/** Default validity used when the matching env var is not set. */
|
|
30
|
+
exports.DEFAULT_ACCESS_VALIDITY = '15m';
|
|
31
|
+
exports.DEFAULT_REFRESH_VALIDITY = '7d';
|
|
32
|
+
/**
|
|
33
|
+
* Default ACCESS token algorithm when `JWT_ALGORITHM` is unset. Kept symmetric
|
|
34
|
+
* (HS512) for backward compatibility; production uses ES256 (asymmetric) via env
|
|
35
|
+
* so that only auth-srv (holding the private key) can sign — see Step 2.7 / S10.
|
|
36
|
+
*/
|
|
37
|
+
exports.DEFAULT_ACCESS_ALGORITHM = exports.JWT_ALG.HS512;
|
|
38
|
+
/**
|
|
39
|
+
* Default signing algorithm for the REFRESH token.
|
|
40
|
+
*
|
|
41
|
+
* The refresh token is symmetric (HMAC) and NEVER leaves auth-srv, so it stays
|
|
42
|
+
* on HS512 regardless of the ACCESS token algorithm. This is DECOUPLED from
|
|
43
|
+
* `JWT_ALGORITHM` on purpose: when the access token moves to an asymmetric
|
|
44
|
+
* algorithm (Step 2.7, ES256), signing the refresh with an EC key would fail —
|
|
45
|
+
* the refresh keeps using a symmetric secret. Override with `REFRESH_ALGORITHM`.
|
|
46
|
+
*/
|
|
47
|
+
exports.DEFAULT_REFRESH_ALGORITHM = exports.JWT_ALG.HS512;
|
|
48
|
+
//# sourceMappingURL=jwt.constants.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"jwt.constants.js","sourceRoot":"","sources":["../../src/utils/jwt.constants.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAEH,wEAAwE;AAC3D,QAAA,kBAAkB,GAAU,SAAS,CAAC;AAEnD;;;;;;;GAOG;AACU,QAAA,OAAO,GAAG;IACrB,KAAK,EAAE,OAAO;IACd,KAAK,EAAE,OAAO;IACd,KAAK,EAAE,OAAO;IACd,KAAK,EAAE,OAAO;IACd,KAAK,EAAE,OAAO;IACd,KAAK,EAAE,OAAO;IACd,KAAK,EAAE,OAAO;CACN,CAAC;AAEX,kEAAkE;AACrD,QAAA,uBAAuB,GAAK,KAAK,CAAC;AAClC,QAAA,wBAAwB,GAAI,IAAI,CAAC;AAE9C;;;;GAIG;AACU,QAAA,wBAAwB,GAAI,eAAO,CAAC,KAAK,CAAC;AAEvD;;;;;;;;GAQG;AACU,QAAA,yBAAyB,GAAG,eAAO,CAAC,KAAK,CAAC"}
|
package/build/utils/jwt.d.ts
CHANGED
|
@@ -1,19 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
export declare const REFRESH_TOKEN_TYPE = "refresh";
|
|
4
|
-
/** Default validity used when the matching env var is not set. */
|
|
5
|
-
export declare const DEFAULT_ACCESS_VALIDITY = "15m";
|
|
6
|
-
export declare const DEFAULT_REFRESH_VALIDITY = "7d";
|
|
7
|
-
export interface RefreshTokenPayload extends JwtPayload {
|
|
8
|
-
/** Subject — the user id. */
|
|
9
|
-
sub: string;
|
|
10
|
-
/** JWT id — the `accesses` record id (session id). Mirrors the access token jti. */
|
|
11
|
-
jti: string;
|
|
12
|
-
/** Token type marker. */
|
|
13
|
-
typ: typeof REFRESH_TOKEN_TYPE;
|
|
14
|
-
/** Per-issuance nonce — guarantees each rotation yields a distinct token/hash. */
|
|
15
|
-
rti: string;
|
|
16
|
-
}
|
|
1
|
+
import { SignOptions } from 'jsonwebtoken';
|
|
2
|
+
import { RefreshTokenPayload } from './jwt.interfaces';
|
|
17
3
|
/**
|
|
18
4
|
* Sign a long-lived REFRESH token for a session.
|
|
19
5
|
*
|
|
@@ -44,4 +30,21 @@ export declare function tokenExpiry(token: string): Date | undefined;
|
|
|
44
30
|
* side-channels when validating a presented refresh token.
|
|
45
31
|
*/
|
|
46
32
|
export declare function verifyTokenHash(token: string, hash?: string | null): boolean;
|
|
33
|
+
/**
|
|
34
|
+
* Resolve the ACCESS token SIGNING key (auth-srv only).
|
|
35
|
+
*
|
|
36
|
+
* Asymmetric algorithms sign with the PRIVATE key (`JWT_PRIVATE_KEY`); symmetric
|
|
37
|
+
* ones use the shared `JWT_SECRET`. Passed explicitly to `generateJwt()` so the
|
|
38
|
+
* signer never depends on `JWT_SECRET` being (mis)used as the private key.
|
|
39
|
+
*/
|
|
40
|
+
export declare function accessSigningKey(): string | undefined;
|
|
41
|
+
/**
|
|
42
|
+
* Resolve the ACCESS token VERIFICATION key (every service).
|
|
43
|
+
*
|
|
44
|
+
* Asymmetric algorithms verify with the PUBLIC key (`JWT_PUBLIC_KEY`, which
|
|
45
|
+
* cannot forge tokens); symmetric ones use the shared `JWT_SECRET`. This value
|
|
46
|
+
* is what `initConfig` stores in `APP.config.jwt.secret`, consumed by every
|
|
47
|
+
* `express-jwt` middleware and the WS `validateJwt` call.
|
|
48
|
+
*/
|
|
49
|
+
export declare function accessVerificationKey(): string | undefined;
|
|
47
50
|
//# sourceMappingURL=jwt.d.ts.map
|
package/build/utils/jwt.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"jwt.d.ts","sourceRoot":"","sources":["../../src/utils/jwt.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"jwt.d.ts","sourceRoot":"","sources":["../../src/utils/jwt.ts"],"names":[],"mappings":"AAoBA,OAAO,EAAc,WAAW,EAAE,MAAM,cAAc,CAAC;AAGvD,OAAO,EAAE,mBAAmB,EAAE,MAAU,kBAAkB,CAAC;AA+B3D;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,GAAE,WAAgB,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAgB1G;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,mBAAmB,CAQtF;AAED;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAG/C;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAK3D;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,CAS5E;AA2BD;;;;;;GAMG;AACH,wBAAgB,gBAAgB,IAAI,MAAM,GAAG,SAAS,CAKrD;AAED;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,IAAI,MAAM,GAAG,SAAS,CAK1D"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* JWT token types & interfaces.
|
|
3
|
+
*
|
|
4
|
+
* Kept separate from the token helper logic in `jwt.ts` and from the values in
|
|
5
|
+
* `jwt.constants.ts` (house-style: types live in a dedicated `*.interfaces.ts`,
|
|
6
|
+
* never mixed with the logic that consumes them).
|
|
7
|
+
*/
|
|
8
|
+
import { JwtPayload } from 'jsonwebtoken';
|
|
9
|
+
import { JWT_ALG, REFRESH_TOKEN_TYPE } from './jwt.constants';
|
|
10
|
+
/** Union of the known JWT algorithms, derived from the `JWT_ALG` const object. */
|
|
11
|
+
export type JwtAlg = (typeof JWT_ALG)[keyof typeof JWT_ALG];
|
|
12
|
+
/** Decoded payload of a REFRESH token (ADR-0002). */
|
|
13
|
+
export interface RefreshTokenPayload extends JwtPayload {
|
|
14
|
+
/** Subject — the user id. */
|
|
15
|
+
sub: string;
|
|
16
|
+
/** JWT id — the `accesses` record id (session id). Mirrors the access token jti. */
|
|
17
|
+
jti: string;
|
|
18
|
+
/** Token type marker. */
|
|
19
|
+
typ: typeof REFRESH_TOKEN_TYPE;
|
|
20
|
+
/** Per-issuance nonce — guarantees each rotation yields a distinct token/hash. */
|
|
21
|
+
rti: string;
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=jwt.interfaces.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"jwt.interfaces.d.ts","sourceRoot":"","sources":["../../src/utils/jwt.interfaces.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAO,cAAc,CAAC;AAC3C,OAAO,EAAE,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAE9D,kFAAkF;AAClF,MAAM,MAAM,MAAM,GAAG,CAAC,OAAO,OAAO,CAAC,CAAC,MAAM,OAAO,OAAO,CAAC,CAAC;AAE5D,qDAAqD;AACrD,MAAM,WAAW,mBAAoB,SAAQ,UAAU;IACrD,6BAA6B;IAC7B,GAAG,EAAE,MAAM,CAAC;IACZ,oFAAoF;IACpF,GAAG,EAAE,MAAM,CAAC;IACZ,yBAAyB;IACzB,GAAG,EAAE,OAAO,kBAAkB,CAAC;IAC/B,kFAAkF;IAClF,GAAG,EAAE,MAAM,CAAC;CACb"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* JWT token types & interfaces.
|
|
4
|
+
*
|
|
5
|
+
* Kept separate from the token helper logic in `jwt.ts` and from the values in
|
|
6
|
+
* `jwt.constants.ts` (house-style: types live in a dedicated `*.interfaces.ts`,
|
|
7
|
+
* never mixed with the logic that consumes them).
|
|
8
|
+
*/
|
|
9
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
|
+
//# sourceMappingURL=jwt.interfaces.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"jwt.interfaces.js","sourceRoot":"","sources":["../../src/utils/jwt.interfaces.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG"}
|
package/build/utils/jwt.js
CHANGED
|
@@ -10,28 +10,26 @@
|
|
|
10
10
|
// │ • hashToken() → sha256 hex, stored on the `accesses` record so the │
|
|
11
11
|
// │ refresh can be rotated / revoked server-side. │
|
|
12
12
|
// │ │
|
|
13
|
-
// │ The ACCESS token is
|
|
14
|
-
// │
|
|
15
|
-
// │
|
|
16
|
-
// │
|
|
13
|
+
// │ The ACCESS token is signed by nx-frame-be `generateJwt()`. As of Step 2.7 it │
|
|
14
|
+
// │ uses ASYMMETRIC ES256 (auth-srv signs with the private key, every service │
|
|
15
|
+
// │ verifies with the public key). The REFRESH token below stays SYMMETRIC │
|
|
16
|
+
// │ (HS512): it never leaves auth-srv, so its algorithm is deliberately decoupled │
|
|
17
|
+
// │ from `JWT_ALGORITHM` (see DEFAULT_REFRESH_ALGORITHM in jwt.constants). │
|
|
17
18
|
// └────────────────────────────────────────────────────────────────────────────┘
|
|
18
19
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
19
20
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
20
21
|
};
|
|
21
22
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
22
|
-
exports.DEFAULT_REFRESH_VALIDITY = exports.DEFAULT_ACCESS_VALIDITY = exports.REFRESH_TOKEN_TYPE = void 0;
|
|
23
23
|
exports.signRefreshToken = signRefreshToken;
|
|
24
24
|
exports.verifyRefreshToken = verifyRefreshToken;
|
|
25
25
|
exports.hashToken = hashToken;
|
|
26
26
|
exports.tokenExpiry = tokenExpiry;
|
|
27
27
|
exports.verifyTokenHash = verifyTokenHash;
|
|
28
|
+
exports.accessSigningKey = accessSigningKey;
|
|
29
|
+
exports.accessVerificationKey = accessVerificationKey;
|
|
28
30
|
const node_crypto_1 = __importDefault(require("node:crypto"));
|
|
29
31
|
const jsonwebtoken_1 = __importDefault(require("jsonwebtoken"));
|
|
30
|
-
|
|
31
|
-
exports.REFRESH_TOKEN_TYPE = 'refresh';
|
|
32
|
-
/** Default validity used when the matching env var is not set. */
|
|
33
|
-
exports.DEFAULT_ACCESS_VALIDITY = '15m';
|
|
34
|
-
exports.DEFAULT_REFRESH_VALIDITY = '7d';
|
|
32
|
+
const jwt_constants_1 = require("./jwt.constants");
|
|
35
33
|
/**
|
|
36
34
|
* Resolve the secret used to sign / verify REFRESH tokens.
|
|
37
35
|
*
|
|
@@ -45,9 +43,15 @@ function refreshSecret(secret) {
|
|
|
45
43
|
throw new Error('Missing refresh token secret (REFRESH_SECRET / JWT_SECRET)');
|
|
46
44
|
return resolved;
|
|
47
45
|
}
|
|
48
|
-
/**
|
|
49
|
-
|
|
50
|
-
|
|
46
|
+
/**
|
|
47
|
+
* Resolve the REFRESH token algorithm. Symmetric (HS512) and DECOUPLED from the
|
|
48
|
+
* ACCESS token's `JWT_ALGORITHM`: the refresh never leaves auth-srv, so it keeps
|
|
49
|
+
* a symmetric secret even after the access token moves to ES256 (Step 2.7).
|
|
50
|
+
* Override with `REFRESH_ALGORITHM` (must stay symmetric — the refresh secret is
|
|
51
|
+
* a string, not a key pair).
|
|
52
|
+
*/
|
|
53
|
+
function refreshAlgorithm() {
|
|
54
|
+
return (process.env.REFRESH_ALGORITHM ?? jwt_constants_1.DEFAULT_REFRESH_ALGORITHM);
|
|
51
55
|
}
|
|
52
56
|
/**
|
|
53
57
|
* Sign a long-lived REFRESH token for a session.
|
|
@@ -58,14 +62,14 @@ function signAlgorithm() {
|
|
|
58
62
|
*/
|
|
59
63
|
function signRefreshToken(sub, jti, opts = {}, secret) {
|
|
60
64
|
const signOpts = {
|
|
61
|
-
algorithm:
|
|
62
|
-
expiresIn: (process.env.REFRESH_VALIDITY ??
|
|
65
|
+
algorithm: refreshAlgorithm(),
|
|
66
|
+
expiresIn: (process.env.REFRESH_VALIDITY ?? jwt_constants_1.DEFAULT_REFRESH_VALIDITY),
|
|
63
67
|
...opts
|
|
64
68
|
};
|
|
65
69
|
const payload = {
|
|
66
70
|
sub,
|
|
67
71
|
jti,
|
|
68
|
-
typ:
|
|
72
|
+
typ: jwt_constants_1.REFRESH_TOKEN_TYPE,
|
|
69
73
|
rti: node_crypto_1.default.randomUUID()
|
|
70
74
|
};
|
|
71
75
|
return jsonwebtoken_1.default.sign(payload, refreshSecret(secret), signOpts);
|
|
@@ -75,8 +79,8 @@ function signRefreshToken(sub, jti, opts = {}, secret) {
|
|
|
75
79
|
* TokenExpiredError) when the token is malformed, expired or not a refresh token.
|
|
76
80
|
*/
|
|
77
81
|
function verifyRefreshToken(token, secret) {
|
|
78
|
-
const payload = jsonwebtoken_1.default.verify(token, refreshSecret(secret), { algorithms: [
|
|
79
|
-
if (payload?.typ !==
|
|
82
|
+
const payload = jsonwebtoken_1.default.verify(token, refreshSecret(secret), { algorithms: [refreshAlgorithm()] });
|
|
83
|
+
if (payload?.typ !== jwt_constants_1.REFRESH_TOKEN_TYPE)
|
|
80
84
|
throw new Error('Not a refresh token');
|
|
81
85
|
return payload;
|
|
82
86
|
}
|
|
@@ -108,4 +112,46 @@ function verifyTokenHash(token, hash) {
|
|
|
108
112
|
const b = Buffer.from(hash);
|
|
109
113
|
return a.length === b.length && node_crypto_1.default.timingSafeEqual(a, b);
|
|
110
114
|
}
|
|
115
|
+
// ── ACCESS token key resolution (asymmetric ES256 — Step 2.7 / S10) ──────────────
|
|
116
|
+
/**
|
|
117
|
+
* True when the ACCESS token algorithm uses an asymmetric key pair (private key
|
|
118
|
+
* to sign, public key to verify): the `ES`, `RS`, `PS` families and `EdDSA`.
|
|
119
|
+
* Everything else is treated as a symmetric HMAC secret.
|
|
120
|
+
*/
|
|
121
|
+
function isAsymmetricAlgorithm(alg) {
|
|
122
|
+
return /^(ES|RS|PS)\d{3}$/.test(alg) || alg === jwt_constants_1.JWT_ALG.EdDSA;
|
|
123
|
+
}
|
|
124
|
+
/**
|
|
125
|
+
* Decode a PEM key provided via env. Accepts either a base64-encoded PEM (the
|
|
126
|
+
* recommended single-line form for `app.env`) or a raw PEM whose newlines are
|
|
127
|
+
* escaped as `\n`. Returns `undefined` when the variable is unset.
|
|
128
|
+
*/
|
|
129
|
+
function readPemEnv(value) {
|
|
130
|
+
if (!value)
|
|
131
|
+
return undefined;
|
|
132
|
+
return value.includes('BEGIN') ? value.replace(/\\n/g, '\n') : Buffer.from(value, 'base64').toString('utf8');
|
|
133
|
+
}
|
|
134
|
+
/**
|
|
135
|
+
* Resolve the ACCESS token SIGNING key (auth-srv only).
|
|
136
|
+
*
|
|
137
|
+
* Asymmetric algorithms sign with the PRIVATE key (`JWT_PRIVATE_KEY`); symmetric
|
|
138
|
+
* ones use the shared `JWT_SECRET`. Passed explicitly to `generateJwt()` so the
|
|
139
|
+
* signer never depends on `JWT_SECRET` being (mis)used as the private key.
|
|
140
|
+
*/
|
|
141
|
+
function accessSigningKey() {
|
|
142
|
+
const alg = process.env.JWT_ALGORITHM ?? jwt_constants_1.DEFAULT_ACCESS_ALGORITHM;
|
|
143
|
+
return isAsymmetricAlgorithm(alg) ? readPemEnv(process.env.JWT_PRIVATE_KEY) : process.env.JWT_SECRET;
|
|
144
|
+
}
|
|
145
|
+
/**
|
|
146
|
+
* Resolve the ACCESS token VERIFICATION key (every service).
|
|
147
|
+
*
|
|
148
|
+
* Asymmetric algorithms verify with the PUBLIC key (`JWT_PUBLIC_KEY`, which
|
|
149
|
+
* cannot forge tokens); symmetric ones use the shared `JWT_SECRET`. This value
|
|
150
|
+
* is what `initConfig` stores in `APP.config.jwt.secret`, consumed by every
|
|
151
|
+
* `express-jwt` middleware and the WS `validateJwt` call.
|
|
152
|
+
*/
|
|
153
|
+
function accessVerificationKey() {
|
|
154
|
+
const alg = process.env.JWT_ALGORITHM ?? jwt_constants_1.DEFAULT_ACCESS_ALGORITHM;
|
|
155
|
+
return isAsymmetricAlgorithm(alg) ? readPemEnv(process.env.JWT_PUBLIC_KEY) : process.env.JWT_SECRET;
|
|
156
|
+
}
|
|
111
157
|
//# sourceMappingURL=jwt.js.map
|
package/build/utils/jwt.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"jwt.js","sourceRoot":"","sources":["../../src/utils/jwt.ts"],"names":[],"mappings":";AAAA,iFAAiF;AACjF,mFAAmF;AACnF,mFAAmF;AACnF,mFAAmF;AACnF,mFAAmF;AACnF,mFAAmF;AACnF,mFAAmF;AACnF,mFAAmF;AACnF,oFAAoF;AACpF,oFAAoF;AACpF,mFAAmF;AACnF,mFAAmF;AACnF,oFAAoF;AACpF,
|
|
1
|
+
{"version":3,"file":"jwt.js","sourceRoot":"","sources":["../../src/utils/jwt.ts"],"names":[],"mappings":"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"}
|