@nextage/era-lib 1.0.165 → 1.0.167

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.
@@ -1,6 +1,6 @@
1
1
  export declare const msgWrapper: {
2
2
  client: {
3
- publish: import("vitest").Mock<(...args: any[]) => any>;
3
+ publish: import("vitest").Mock<import("@vitest/spy").Procedure>;
4
4
  };
5
5
  };
6
6
  //# sourceMappingURL=msg-wrapper.d.ts.map
@@ -1,6 +1,6 @@
1
1
  export declare const natsWrapper: {
2
2
  client: {
3
- publish: import("vitest").Mock<(...args: any[]) => any>;
3
+ publish: import("vitest").Mock<import("@vitest/spy").Procedure>;
4
4
  };
5
5
  };
6
6
  //# sourceMappingURL=nats-wrapper.d.ts.map
@@ -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;AAEhF;;GAEG;AACH,wBAAsB,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CA+DjF;AAkCD;;GAEG;AACH,wBAAsB,kBAAkB,IAAI,OAAO,CAAC,UAAU,CAAC,CA0B9D;AAED;;;GAGG;AACH,wBAAgB,OAAO,CAAC,GAAG,EAAE,MAAM,QAuClC;AAED;;;;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"}
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;AAEhF;;GAEG;AACH,wBAAsB,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CA+DjF;AA6BD;;GAEG;AACH,wBAAsB,kBAAkB,IAAI,OAAO,CAAC,UAAU,CAAC,CA0B9D;AAED;;;GAGG;AACH,wBAAgB,OAAO,CAAC,GAAG,EAAE,MAAM,QAsClC;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"}
@@ -114,21 +114,17 @@ async function initConfig(dir, appData) {
114
114
  * @returns
115
115
  */
116
116
  function buildMessagesConfig() {
117
- const servers = JSON.parse(process.env.NATS_SERVERS ?? '[]');
118
117
  const config = {
119
118
  servers: [],
120
119
  clientId: process.env.MSG_CLIENT_ID ?? '',
121
120
  clientName: process.env.MSG_CLIENT_NAME ?? ''
122
121
  };
122
+ // Note: `clientType` is intentionally not set here — it is never read by the
123
+ // transports (msgWrapper.connect uses only `clientId`, natsWrapper.connect uses
124
+ // `{servers, clientName}`). The service connects both wrappers explicitly in its
125
+ // messages.config, so the previous MSG_CLIENT_TYPE switch was dead code.
123
126
  try {
124
127
  config.servers = JSON.parse(process.env.MSG_NATS_SERVERS ?? '[]');
125
- switch (process.env.MSG_CLIENT_TYPE) {
126
- case 'nats':
127
- config.clientType = 'nats';
128
- case 'msg':
129
- default:
130
- config.clientType = 'msg';
131
- }
132
128
  }
133
129
  catch {
134
130
  config.servers = [process.env.MSG_NATS_SERVERS];
@@ -179,8 +175,6 @@ function readEnv(dir) {
179
175
  process.env.LOG_DIR = process.env.LOG_DIR ?? './logs';
180
176
  process.env.MORGAN_FORMAT = process.env.MORGAN_FORMAT ?? '';
181
177
  process.env.JWT_ALGORITHM = process.env.JWT_ALGORITHM ?? 'HS512';
182
- process.env.JWT_SECRET = process.env.JWT_SECRET ?? '0a6b944d-d2fb-46fc-a85e-0295c986cd9f';
183
- process.env.MONGO_SECRET = process.env.MONGO_SECRET ?? '0a6b944d-d2fb-46fc-a85e-0295c986cd9f';
184
178
  process.env.MONGO_HOST = process.env.MONGO_HOST ?? 'localhost';
185
179
  process.env.MONGO_DBNAME = process.env.MONGO_DBNAME ?? process.env.APP_NAME ?? 'nxapp';
186
180
  process.env.MONGO_AUTH = process.env.MONGO_AUTH ?? '';
@@ -202,6 +196,27 @@ function readEnv(dir) {
202
196
  process.env.GRAPHQL_WS_PORT = process.env.GRAPHQL_WS_PORT ?? '3001';
203
197
  process.env.I18N_FOLDER = process.env.I18N_FOLDER ?? `${dir}/assets/i18n`;
204
198
  process.env.ROOT_DIR = dir;
199
+ applySecrets();
200
+ }
201
+ /**
202
+ * Resolves the application secrets (finding S2).
203
+ *
204
+ * In production every secret is MANDATORY: if `JWT_SECRET` (token signing) or
205
+ * `SECRET` (field-level encryption, exposed as `APP.dataScr`) is missing the
206
+ * process fails fast instead of silently booting with a predictable value. In
207
+ * development/test a well-known fallback is used for convenience (tests also set
208
+ * `SECRET` explicitly in `src/test/env.ts`).
209
+ */
210
+ function applySecrets() {
211
+ const required = ['JWT_SECRET', 'SECRET'];
212
+ if (process.env.NODE_ENV === 'production') {
213
+ const missing = required.filter((k) => !process.env[k]);
214
+ if (missing.length)
215
+ throw new Error(`Missing required secret env in production: ${missing.join(', ')}`);
216
+ return;
217
+ }
218
+ // Development/test fallbacks (never used in production, see fail-fast above).
219
+ process.env.JWT_SECRET = process.env.JWT_SECRET ?? '0a6b944d-d2fb-46fc-a85e-0295c986cd9f';
205
220
  process.env.SECRET = process.env.SECRET ?? 'aaa';
206
221
  }
207
222
  /**
@@ -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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"}
@@ -1,4 +1,5 @@
1
1
  export * from './express';
2
2
  export * from './functs';
3
+ export * from './jwt';
3
4
  export * from './start-service';
4
5
  //# sourceMappingURL=index.d.ts.map
@@ -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,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"}
@@ -16,5 +16,6 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./express"), exports);
18
18
  __exportStar(require("./functs"), exports);
19
+ __exportStar(require("./jwt"), exports);
19
20
  __exportStar(require("./start-service"), exports);
20
21
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,4CAA0B;AAC1B,2CAAyB;AACzB,kDAAgC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,4CAA0B;AAC1B,2CAAyB;AACzB,wCAAsB;AACtB,kDAAgC"}
@@ -0,0 +1,45 @@
1
+ import { JwtPayload, SignOptions } from 'jsonwebtoken';
2
+ /** Marker claim distinguishing a refresh token from an access token. */
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
+ }
15
+ /**
16
+ * Sign a long-lived REFRESH token for a session.
17
+ *
18
+ * @param sub user id
19
+ * @param jti `accesses` record id (session id) — same value as the access jti
20
+ * @param opts optional sign-option overrides (e.g. a fixed expiresIn for tests)
21
+ */
22
+ export declare function signRefreshToken(sub: string, jti: string, opts?: SignOptions, secret?: string): string;
23
+ /**
24
+ * Verify a REFRESH token and return its payload. Throws (JsonWebTokenError /
25
+ * TokenExpiredError) when the token is malformed, expired or not a refresh token.
26
+ */
27
+ export declare function verifyRefreshToken(token: string, secret?: string): RefreshTokenPayload;
28
+ /**
29
+ * Deterministic sha256 hex digest of a token. Stored on the `accesses` record so
30
+ * the raw refresh token never touches the database and can be rotated / revoked
31
+ * by overwriting (logout) or replacing (rotation) the stored hash.
32
+ */
33
+ export declare function hashToken(token: string): string;
34
+ /**
35
+ * Read the `exp` claim of a signed token and return it as a `Date` (or
36
+ * `undefined` when the token carries no expiry). Used to persist the refresh
37
+ * token expiry on the `accesses` record without re-parsing the duration string.
38
+ */
39
+ export declare function tokenExpiry(token: string): Date | undefined;
40
+ /**
41
+ * Constant-time comparison of a raw token against a stored hash. Prevents timing
42
+ * side-channels when validating a presented refresh token.
43
+ */
44
+ export declare function verifyTokenHash(token: string, hash?: string | null): boolean;
45
+ //# sourceMappingURL=jwt.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jwt.d.ts","sourceRoot":"","sources":["../../src/utils/jwt.ts"],"names":[],"mappings":"AAmBA,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAEvD,wEAAwE;AACxE,eAAO,MAAM,kBAAkB,YAAY,CAAC;AAE5C,kEAAkE;AAClE,eAAO,MAAM,uBAAuB,QAAS,CAAC;AAC9C,eAAO,MAAM,wBAAwB,OAAQ,CAAC;AAE9C,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;CAChC;AAyBD;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,GAAE,WAAgB,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAW1G;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"}
@@ -0,0 +1,106 @@
1
+ "use strict";
2
+ // ┌────────────────────────────────────────────────────────────────────────────┐
3
+ // │ JWT — functional token helpers (access + refresh) │
4
+ // │ │
5
+ // │ Pure, side-effect-free helpers built on `jsonwebtoken`. They centralize the │
6
+ // │ token contract of the auth service so the controller stays declarative: │
7
+ // │ │
8
+ // │ • signRefreshToken() → long-lived refresh JWT (REFRESH_VALIDITY) │
9
+ // │ • verifyRefreshToken() → decode + verify a refresh JWT (throws on invalid) │
10
+ // │ • hashToken() → sha256 hex, stored on the `accesses` record so the │
11
+ // │ refresh can be rotated / revoked server-side. │
12
+ // │ │
13
+ // │ The ACCESS token is still signed by nx-frame-be `generateJwt()` (it already │
14
+ // │ honours JWT_VALIDITY). See ADR-0002: the target architecture (Step 2.7) is │
15
+ // │ asymmetric signing (EdDSA/Ed25519 via `jose`, auth-srv sole signer). These │
16
+ // │ helpers keep HS* now with a clean, functional surface to swap later. │
17
+ // └────────────────────────────────────────────────────────────────────────────┘
18
+ var __importDefault = (this && this.__importDefault) || function (mod) {
19
+ return (mod && mod.__esModule) ? mod : { "default": mod };
20
+ };
21
+ Object.defineProperty(exports, "__esModule", { value: true });
22
+ exports.DEFAULT_REFRESH_VALIDITY = exports.DEFAULT_ACCESS_VALIDITY = exports.REFRESH_TOKEN_TYPE = void 0;
23
+ exports.signRefreshToken = signRefreshToken;
24
+ exports.verifyRefreshToken = verifyRefreshToken;
25
+ exports.hashToken = hashToken;
26
+ exports.tokenExpiry = tokenExpiry;
27
+ exports.verifyTokenHash = verifyTokenHash;
28
+ const node_crypto_1 = __importDefault(require("node:crypto"));
29
+ const jsonwebtoken_1 = __importDefault(require("jsonwebtoken"));
30
+ /** Marker claim distinguishing a refresh token from an access token. */
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';
35
+ /**
36
+ * Resolve the secret used to sign / verify REFRESH tokens.
37
+ *
38
+ * A dedicated `REFRESH_SECRET` is preferred (so a leak of one secret cannot be
39
+ * used to forge the other kind of token); it falls back to `JWT_SECRET` when not
40
+ * configured. Throws when neither is available.
41
+ */
42
+ function refreshSecret(secret) {
43
+ const resolved = secret || process.env.REFRESH_SECRET || process.env.JWT_SECRET;
44
+ if (!resolved)
45
+ throw new Error('Missing refresh token secret (REFRESH_SECRET / JWT_SECRET)');
46
+ return resolved;
47
+ }
48
+ /** Resolve the signing algorithm (defaults to HS512, matching the access token). */
49
+ function signAlgorithm() {
50
+ return (process.env.JWT_ALGORITHM ?? 'HS512');
51
+ }
52
+ /**
53
+ * Sign a long-lived REFRESH token for a session.
54
+ *
55
+ * @param sub user id
56
+ * @param jti `accesses` record id (session id) — same value as the access jti
57
+ * @param opts optional sign-option overrides (e.g. a fixed expiresIn for tests)
58
+ */
59
+ function signRefreshToken(sub, jti, opts = {}, secret) {
60
+ const signOpts = {
61
+ algorithm: signAlgorithm(),
62
+ expiresIn: (process.env.REFRESH_VALIDITY ?? exports.DEFAULT_REFRESH_VALIDITY),
63
+ ...opts
64
+ };
65
+ const payload = { sub, jti, typ: exports.REFRESH_TOKEN_TYPE };
66
+ return jsonwebtoken_1.default.sign(payload, refreshSecret(secret), signOpts);
67
+ }
68
+ /**
69
+ * Verify a REFRESH token and return its payload. Throws (JsonWebTokenError /
70
+ * TokenExpiredError) when the token is malformed, expired or not a refresh token.
71
+ */
72
+ function verifyRefreshToken(token, secret) {
73
+ const payload = jsonwebtoken_1.default.verify(token, refreshSecret(secret), { algorithms: [signAlgorithm()] });
74
+ if (payload?.typ !== exports.REFRESH_TOKEN_TYPE)
75
+ throw new Error('Not a refresh token');
76
+ return payload;
77
+ }
78
+ /**
79
+ * Deterministic sha256 hex digest of a token. Stored on the `accesses` record so
80
+ * the raw refresh token never touches the database and can be rotated / revoked
81
+ * by overwriting (logout) or replacing (rotation) the stored hash.
82
+ */
83
+ function hashToken(token) {
84
+ return node_crypto_1.default.createHash('sha256').update(token).digest('hex');
85
+ }
86
+ /**
87
+ * Read the `exp` claim of a signed token and return it as a `Date` (or
88
+ * `undefined` when the token carries no expiry). Used to persist the refresh
89
+ * token expiry on the `accesses` record without re-parsing the duration string.
90
+ */
91
+ function tokenExpiry(token) {
92
+ const decoded = jsonwebtoken_1.default.decode(token);
93
+ return decoded?.exp ? new Date(decoded.exp * 1000) : undefined;
94
+ }
95
+ /**
96
+ * Constant-time comparison of a raw token against a stored hash. Prevents timing
97
+ * side-channels when validating a presented refresh token.
98
+ */
99
+ function verifyTokenHash(token, hash) {
100
+ if (!hash)
101
+ return false;
102
+ const a = Buffer.from(hashToken(token));
103
+ const b = Buffer.from(hash);
104
+ return a.length === b.length && node_crypto_1.default.timingSafeEqual(a, b);
105
+ }
106
+ //# sourceMappingURL=jwt.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jwt.js","sourceRoot":"","sources":["../../src/utils/jwt.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nextage/era-lib",
3
- "version": "1.0.165",
3
+ "version": "1.0.167",
4
4
  "main": "./build/index.js",
5
5
  "types": "./build/index.d.ts",
6
6
  "files": [
@@ -55,6 +55,9 @@
55
55
  "devDependencies": {
56
56
  "del-cli": "^6.0.0",
57
57
  "mongodb-memory-server": "^10.1.4",
58
- "vitest": "^2.1.9"
58
+ "vitest": "^4.1.10"
59
+ },
60
+ "overrides": {
61
+ "uuid": "^11.1.1"
59
62
  }
60
63
  }