@molecule/api-resource-user 1.1.1 → 1.2.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/README.md +2 -1
- package/dist/authorization.d.ts +20 -1
- package/dist/authorization.d.ts.map +1 -1
- package/dist/authorization.js +7 -3
- package/dist/authorization.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -3,7 +3,7 @@ AUTO-GENERATED — DO NOT EDIT THIS FILE.
|
|
|
3
3
|
Generated by `mlcl sync-docs` from the package's src/index.ts JSDoc + mlcl/registry.json.
|
|
4
4
|
Edits here are overwritten on the next commit (molecule's pre-commit hook regenerates).
|
|
5
5
|
To change this document, edit the module-level JSDoc in src/index.ts.
|
|
6
|
-
Generated: 2026-08-
|
|
6
|
+
Generated: 2026-08-14T16:52:47.963Z
|
|
7
7
|
-->
|
|
8
8
|
|
|
9
9
|
# @molecule/api-resource-user
|
|
@@ -511,6 +511,7 @@ Members:
|
|
|
511
511
|
- `authorization.invalidateDeviceExistsCache` — function: Evict a single device's positive entry from the device-exists cache so the
|
|
512
512
|
- `authorization.invalidateAllDeviceExistsCache` — function: Evict ALL positive entries from the device-exists cache.
|
|
513
513
|
- `authorization.set` — function: Set authorization headers and cookie for a session.
|
|
514
|
+
- `authorization.VerifyMiddlewareOptions` — interface: Options for {@link verifyMiddleware}.
|
|
514
515
|
- `authorization.verifyMiddleware` — function: Middleware that verifies the JWT token from the `Authorization` header and sets `res.locals.session`.
|
|
515
516
|
|
|
516
517
|
#### `authorizers`
|
package/dist/authorization.d.ts
CHANGED
|
@@ -98,10 +98,29 @@ export declare const invalidateAllDeviceExistsCache: () => void;
|
|
|
98
98
|
* @returns The signed JWT token string, or null if signing failed.
|
|
99
99
|
*/
|
|
100
100
|
export declare const set: (_req: MoleculeRequest, res: MoleculeResponse, session: Session) => string | null;
|
|
101
|
+
/** Options for {@link verifyMiddleware}. */
|
|
102
|
+
export interface VerifyMiddlewareOptions {
|
|
103
|
+
/**
|
|
104
|
+
* Decide whether an aging token may be transparently re-issued for this
|
|
105
|
+
* session. The auto-refresh calls `set()`, which rewrites the session cookies
|
|
106
|
+
* AND the non-httpOnly `mol_auth` presence hint — the signal the auth client
|
|
107
|
+
* uses to hydrate a signed-in user on the next page load. Return `false` to
|
|
108
|
+
* skip the refresh for sessions that must never mint that hint (e.g. an
|
|
109
|
+
* anonymous/guest session whose httpOnly cookie authenticates API calls but
|
|
110
|
+
* whose user must not appear signed-in client-side). A thrown error is
|
|
111
|
+
* treated as `false` (refresh is best-effort and fails safe: no hint).
|
|
112
|
+
* Defaults to refreshing every session.
|
|
113
|
+
* @param session - The verified session about to be refreshed.
|
|
114
|
+
* @param req - The current request.
|
|
115
|
+
* @returns Whether the session may be re-issued.
|
|
116
|
+
*/
|
|
117
|
+
shouldRefreshSession?: (session: Session, req: MoleculeRequest) => boolean | Promise<boolean>;
|
|
118
|
+
}
|
|
101
119
|
/**
|
|
102
120
|
* Middleware that verifies the JWT token from the `Authorization` header and sets `res.locals.session`.
|
|
103
121
|
* Falls back to cookie-based session for browser clients. Auto-refreshes tokens older than `JWT_REFRESH_TIME`.
|
|
122
|
+
* @param options - {@link VerifyMiddlewareOptions} controlling the auto-refresh.
|
|
104
123
|
* @returns An Express-compatible middleware function.
|
|
105
124
|
*/
|
|
106
|
-
export declare const verifyMiddleware: () => MoleculeRequestHandler;
|
|
125
|
+
export declare const verifyMiddleware: (options?: VerifyMiddlewareOptions) => MoleculeRequestHandler;
|
|
107
126
|
//# sourceMappingURL=authorization.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"authorization.d.ts","sourceRoot":"","sources":["../src/authorization.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAKH,OAAO,cAAc,CAAA;AAMrB,OAAO,KAAK,EACV,eAAe,EACf,sBAAsB,EACtB,gBAAgB,EACjB,MAAM,wBAAwB,CAAA;AAE/B,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AAwB1C;;;;;;;;;;;;;;;;;;GAkBG;AACH,eAAO,MAAM,iBAAiB,GAAI,MAAM,MAAM,KAAG,MACP,CAAA;AA4B1C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,eAAO,MAAM,oBAAoB,QAAO;IACtC,MAAM,EAAE,OAAO,CAAA;IACf,QAAQ,EAAE,KAAK,GAAG,MAAM,CAAA;IACxB,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,IAAI,EAAE,MAAM,CAAA;CAQb,CAAA;AAiDD;;;;;;;;;GASG;AACH,eAAO,MAAM,2BAA2B,GAAI,UAAU,MAAM,KAAG,IAE9D,CAAA;AAED;;;;;;;;;;GAUG;AACH,eAAO,MAAM,8BAA8B,QAAO,IAEjD,CAAA;AAsDD;;;;;;;GAOG;AACH,eAAO,MAAM,GAAG,GACd,MAAM,eAAe,EACrB,KAAK,gBAAgB,EACrB,SAAS,OAAO,KACf,MAAM,GAAG,IA6DX,CAAA;AAED
|
|
1
|
+
{"version":3,"file":"authorization.d.ts","sourceRoot":"","sources":["../src/authorization.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAKH,OAAO,cAAc,CAAA;AAMrB,OAAO,KAAK,EACV,eAAe,EACf,sBAAsB,EACtB,gBAAgB,EACjB,MAAM,wBAAwB,CAAA;AAE/B,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AAwB1C;;;;;;;;;;;;;;;;;;GAkBG;AACH,eAAO,MAAM,iBAAiB,GAAI,MAAM,MAAM,KAAG,MACP,CAAA;AA4B1C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,eAAO,MAAM,oBAAoB,QAAO;IACtC,MAAM,EAAE,OAAO,CAAA;IACf,QAAQ,EAAE,KAAK,GAAG,MAAM,CAAA;IACxB,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,IAAI,EAAE,MAAM,CAAA;CAQb,CAAA;AAiDD;;;;;;;;;GASG;AACH,eAAO,MAAM,2BAA2B,GAAI,UAAU,MAAM,KAAG,IAE9D,CAAA;AAED;;;;;;;;;;GAUG;AACH,eAAO,MAAM,8BAA8B,QAAO,IAEjD,CAAA;AAsDD;;;;;;;GAOG;AACH,eAAO,MAAM,GAAG,GACd,MAAM,eAAe,EACrB,KAAK,gBAAgB,EACrB,SAAS,OAAO,KACf,MAAM,GAAG,IA6DX,CAAA;AAED,4CAA4C;AAC5C,MAAM,WAAW,uBAAuB;IACtC;;;;;;;;;;;;;OAaG;IACH,oBAAoB,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,eAAe,KAAK,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;CAC9F;AAED;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB,GAC1B,UAAU,uBAAuB,KAAG,sBA4EpC,CAAA"}
|
package/dist/authorization.js
CHANGED
|
@@ -307,9 +307,10 @@ export const set = (_req, res, session) => {
|
|
|
307
307
|
/**
|
|
308
308
|
* Middleware that verifies the JWT token from the `Authorization` header and sets `res.locals.session`.
|
|
309
309
|
* Falls back to cookie-based session for browser clients. Auto-refreshes tokens older than `JWT_REFRESH_TIME`.
|
|
310
|
+
* @param options - {@link VerifyMiddlewareOptions} controlling the auto-refresh.
|
|
310
311
|
* @returns An Express-compatible middleware function.
|
|
311
312
|
*/
|
|
312
|
-
export const verifyMiddleware = () => async (req, res, next) => {
|
|
313
|
+
export const verifyMiddleware = (options) => async (req, res, next) => {
|
|
313
314
|
try {
|
|
314
315
|
// Get token from Authorization header, falling back to the `token`
|
|
315
316
|
// cookie that `set()` writes alongside the header. The JSDoc above
|
|
@@ -354,7 +355,8 @@ export const verifyMiddleware = () => async (req, res, next) => {
|
|
|
354
355
|
const decoded = decode(token);
|
|
355
356
|
if (decoded?.iat) {
|
|
356
357
|
const tokenAge = Date.now() - decoded.iat * 1000;
|
|
357
|
-
if (tokenAge > getJwtRefreshTime()
|
|
358
|
+
if (tokenAge > getJwtRefreshTime() &&
|
|
359
|
+
(await options?.shouldRefreshSession?.(session, req)) !== false) {
|
|
358
360
|
// Update device last seen timestamp via bond.
|
|
359
361
|
await get('device')?.updateLastSeen(session.deviceId);
|
|
360
362
|
// Issue a fresh token.
|
|
@@ -363,7 +365,9 @@ export const verifyMiddleware = () => async (req, res, next) => {
|
|
|
363
365
|
}
|
|
364
366
|
}
|
|
365
367
|
catch (_error) {
|
|
366
|
-
// Non-critical — token refresh is best-effort; continue with existing
|
|
368
|
+
// Non-critical — token refresh is best-effort; continue with existing
|
|
369
|
+
// session. A throwing shouldRefreshSession lands here too, which is the
|
|
370
|
+
// safe direction: no re-issue, no `mol_auth` hint.
|
|
367
371
|
}
|
|
368
372
|
}
|
|
369
373
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"authorization.js","sourceRoot":"","sources":["../src/authorization.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"authorization.js","sourceRoot":"","sources":["../src/authorization.ts"],"names":[],"mappings":"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"}
|