@auth-craft/client 0.2.1 → 0.3.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 +46 -0
- package/dist/core/core.d.ts +13 -0
- package/dist/core/core.d.ts.map +1 -1
- package/dist/core/core.js +4 -0
- package/dist/core/core.js.map +1 -1
- package/dist/transport/client.d.ts.map +1 -1
- package/dist/transport/client.js +1 -0
- package/dist/transport/client.js.map +1 -1
- package/dist/transport/index.d.ts +5 -1
- package/dist/transport/index.d.ts.map +1 -1
- package/dist/transport/index.js +3 -0
- package/dist/transport/index.js.map +1 -1
- package/dist/transport/inline-worker.d.ts +6 -0
- package/dist/transport/inline-worker.d.ts.map +1 -1
- package/dist/transport/inline-worker.js +8 -1
- package/dist/transport/inline-worker.js.map +1 -1
- package/dist/transport/provider/storage/session-hint-channel.d.ts +34 -0
- package/dist/transport/provider/storage/session-hint-channel.d.ts.map +1 -0
- package/dist/transport/provider/storage/session-hint-channel.js +81 -0
- package/dist/transport/provider/storage/session-hint-channel.js.map +1 -0
- package/dist/transport/provider/storage/session-hint.d.ts +65 -0
- package/dist/transport/provider/storage/session-hint.d.ts.map +1 -0
- package/dist/transport/provider/storage/session-hint.js +117 -0
- package/dist/transport/provider/storage/session-hint.js.map +1 -0
- package/dist/transport/types.d.ts +39 -0
- package/dist/transport/types.d.ts.map +1 -1
- package/dist/transport/worker.d.ts +7 -1
- package/dist/transport/worker.d.ts.map +1 -1
- package/dist/transport/worker.js +123 -0
- package/dist/transport/worker.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -126,6 +126,11 @@ interface AuthCraftClientConfig {
|
|
|
126
126
|
* 'system' = admin, 'tenant' = tenant-scoped, omit/'customer' = default.
|
|
127
127
|
*/
|
|
128
128
|
context?: 'customer' | 'tenant' | 'system'
|
|
129
|
+
/**
|
|
130
|
+
* Skip the boot-time refresh for visitors who never logged in (default false).
|
|
131
|
+
* See "Skipping the pointless boot refresh" below.
|
|
132
|
+
*/
|
|
133
|
+
sessionHint?: boolean
|
|
129
134
|
/**
|
|
130
135
|
* Subscribe to session state changes (login, logout, refresh, expiry).
|
|
131
136
|
* Fires after `init()`. Bridge it into app state or trigger auto-logout
|
|
@@ -135,6 +140,47 @@ interface AuthCraftClientConfig {
|
|
|
135
140
|
}
|
|
136
141
|
```
|
|
137
142
|
|
|
143
|
+
### Skipping the pointless boot refresh
|
|
144
|
+
|
|
145
|
+
The refresh token is an httpOnly cookie the worker cannot read, so after every
|
|
146
|
+
reload the worker has no idea whether a session exists — the only way to find out
|
|
147
|
+
is to try `POST /auth/refresh`. For someone who never logged in, that attempt can
|
|
148
|
+
never succeed, yet it is paid on **every** page load, and the app has to wait for
|
|
149
|
+
it to fail before it can render "logged out".
|
|
150
|
+
|
|
151
|
+
`sessionHint: true` makes the worker remember the answer:
|
|
152
|
+
|
|
153
|
+
```ts
|
|
154
|
+
const client = createAuthCraftClient({
|
|
155
|
+
baseUrl: 'https://auth.example.com',
|
|
156
|
+
strategy: 'cookie-auth',
|
|
157
|
+
allowedDomains: ['auth.example.com'],
|
|
158
|
+
sessionHint: true, // don't try refresh if nobody ever logged in here
|
|
159
|
+
})
|
|
160
|
+
```
|
|
161
|
+
|
|
162
|
+
- **login succeeds** → the hint is written (IndexedDB; the worker has no
|
|
163
|
+
`localStorage`).
|
|
164
|
+
- **logout**, or a refresh the server rejects → the hint is cleared.
|
|
165
|
+
- **next reload with no hint** → auth-requiring calls resolve immediately as
|
|
166
|
+
`NOT_AUTHENTICATED` with **zero HTTP requests**. Public calls (login, register,
|
|
167
|
+
password reset, …) are unaffected.
|
|
168
|
+
|
|
169
|
+
The hint is one non-secret bit and is never trusted for authorization — it can
|
|
170
|
+
only skip a request that was going to fail anyway. It self-corrects in both
|
|
171
|
+
directions: a rejected refresh clears it, and a login or logout in another tab is
|
|
172
|
+
broadcast to every open tab (via `BroadcastChannel`), so a tab that booted
|
|
173
|
+
"anonymous" starts attempting refresh again without a reload. If IndexedDB is
|
|
174
|
+
unavailable or faulting, the hint **fails open** — the client simply behaves as it
|
|
175
|
+
does today.
|
|
176
|
+
|
|
177
|
+
The storage key is derived from `context`, so a customer login on the same origin
|
|
178
|
+
never implies a `tenant` or `system` session.
|
|
179
|
+
|
|
180
|
+
> Handle `NOT_AUTHENTICATED` as "show the login screen". If your app currently
|
|
181
|
+
> distinguishes "refresh failed" from "never logged in", both now arrive as the
|
|
182
|
+
> same error code — the difference is only that the second costs no request.
|
|
183
|
+
|
|
138
184
|
### Transport: worker vs inline
|
|
139
185
|
|
|
140
186
|
By default the client runs its token/refresh loop in a **Web Worker**, so the
|
package/dist/core/core.d.ts
CHANGED
|
@@ -49,6 +49,19 @@ export interface ClientCoreConfig {
|
|
|
49
49
|
transport?: 'worker' | 'inline';
|
|
50
50
|
/** Auth scope → `X-Auth-Context` header. */
|
|
51
51
|
context?: 'customer' | 'tenant' | 'system';
|
|
52
|
+
/**
|
|
53
|
+
* Skip the boot-time `POST /auth/refresh` for visitors who never logged in.
|
|
54
|
+
*
|
|
55
|
+
* Off by default. When `true`, the worker remembers (in IndexedDB) that a
|
|
56
|
+
* session was established here and, on a later reload, fails auth-requiring
|
|
57
|
+
* calls fast with NOT_AUTHENTICATED instead of spending a refresh that cannot
|
|
58
|
+
* succeed. The hint is cleared whenever the server reports no session and is
|
|
59
|
+
* synced across tabs, so it only ever skips a request that would have failed.
|
|
60
|
+
*
|
|
61
|
+
* The storage key is derived from `context`, so a customer login on the same
|
|
62
|
+
* origin never implies a tenant or system session.
|
|
63
|
+
*/
|
|
64
|
+
sessionHint?: boolean;
|
|
52
65
|
/** Session state changes (login/logout/refresh/expiry). Fires after init(). */
|
|
53
66
|
onAuthStateChanged?: (state: TransportAuthResult) => void;
|
|
54
67
|
}
|
package/dist/core/core.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../../src/core/core.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAEL,KAAK,gBAAgB,EACrB,KAAK,qBAAqB,EAC1B,KAAK,UAAU,IAAI,mBAAmB,EACvC,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAe,KAAK,cAAc,EAAE,MAAM,YAAY,CAAC;AAE9D;;;;GAIG;AACH,MAAM,WAAW,YAAY;IAC3B,GAAG,CAAC,CAAC,GAAG,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,qBAAqB,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IACnF,IAAI,CAAC,CAAC,GAAG,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,qBAAqB,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IACpG,GAAG,CAAC,CAAC,GAAG,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,qBAAqB,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IACnG,KAAK,CAAC,CAAC,GAAG,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,qBAAqB,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IACrG,MAAM,CAAC,CAAC,GAAG,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,qBAAqB,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;CACvG;AAED,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,aAAa,GAAG,WAAW,CAAC;IACtC,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACxC,aAAa,CAAC,EAAE,MAAM,MAAM,CAAC;IAC7B;;;;OAIG;IACH,SAAS,CAAC,EAAE,QAAQ,GAAG,QAAQ,CAAC;IAChC,4CAA4C;IAC5C,OAAO,CAAC,EAAE,UAAU,GAAG,QAAQ,GAAG,QAAQ,CAAC;IAC3C,+EAA+E;IAC/E,kBAAkB,CAAC,EAAE,CAAC,KAAK,EAAE,mBAAmB,KAAK,IAAI,CAAC;CAC3D;AAED,qBAAa,UAAU;IACrB,OAAO,CAAC,EAAE,CAAiC;IAC3C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAmB;IAE1C,YAAY,MAAM,EAAE,gBAAgB,EAEnC;IAEK,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../../src/core/core.ts"],"names":[],"mappings":"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"}
|
package/dist/core/core.js
CHANGED
|
@@ -43,6 +43,10 @@ export class ClientCore {
|
|
|
43
43
|
...(headers ? { defaultHeaders: headers } : {}),
|
|
44
44
|
...(this.config.workerFactory ? { workerFactory: this.config.workerFactory } : {}),
|
|
45
45
|
...(this.config.transport ? { transport: this.config.transport } : {}),
|
|
46
|
+
// Per-scope key: each auth context tracks its own session independently.
|
|
47
|
+
...(this.config.sessionHint
|
|
48
|
+
? { sessionHint: { enabled: true, key: `sessionHint:${this.config.context ?? 'customer'}` } }
|
|
49
|
+
: {}),
|
|
46
50
|
});
|
|
47
51
|
await this.fg.whenReady();
|
|
48
52
|
if (this.config.onAuthStateChanged) {
|
package/dist/core/core.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"core.js","sourceRoot":"","sources":["../../src/core/core.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAIH,OAAO,EACL,YAAY,GAIb,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,WAAW,EAAuB,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"core.js","sourceRoot":"","sources":["../../src/core/core.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/transport/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,KAAK,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAOvD,OAAO,KAAK,EACV,UAAU,EAGV,aAAa,EACb,iBAAiB,EACjB,qBAAqB,EAMtB,MAAM,YAAY,CAAC;AAsCpB;;GAEG;AACH,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,SAAS,CAAK;IAGtB,OAAO,CAAC,eAAe,CAMnB;IACJ,yCAAyC;IACzC,OAAO,CAAC,WAAW,CAA6B;IAChD,uCAAuC;IACvC,OAAO,CAAC,cAAc,CAAoC;IAC1D,OAAO,CAAC,aAAa,CAA0C;IAC/D,OAAO,CAAC,cAAc,CAAyB;IAC/C,OAAO,CAAC,OAAO,CAAS;IAExB,OAAO,CAAC,YAAY,CAAmB;IACvC,OAAO,CAAC,cAAc,CAAK;IAC3B,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAS;IACvC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAS;IACtC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAS;IACtC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAS;IACxC,OAAO,CAAC,YAAY,CAAC,CAAa;IAClC,OAAO,CAAC,WAAW,CAAC,CAAyB;IAC7C,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAa;IACpC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAc;IACrC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAe;IACvC,2CAA2C;IAC3C,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAqD;IACtF,8DAA8D;IAC9D,OAAO,CAAC,QAAQ,CAAC,aAAa,CAA2E;IAEzG,YAAY,OAAO,EAAE,iBAAiB,EA2BrC;IAED;;OAEG;YACW,gBAAgB;
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/transport/client.ts"],"names":[],"mappings":"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"}
|
package/dist/transport/client.js
CHANGED
|
@@ -79,6 +79,7 @@ export class FetchGuardClient {
|
|
|
79
79
|
allowedDomains: options.allowedDomains || [],
|
|
80
80
|
refreshEarlyMs: options.refreshEarlyMs ?? DEFAULT_REFRESH_EARLY_MS,
|
|
81
81
|
defaultHeaders: options.defaultHeaders || {},
|
|
82
|
+
...(options.sessionHint ? { sessionHint: options.sessionHint } : {}),
|
|
82
83
|
};
|
|
83
84
|
// Serialize provider config based on type
|
|
84
85
|
let providerConfig = null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/transport/client.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/transport/client.ts"],"names":[],"mappings":"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"}
|
|
@@ -12,10 +12,14 @@ export { cookieParser } from './provider/parser/cookie.js';
|
|
|
12
12
|
export { createBodyProvider, createCookieProvider, } from './provider/presets.js';
|
|
13
13
|
export type { IndexedDBStorageOptions } from './provider/storage/indexeddb.js';
|
|
14
14
|
export { createIndexedDBStorage } from './provider/storage/indexeddb.js';
|
|
15
|
+
export type { SessionHintOptions, SessionHintStore } from './provider/storage/session-hint.js';
|
|
16
|
+
export { createSessionHint } from './provider/storage/session-hint.js';
|
|
17
|
+
export type { SessionHintChannel } from './provider/storage/session-hint-channel.js';
|
|
18
|
+
export { createSessionHintChannel } from './provider/storage/session-hint-channel.js';
|
|
15
19
|
export { bodyStrategy, createBodyStrategy } from './provider/strategy/body.js';
|
|
16
20
|
export { cookieStrategy, createCookieStrategy } from './provider/strategy/cookie.js';
|
|
17
21
|
export { deserializeResult, toResult } from './result.js';
|
|
18
|
-
export type { AuthResult, AuthStrategy, DebugHooks, DedupeConfig, ExchangeTokenOptions, FetchEnvelope, FetchGuardOptions, FetchGuardRequestInit, NetworkErrorDetail, ProviderPresetConfig, RefreshReason, RefreshTokenStorage, RequestMetrics, RetryConfig, SerializedFile, SerializedFormData, SerializedFormDataEntry, StorageErrorCallback, StorageErrorContext, TokenInfo, TokenParser, TokenProvider, TransportResult, WorkerConfig, } from './types.js';
|
|
22
|
+
export type { AuthResult, AuthStrategy, DebugHooks, DedupeConfig, ExchangeTokenOptions, FetchEnvelope, FetchGuardOptions, FetchGuardRequestInit, NetworkErrorDetail, ProviderPresetConfig, RefreshReason, RefreshTokenStorage, RequestMetrics, RetryConfig, SerializedFile, SerializedFormData, SerializedFormDataEntry, SessionHintConfig, StorageErrorCallback, StorageErrorContext, TokenInfo, TokenParser, TokenProvider, TransportResult, WorkerConfig, } from './types.js';
|
|
19
23
|
export { base64ToArrayBuffer, isBinaryContentType, } from './utils/binary.js';
|
|
20
24
|
export { deserializeFormData, isFormData, isSerializedFormData, serializeFormData, } from './utils/formdata.js';
|
|
21
25
|
export { clearProviders, getProvider, hasProvider, listProviders, registerProvider, unregisterProvider, } from './utils/registry.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/transport/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC7D,YAAY,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAEhE,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C,OAAO,EACL,UAAU,EACV,YAAY,EACZ,aAAa,EACb,UAAU,EACV,aAAa,GACd,MAAM,aAAa,CAAC;AAErB,OAAO,EACL,YAAY,EACZ,eAAe,EACf,SAAS,EACT,SAAS,EACT,aAAa,EACb,cAAc,EACd,aAAa,EACb,SAAS,EACT,WAAW,EACX,SAAS,GACV,MAAM,cAAc,CAAC;AACtB,YAAY,EACV,mBAAmB,EACnB,WAAW,EACX,mBAAmB,GACpB,MAAM,eAAe,CAAC;AAEvB,OAAO,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AACpC,YAAY,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAGpE,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAE/D,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAE3D,OAAO,EACL,kBAAkB,EAClB,oBAAoB,GACrB,MAAM,uBAAuB,CAAC;AAC/B,YAAY,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAC;AAE/E,OAAO,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AACzE,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AAE/E,OAAO,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AAGrF,OAAO,EAAE,iBAAiB,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAC1D,YAAY,EACV,UAAU,EACV,YAAY,EACZ,UAAU,EACV,YAAY,EACZ,oBAAoB,EACpB,aAAa,EACb,iBAAiB,EACjB,qBAAqB,EACrB,kBAAkB,EAClB,oBAAoB,EACpB,aAAa,EACb,mBAAmB,EACnB,cAAc,EACd,WAAW,EACX,cAAc,EACd,kBAAkB,EAClB,uBAAuB,EACvB,oBAAoB,EACpB,mBAAmB,EACnB,SAAS,EACT,WAAW,EACX,aAAa,EACb,eAAe,EACf,YAAY,GACb,MAAM,YAAY,CAAC;AAGpB,OAAO,EACL,mBAAmB,EACnB,mBAAmB,GACpB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EACL,mBAAmB,EACnB,UAAU,EACV,oBAAoB,EACpB,iBAAiB,GAClB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EACL,cAAc,EACd,WAAW,EACX,WAAW,EACX,aAAa,EACb,gBAAgB,EAChB,kBAAkB,GACnB,MAAM,qBAAqB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/transport/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC7D,YAAY,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAEhE,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C,OAAO,EACL,UAAU,EACV,YAAY,EACZ,aAAa,EACb,UAAU,EACV,aAAa,GACd,MAAM,aAAa,CAAC;AAErB,OAAO,EACL,YAAY,EACZ,eAAe,EACf,SAAS,EACT,SAAS,EACT,aAAa,EACb,cAAc,EACd,aAAa,EACb,SAAS,EACT,WAAW,EACX,SAAS,GACV,MAAM,cAAc,CAAC;AACtB,YAAY,EACV,mBAAmB,EACnB,WAAW,EACX,mBAAmB,GACpB,MAAM,eAAe,CAAC;AAEvB,OAAO,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AACpC,YAAY,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAGpE,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAE/D,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAE3D,OAAO,EACL,kBAAkB,EAClB,oBAAoB,GACrB,MAAM,uBAAuB,CAAC;AAC/B,YAAY,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAC;AAE/E,OAAO,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AACzE,YAAY,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAC;AAC/F,OAAO,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;AACvE,YAAY,EAAE,kBAAkB,EAAE,MAAM,4CAA4C,CAAC;AAErF,OAAO,EAAE,wBAAwB,EAAE,MAAM,4CAA4C,CAAC;AACtF,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AAE/E,OAAO,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AAGrF,OAAO,EAAE,iBAAiB,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAC1D,YAAY,EACV,UAAU,EACV,YAAY,EACZ,UAAU,EACV,YAAY,EACZ,oBAAoB,EACpB,aAAa,EACb,iBAAiB,EACjB,qBAAqB,EACrB,kBAAkB,EAClB,oBAAoB,EACpB,aAAa,EACb,mBAAmB,EACnB,cAAc,EACd,WAAW,EACX,cAAc,EACd,kBAAkB,EAClB,uBAAuB,EACvB,iBAAiB,EACjB,oBAAoB,EACpB,mBAAmB,EACnB,SAAS,EACT,WAAW,EACX,aAAa,EACb,eAAe,EACf,YAAY,GACb,MAAM,YAAY,CAAC;AAGpB,OAAO,EACL,mBAAmB,EACnB,mBAAmB,GACpB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EACL,mBAAmB,EACnB,UAAU,EACV,oBAAoB,EACpB,iBAAiB,GAClB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EACL,cAAc,EACd,WAAW,EACX,WAAW,EACX,aAAa,EACb,gBAAgB,EAChB,kBAAkB,GACnB,MAAM,qBAAqB,CAAC"}
|
package/dist/transport/index.js
CHANGED
|
@@ -17,6 +17,9 @@ export { cookieParser } from './provider/parser/cookie.js';
|
|
|
17
17
|
export { createBodyProvider, createCookieProvider, } from './provider/presets.js';
|
|
18
18
|
// Storage modules
|
|
19
19
|
export { createIndexedDBStorage } from './provider/storage/indexeddb.js';
|
|
20
|
+
export { createSessionHint } from './provider/storage/session-hint.js';
|
|
21
|
+
// Session hint — skip the boot refresh when nobody ever logged in here
|
|
22
|
+
export { createSessionHintChannel } from './provider/storage/session-hint-channel.js';
|
|
20
23
|
export { bodyStrategy, createBodyStrategy } from './provider/strategy/body.js';
|
|
21
24
|
// Strategy modules
|
|
22
25
|
export { cookieStrategy, createCookieStrategy } from './provider/strategy/cookie.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/transport/index.ts"],"names":[],"mappings":"AAAA,eAAe;AACf,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAE7D,2CAA2C;AAC3C,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,8BAA8B;AAC9B,OAAO,EACL,UAAU,EACV,YAAY,EACZ,aAAa,EACb,UAAU,EACV,aAAa,GACd,MAAM,aAAa,CAAC;AACrB,8CAA8C;AAC9C,OAAO,EACL,YAAY,EACZ,eAAe,EACf,SAAS,EACT,SAAS,EACT,aAAa,EACb,cAAc,EACd,aAAa,EACb,SAAS,EACT,WAAW,EACX,SAAS,GACV,MAAM,cAAc,CAAC;AAMtB,8CAA8C;AAC9C,OAAO,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AAGpC,mBAAmB;AACnB,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC/D,iBAAiB;AACjB,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,iCAAiC;AACjC,OAAO,EACL,kBAAkB,EAClB,oBAAoB,GACrB,MAAM,uBAAuB,CAAC;AAE/B,kBAAkB;AAClB,OAAO,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/transport/index.ts"],"names":[],"mappings":"AAAA,eAAe;AACf,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAE7D,2CAA2C;AAC3C,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,8BAA8B;AAC9B,OAAO,EACL,UAAU,EACV,YAAY,EACZ,aAAa,EACb,UAAU,EACV,aAAa,GACd,MAAM,aAAa,CAAC;AACrB,8CAA8C;AAC9C,OAAO,EACL,YAAY,EACZ,eAAe,EACf,SAAS,EACT,SAAS,EACT,aAAa,EACb,cAAc,EACd,aAAa,EACb,SAAS,EACT,WAAW,EACX,SAAS,GACV,MAAM,cAAc,CAAC;AAMtB,8CAA8C;AAC9C,OAAO,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AAGpC,mBAAmB;AACnB,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC/D,iBAAiB;AACjB,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,iCAAiC;AACjC,OAAO,EACL,kBAAkB,EAClB,oBAAoB,GACrB,MAAM,uBAAuB,CAAC;AAE/B,kBAAkB;AAClB,OAAO,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AAEzE,OAAO,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;AAEvE,uEAAuE;AACvE,OAAO,EAAE,wBAAwB,EAAE,MAAM,4CAA4C,CAAC;AACtF,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AAC/E,mBAAmB;AACnB,OAAO,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AACrF,iFAAiF;AACjF,8DAA8D;AAC9D,OAAO,EAAE,iBAAiB,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AA6B1D,mDAAmD;AACnD,OAAO,EACL,mBAAmB,EACnB,mBAAmB,GACpB,MAAM,mBAAmB,CAAC;AAC3B,0CAA0C;AAC1C,OAAO,EACL,mBAAmB,EACnB,UAAU,EACV,oBAAoB,EACpB,iBAAiB,GAClB,MAAM,qBAAqB,CAAC;AAC7B,qBAAqB;AACrB,OAAO,EACL,cAAc,EACd,WAAW,EACX,WAAW,EACX,aAAa,EACb,gBAAgB,EAChB,kBAAkB,GACnB,MAAM,qBAAqB,CAAC"}
|
|
@@ -34,6 +34,12 @@ export declare class InlineWorker implements WorkerLike {
|
|
|
34
34
|
}) => void) | null;
|
|
35
35
|
/** The loop's host scope: it reads `onmessage` and posts back via `postMessage`. */
|
|
36
36
|
private readonly scope;
|
|
37
|
+
/**
|
|
38
|
+
* Releases loop resources that outlive the message channel (the session-hint
|
|
39
|
+
* BroadcastChannel). A real Worker gets this for free when its realm is torn
|
|
40
|
+
* down; running inline there is no realm to discard, so `terminate()` must.
|
|
41
|
+
*/
|
|
42
|
+
private readonly disposeLoop;
|
|
37
43
|
private terminated;
|
|
38
44
|
constructor();
|
|
39
45
|
/** main → loop */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"inline-worker.d.ts","sourceRoot":"","sources":["../../src/transport/inline-worker.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,KAAK,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AAG9E,kFAAkF;AAClF,MAAM,WAAW,UAAU;IACzB,SAAS,EAAE,CAAC,CAAC,KAAK,EAAE,YAAY,CAAC,mBAAmB,CAAC,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC;IACvE,OAAO,EAAE,CAAC,CAAC,KAAK,EAAE;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC;IACvD,WAAW,CAAC,OAAO,EAAE,mBAAmB,EAAE,QAAQ,CAAC,EAAE,YAAY,EAAE,GAAG,IAAI,CAAC;IAC3E,SAAS,IAAI,IAAI,CAAC;CACnB;AAED,qBAAa,YAAa,YAAW,UAAU;IAC7C,SAAS,EAAE,CAAC,CAAC,KAAK,EAAE,YAAY,CAAC,mBAAmB,CAAC,KAAK,IAAI,CAAC,GAAG,IAAI,CAAQ;IAC9E,OAAO,EAAE,CAAC,CAAC,KAAK,EAAE;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC,GAAG,IAAI,CAAQ;IAE9D,oFAAoF;IACpF,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAkB;IACxC,OAAO,CAAC,UAAU,CAAS;IAE3B,cAaC;IAED,kBAAkB;IAClB,WAAW,CAAC,OAAO,EAAE,mBAAmB,GAAG,IAAI,CAO9C;IAED,SAAS,IAAI,IAAI,
|
|
1
|
+
{"version":3,"file":"inline-worker.d.ts","sourceRoot":"","sources":["../../src/transport/inline-worker.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,KAAK,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AAG9E,kFAAkF;AAClF,MAAM,WAAW,UAAU;IACzB,SAAS,EAAE,CAAC,CAAC,KAAK,EAAE,YAAY,CAAC,mBAAmB,CAAC,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC;IACvE,OAAO,EAAE,CAAC,CAAC,KAAK,EAAE;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC;IACvD,WAAW,CAAC,OAAO,EAAE,mBAAmB,EAAE,QAAQ,CAAC,EAAE,YAAY,EAAE,GAAG,IAAI,CAAC;IAC3E,SAAS,IAAI,IAAI,CAAC;CACnB;AAED,qBAAa,YAAa,YAAW,UAAU;IAC7C,SAAS,EAAE,CAAC,CAAC,KAAK,EAAE,YAAY,CAAC,mBAAmB,CAAC,KAAK,IAAI,CAAC,GAAG,IAAI,CAAQ;IAC9E,OAAO,EAAE,CAAC,CAAC,KAAK,EAAE;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC,GAAG,IAAI,CAAQ;IAE9D,oFAAoF;IACpF,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAkB;IACxC;;;;OAIG;IACH,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAa;IACzC,OAAO,CAAC,UAAU,CAAS;IAE3B,cAaC;IAED,kBAAkB;IAClB,WAAW,CAAC,OAAO,EAAE,mBAAmB,GAAG,IAAI,CAO9C;IAED,SAAS,IAAI,IAAI,CAMhB;IAED,+EAA+E;IAC/E,OAAO,CAAC,OAAO;CAUhB"}
|
|
@@ -23,6 +23,12 @@ export class InlineWorker {
|
|
|
23
23
|
onerror = null;
|
|
24
24
|
/** The loop's host scope: it reads `onmessage` and posts back via `postMessage`. */
|
|
25
25
|
scope;
|
|
26
|
+
/**
|
|
27
|
+
* Releases loop resources that outlive the message channel (the session-hint
|
|
28
|
+
* BroadcastChannel). A real Worker gets this for free when its realm is torn
|
|
29
|
+
* down; running inline there is no realm to discard, so `terminate()` must.
|
|
30
|
+
*/
|
|
31
|
+
disposeLoop;
|
|
26
32
|
terminated = false;
|
|
27
33
|
constructor() {
|
|
28
34
|
// The loop posts results to the host by calling `scope.postMessage`; route
|
|
@@ -37,7 +43,7 @@ export class InlineWorker {
|
|
|
37
43
|
});
|
|
38
44
|
},
|
|
39
45
|
};
|
|
40
|
-
runWorkerLoop(this.scope);
|
|
46
|
+
this.disposeLoop = runWorkerLoop(this.scope);
|
|
41
47
|
}
|
|
42
48
|
/** main → loop */
|
|
43
49
|
postMessage(message) {
|
|
@@ -51,6 +57,7 @@ export class InlineWorker {
|
|
|
51
57
|
}
|
|
52
58
|
terminate() {
|
|
53
59
|
this.terminated = true;
|
|
60
|
+
this.disposeLoop();
|
|
54
61
|
this.scope.onmessage = null;
|
|
55
62
|
this.onmessage = null;
|
|
56
63
|
this.onerror = null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"inline-worker.js","sourceRoot":"","sources":["../../src/transport/inline-worker.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAGH,OAAO,EAAE,aAAa,EAAwB,MAAM,aAAa,CAAC;AAUlE,MAAM,OAAO,YAAY;IACvB,SAAS,GAAgE,IAAI,CAAC;IAC9E,OAAO,GAAkD,IAAI,CAAC;IAE9D,oFAAoF;IACnE,KAAK,CAAkB;
|
|
1
|
+
{"version":3,"file":"inline-worker.js","sourceRoot":"","sources":["../../src/transport/inline-worker.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAGH,OAAO,EAAE,aAAa,EAAwB,MAAM,aAAa,CAAC;AAUlE,MAAM,OAAO,YAAY;IACvB,SAAS,GAAgE,IAAI,CAAC;IAC9E,OAAO,GAAkD,IAAI,CAAC;IAE9D,oFAAoF;IACnE,KAAK,CAAkB;IACxC;;;;OAIG;IACc,WAAW,CAAa;IACjC,UAAU,GAAG,KAAK,CAAC;IAE3B;QACE,2EAA2E;QAC3E,qEAAqE;QACrE,IAAI,CAAC,KAAK,GAAG;YACX,SAAS,EAAE,IAAI;YACf,WAAW,EAAE,CAAC,OAA4B,EAAQ,EAAE;gBAClD,IAAI,IAAI,CAAC,UAAU;oBAAE,OAAO;gBAC5B,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE;oBAChB,IAAI,CAAC,SAAS,EAAE,CAAC,EAAE,IAAI,EAAE,OAAO,EAAuC,CAAC,CAAC;gBAC3E,CAAC,CAAC,CAAC;YACL,CAAC;SACF,CAAC;QACF,IAAI,CAAC,WAAW,GAAG,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC/C,CAAC;IAED,kBAAkB;IAClB,WAAW,CAAC,OAA4B;QACtC,IAAI,IAAI,CAAC,UAAU;YAAE,OAAO;QAC5B,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE;YAChB,uEAAuE;YACvE,6DAA6D;YAC7D,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC,EAAE,IAAI,EAAE,OAAO,EAAuC,CAAC,CAAC;QACjF,CAAC,CAAC,CAAC;IACL,CAAC;IAED,SAAS;QACP,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACvB,IAAI,CAAC,WAAW,EAAE,CAAC;QACnB,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC;QAC5B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACtB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;IACtB,CAAC;IAED,+EAA+E;IACvE,OAAO,CAAC,EAAc;QAC5B,cAAc,CAAC,GAAG,EAAE;YAClB,IAAI,IAAI,CAAC,UAAU;gBAAE,OAAO;YAC5B,IAAI,CAAC;gBACH,EAAE,EAAE,CAAC;YACP,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,IAAI,CAAC,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YAC1E,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;CACF"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Cross-tab session-hint sync.
|
|
3
|
+
*
|
|
4
|
+
* The hint in `session-hint.ts` is per-origin durable state, but each tab's
|
|
5
|
+
* worker keeps its own in-memory copy of "did a session plausibly exist". Two
|
|
6
|
+
* tabs therefore drift: log in on tab A and tab B still believes nobody ever
|
|
7
|
+
* logged in here, so it keeps failing fast until it is reloaded.
|
|
8
|
+
*
|
|
9
|
+
* `storage` events would solve this for `localStorage`, but a Worker has no
|
|
10
|
+
* `window` and never receives them. `BroadcastChannel` is the equivalent the
|
|
11
|
+
* Worker *does* have: every worker on the origin — one per tab — can post and
|
|
12
|
+
* receive on a named channel. So a login/logout publishes the new hint and every
|
|
13
|
+
* other tab's worker updates immediately, no reload required.
|
|
14
|
+
*
|
|
15
|
+
* Only the one non-secret bit travels over the channel. Any script on the origin
|
|
16
|
+
* can listen (and, under XSS, publish a forged bit) — which changes nothing,
|
|
17
|
+
* because the hint can only ever cause a request to be *skipped* or *attempted*,
|
|
18
|
+
* never authorize anything. A forged "logged in" costs one rejected refresh.
|
|
19
|
+
*/
|
|
20
|
+
export interface SessionHintChannel {
|
|
21
|
+
/** Tell other tabs the hint changed. */
|
|
22
|
+
publish(hint: boolean): void;
|
|
23
|
+
/** Stop listening and release the channel. */
|
|
24
|
+
close(): void;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Open the sync channel. `onRemoteChange` fires when *another* tab publishes
|
|
28
|
+
* (BroadcastChannel never echoes to the sender, so no self-notification).
|
|
29
|
+
*
|
|
30
|
+
* Returns a no-op channel where BroadcastChannel is unavailable (older runtimes,
|
|
31
|
+
* test environments) — tabs then simply stay independent, as they are today.
|
|
32
|
+
*/
|
|
33
|
+
export declare function createSessionHintChannel(hintKey: string, onRemoteChange: (hint: boolean) => void): SessionHintChannel;
|
|
34
|
+
//# sourceMappingURL=session-hint-channel.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"session-hint-channel.d.ts","sourceRoot":"","sources":["../../../../src/transport/provider/storage/session-hint-channel.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAQH,MAAM,WAAW,kBAAkB;IACjC,wCAAwC;IACxC,OAAO,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,CAAC;IAC7B,8CAA8C;IAC9C,KAAK,IAAI,IAAI,CAAC;CACf;AAED;;;;;;GAMG;AACH,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,GAAG,kBAAkB,CAoDrH"}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Cross-tab session-hint sync.
|
|
3
|
+
*
|
|
4
|
+
* The hint in `session-hint.ts` is per-origin durable state, but each tab's
|
|
5
|
+
* worker keeps its own in-memory copy of "did a session plausibly exist". Two
|
|
6
|
+
* tabs therefore drift: log in on tab A and tab B still believes nobody ever
|
|
7
|
+
* logged in here, so it keeps failing fast until it is reloaded.
|
|
8
|
+
*
|
|
9
|
+
* `storage` events would solve this for `localStorage`, but a Worker has no
|
|
10
|
+
* `window` and never receives them. `BroadcastChannel` is the equivalent the
|
|
11
|
+
* Worker *does* have: every worker on the origin — one per tab — can post and
|
|
12
|
+
* receive on a named channel. So a login/logout publishes the new hint and every
|
|
13
|
+
* other tab's worker updates immediately, no reload required.
|
|
14
|
+
*
|
|
15
|
+
* Only the one non-secret bit travels over the channel. Any script on the origin
|
|
16
|
+
* can listen (and, under XSS, publish a forged bit) — which changes nothing,
|
|
17
|
+
* because the hint can only ever cause a request to be *skipped* or *attempted*,
|
|
18
|
+
* never authorize anything. A forged "logged in" costs one rejected refresh.
|
|
19
|
+
*/
|
|
20
|
+
/** Channel name; per-origin, so include the hint key to keep scopes apart. */
|
|
21
|
+
const CHANNEL_PREFIX = 'authcraft:session-hint';
|
|
22
|
+
/**
|
|
23
|
+
* Open the sync channel. `onRemoteChange` fires when *another* tab publishes
|
|
24
|
+
* (BroadcastChannel never echoes to the sender, so no self-notification).
|
|
25
|
+
*
|
|
26
|
+
* Returns a no-op channel where BroadcastChannel is unavailable (older runtimes,
|
|
27
|
+
* test environments) — tabs then simply stay independent, as they are today.
|
|
28
|
+
*/
|
|
29
|
+
export function createSessionHintChannel(hintKey, onRemoteChange) {
|
|
30
|
+
if (typeof BroadcastChannel === 'undefined') {
|
|
31
|
+
return {
|
|
32
|
+
publish() {
|
|
33
|
+
// no-op
|
|
34
|
+
},
|
|
35
|
+
close() {
|
|
36
|
+
// no-op
|
|
37
|
+
},
|
|
38
|
+
};
|
|
39
|
+
}
|
|
40
|
+
let channel = null;
|
|
41
|
+
try {
|
|
42
|
+
channel = new BroadcastChannel(`${CHANNEL_PREFIX}:${hintKey}`);
|
|
43
|
+
}
|
|
44
|
+
catch {
|
|
45
|
+
// Some embedders expose the constructor but refuse to open it.
|
|
46
|
+
return {
|
|
47
|
+
publish() {
|
|
48
|
+
// no-op
|
|
49
|
+
},
|
|
50
|
+
close() {
|
|
51
|
+
// no-op
|
|
52
|
+
},
|
|
53
|
+
};
|
|
54
|
+
}
|
|
55
|
+
channel.onmessage = (event) => {
|
|
56
|
+
const hint = event.data?.hint;
|
|
57
|
+
if (typeof hint === 'boolean') {
|
|
58
|
+
onRemoteChange(hint);
|
|
59
|
+
}
|
|
60
|
+
};
|
|
61
|
+
return {
|
|
62
|
+
publish(hint) {
|
|
63
|
+
try {
|
|
64
|
+
channel?.postMessage({ hint });
|
|
65
|
+
}
|
|
66
|
+
catch {
|
|
67
|
+
// A closed/failed channel must never break an auth operation.
|
|
68
|
+
}
|
|
69
|
+
},
|
|
70
|
+
close() {
|
|
71
|
+
try {
|
|
72
|
+
channel?.close();
|
|
73
|
+
}
|
|
74
|
+
catch {
|
|
75
|
+
// ignore
|
|
76
|
+
}
|
|
77
|
+
channel = null;
|
|
78
|
+
},
|
|
79
|
+
};
|
|
80
|
+
}
|
|
81
|
+
//# sourceMappingURL=session-hint-channel.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"session-hint-channel.js","sourceRoot":"","sources":["../../../../src/transport/provider/storage/session-hint-channel.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,8EAA8E;AAC9E,MAAM,cAAc,GAAG,wBAAwB,CAAC;AAYhD;;;;;;GAMG;AACH,MAAM,UAAU,wBAAwB,CAAC,OAAe,EAAE,cAAuC;IAC/F,IAAI,OAAO,gBAAgB,KAAK,WAAW,EAAE,CAAC;QAC5C,OAAO;YACL,OAAO;gBACL,QAAQ;YACV,CAAC;YACD,KAAK;gBACH,QAAQ;YACV,CAAC;SACF,CAAC;IACJ,CAAC;IAED,IAAI,OAAO,GAA4B,IAAI,CAAC;IAC5C,IAAI,CAAC;QACH,OAAO,GAAG,IAAI,gBAAgB,CAAC,GAAG,cAAc,IAAI,OAAO,EAAE,CAAC,CAAC;IACjE,CAAC;IAAC,MAAM,CAAC;QACP,+DAA+D;QAC/D,OAAO;YACL,OAAO;gBACL,QAAQ;YACV,CAAC;YACD,KAAK;gBACH,QAAQ;YACV,CAAC;SACF,CAAC;IACJ,CAAC;IAED,OAAO,CAAC,SAAS,GAAG,CAAC,KAAgC,EAAE,EAAE;QACvD,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC;QAC9B,IAAI,OAAO,IAAI,KAAK,SAAS,EAAE,CAAC;YAC9B,cAAc,CAAC,IAAI,CAAC,CAAC;QACvB,CAAC;IACH,CAAC,CAAC;IAEF,OAAO;QACL,OAAO,CAAC,IAAa;YACnB,IAAI,CAAC;gBACH,OAAO,EAAE,WAAW,CAAC,EAAE,IAAI,EAAwB,CAAC,CAAC;YACvD,CAAC;YAAC,MAAM,CAAC;gBACP,8DAA8D;YAChE,CAAC;QACH,CAAC;QAED,KAAK;YACH,IAAI,CAAC;gBACH,OAAO,EAAE,KAAK,EAAE,CAAC;YACnB,CAAC;YAAC,MAAM,CAAC;gBACP,SAAS;YACX,CAAC;YACD,OAAO,GAAG,IAAI,CAAC;QACjB,CAAC;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Session hint — a durable "is there plausibly a session to restore?" flag.
|
|
3
|
+
*
|
|
4
|
+
* THE PROBLEM. The refresh token is an httpOnly cookie (or IndexedDB blob) the
|
|
5
|
+
* worker cannot read. So after every page reload the worker starts with an empty
|
|
6
|
+
* token state and has no way to know whether the user is logged in — the only
|
|
7
|
+
* way to find out is to *try* `POST /auth/refresh`. For an anonymous visitor
|
|
8
|
+
* that attempt can never succeed, yet it is paid on every single reload: one
|
|
9
|
+
* pointless round-trip that also has to fail before the app can render "logged
|
|
10
|
+
* out".
|
|
11
|
+
*
|
|
12
|
+
* THE FIX. Remember the answer. Login writes the hint, logout clears it, and a
|
|
13
|
+
* refresh that comes back "no session" clears it too. On the next boot the
|
|
14
|
+
* worker reads the hint first: absent means "nobody has logged in here", so
|
|
15
|
+
* skip the request entirely and fail fast with NOT_AUTHENTICATED.
|
|
16
|
+
*
|
|
17
|
+
* WHAT IT IS NOT. The hint carries no token, no user id, nothing secret — only
|
|
18
|
+
* one bit, and a *non-authoritative* one. It can be stale in both directions
|
|
19
|
+
* (cookie expired server-side while the hint says "yes"; a sibling tab logged in
|
|
20
|
+
* while this one says "no"), so it may only ever be used to skip a request that
|
|
21
|
+
* was *going to fail anyway*. Every real authorization decision stays with the
|
|
22
|
+
* backend. The hint self-heals: see `clear()` callers in the worker loop, and
|
|
23
|
+
* the BroadcastChannel sync in `session-hint-channel.ts` for cross-tab updates.
|
|
24
|
+
*
|
|
25
|
+
* WHERE IT LIVES. IndexedDB, in the same database the refresh-token storage
|
|
26
|
+
* already uses, because the worker has no `localStorage`. Reads are therefore
|
|
27
|
+
* async — which is fine: the worker awaits the hint only on the first
|
|
28
|
+
* auth-requiring request, exactly where it would otherwise have awaited a fetch.
|
|
29
|
+
* Every operation fails *open* (treated as "maybe logged in") so a broken or
|
|
30
|
+
* blocked IndexedDB degrades to today's behaviour rather than locking the user
|
|
31
|
+
* out of their own session.
|
|
32
|
+
*/
|
|
33
|
+
/**
|
|
34
|
+
* A stored session hint. `scope` lets one origin host several auth contexts
|
|
35
|
+
* (customer / tenant / system) without one clobbering another's hint.
|
|
36
|
+
*/
|
|
37
|
+
export interface SessionHintStore {
|
|
38
|
+
/**
|
|
39
|
+
* Has a session plausibly existed here? `true` = worth trying refresh.
|
|
40
|
+
* Returns `true` when storage is unreadable (fail open).
|
|
41
|
+
*/
|
|
42
|
+
get(): Promise<boolean>;
|
|
43
|
+
/** Mark that a session was established (login / successful refresh). */
|
|
44
|
+
set(): Promise<void>;
|
|
45
|
+
/** Mark that there is no session (logout, or refresh said "not authenticated"). */
|
|
46
|
+
clear(): Promise<void>;
|
|
47
|
+
}
|
|
48
|
+
export interface SessionHintOptions {
|
|
49
|
+
/** IndexedDB database name. Defaults to the refresh-token DB. */
|
|
50
|
+
dbName?: string;
|
|
51
|
+
/**
|
|
52
|
+
* Key the hint is stored under. Pass a per-scope key when one origin runs
|
|
53
|
+
* several auth contexts, so a customer login does not imply a system session.
|
|
54
|
+
*/
|
|
55
|
+
hintKey?: string;
|
|
56
|
+
/** Observe storage failures (quota, private mode, blocked IndexedDB). */
|
|
57
|
+
onError?: (error: Error, op: 'get' | 'set' | 'clear') => void;
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Build the session-hint store. No IndexedDB (worker in a test runner, a
|
|
61
|
+
* browser with site data blocked) yields a store that always reports "maybe
|
|
62
|
+
* logged in" and drops writes — i.e. today's always-try-refresh behaviour.
|
|
63
|
+
*/
|
|
64
|
+
export declare function createSessionHint(options?: SessionHintOptions): SessionHintStore;
|
|
65
|
+
//# sourceMappingURL=session-hint.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"session-hint.d.ts","sourceRoot":"","sources":["../../../../src/transport/provider/storage/session-hint.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AAOH;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;;OAGG;IACH,GAAG,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IACxB,wEAAwE;IACxE,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACrB,mFAAmF;IACnF,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACxB;AAED,MAAM,WAAW,kBAAkB;IACjC,iEAAiE;IACjE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,yEAAyE;IACzE,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,GAAG,KAAK,GAAG,OAAO,KAAK,IAAI,CAAC;CAC/D;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,GAAE,kBAAuB,GAAG,gBAAgB,CAgFpF"}
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Session hint — a durable "is there plausibly a session to restore?" flag.
|
|
3
|
+
*
|
|
4
|
+
* THE PROBLEM. The refresh token is an httpOnly cookie (or IndexedDB blob) the
|
|
5
|
+
* worker cannot read. So after every page reload the worker starts with an empty
|
|
6
|
+
* token state and has no way to know whether the user is logged in — the only
|
|
7
|
+
* way to find out is to *try* `POST /auth/refresh`. For an anonymous visitor
|
|
8
|
+
* that attempt can never succeed, yet it is paid on every single reload: one
|
|
9
|
+
* pointless round-trip that also has to fail before the app can render "logged
|
|
10
|
+
* out".
|
|
11
|
+
*
|
|
12
|
+
* THE FIX. Remember the answer. Login writes the hint, logout clears it, and a
|
|
13
|
+
* refresh that comes back "no session" clears it too. On the next boot the
|
|
14
|
+
* worker reads the hint first: absent means "nobody has logged in here", so
|
|
15
|
+
* skip the request entirely and fail fast with NOT_AUTHENTICATED.
|
|
16
|
+
*
|
|
17
|
+
* WHAT IT IS NOT. The hint carries no token, no user id, nothing secret — only
|
|
18
|
+
* one bit, and a *non-authoritative* one. It can be stale in both directions
|
|
19
|
+
* (cookie expired server-side while the hint says "yes"; a sibling tab logged in
|
|
20
|
+
* while this one says "no"), so it may only ever be used to skip a request that
|
|
21
|
+
* was *going to fail anyway*. Every real authorization decision stays with the
|
|
22
|
+
* backend. The hint self-heals: see `clear()` callers in the worker loop, and
|
|
23
|
+
* the BroadcastChannel sync in `session-hint-channel.ts` for cross-tab updates.
|
|
24
|
+
*
|
|
25
|
+
* WHERE IT LIVES. IndexedDB, in the same database the refresh-token storage
|
|
26
|
+
* already uses, because the worker has no `localStorage`. Reads are therefore
|
|
27
|
+
* async — which is fine: the worker awaits the hint only on the first
|
|
28
|
+
* auth-requiring request, exactly where it would otherwise have awaited a fetch.
|
|
29
|
+
* Every operation fails *open* (treated as "maybe logged in") so a broken or
|
|
30
|
+
* blocked IndexedDB degrades to today's behaviour rather than locking the user
|
|
31
|
+
* out of their own session.
|
|
32
|
+
*/
|
|
33
|
+
/** Scope-aware DB defaults; shared with `createIndexedDBStorage`. */
|
|
34
|
+
const DEFAULT_DB_NAME = 'FetchGuardDB';
|
|
35
|
+
const STORE_NAME = 'tokens';
|
|
36
|
+
const DEFAULT_HINT_KEY = 'sessionHint';
|
|
37
|
+
/**
|
|
38
|
+
* Build the session-hint store. No IndexedDB (worker in a test runner, a
|
|
39
|
+
* browser with site data blocked) yields a store that always reports "maybe
|
|
40
|
+
* logged in" and drops writes — i.e. today's always-try-refresh behaviour.
|
|
41
|
+
*/
|
|
42
|
+
export function createSessionHint(options = {}) {
|
|
43
|
+
const dbName = options.dbName ?? DEFAULT_DB_NAME;
|
|
44
|
+
const hintKey = options.hintKey ?? DEFAULT_HINT_KEY;
|
|
45
|
+
const onError = options.onError;
|
|
46
|
+
if (typeof indexedDB === 'undefined') {
|
|
47
|
+
return {
|
|
48
|
+
// Fail open: without storage we cannot know, so keep trying refresh.
|
|
49
|
+
async get() {
|
|
50
|
+
return true;
|
|
51
|
+
},
|
|
52
|
+
async set() {
|
|
53
|
+
// no-op
|
|
54
|
+
},
|
|
55
|
+
async clear() {
|
|
56
|
+
// no-op
|
|
57
|
+
},
|
|
58
|
+
};
|
|
59
|
+
}
|
|
60
|
+
const openDB = () => new Promise((resolve, reject) => {
|
|
61
|
+
const request = indexedDB.open(dbName, 1);
|
|
62
|
+
request.onerror = () => reject(request.error);
|
|
63
|
+
request.onsuccess = () => resolve(request.result);
|
|
64
|
+
// Mirror createIndexedDBStorage's schema: same DB, same store, so the two
|
|
65
|
+
// can share one database without fighting over the version.
|
|
66
|
+
request.onupgradeneeded = (event) => {
|
|
67
|
+
const db = event.target.result;
|
|
68
|
+
if (!db.objectStoreNames.contains(STORE_NAME)) {
|
|
69
|
+
const store = db.createObjectStore(STORE_NAME, { keyPath: 'key' });
|
|
70
|
+
store.createIndex('timestamp', 'timestamp', { unique: false });
|
|
71
|
+
}
|
|
72
|
+
};
|
|
73
|
+
});
|
|
74
|
+
const promisify = (request) => new Promise((resolve, reject) => {
|
|
75
|
+
request.onsuccess = () => resolve(request.result);
|
|
76
|
+
request.onerror = () => reject(request.error);
|
|
77
|
+
});
|
|
78
|
+
const write = async (value, op) => {
|
|
79
|
+
try {
|
|
80
|
+
const db = await openDB();
|
|
81
|
+
const tx = db.transaction([STORE_NAME], 'readwrite');
|
|
82
|
+
const store = tx.objectStore(STORE_NAME);
|
|
83
|
+
if (value) {
|
|
84
|
+
await promisify(store.put({ key: hintKey, value: true, timestamp: Date.now() }));
|
|
85
|
+
}
|
|
86
|
+
else {
|
|
87
|
+
await promisify(store.delete(hintKey));
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
catch (error) {
|
|
91
|
+
onError?.(error, op);
|
|
92
|
+
}
|
|
93
|
+
};
|
|
94
|
+
return {
|
|
95
|
+
async get() {
|
|
96
|
+
try {
|
|
97
|
+
const db = await openDB();
|
|
98
|
+
const tx = db.transaction([STORE_NAME], 'readonly');
|
|
99
|
+
const store = tx.objectStore(STORE_NAME);
|
|
100
|
+
const row = await promisify(store.get(hintKey));
|
|
101
|
+
return row?.value === true;
|
|
102
|
+
}
|
|
103
|
+
catch (error) {
|
|
104
|
+
onError?.(error, 'get');
|
|
105
|
+
// Fail open — a storage fault must never strand a logged-in user.
|
|
106
|
+
return true;
|
|
107
|
+
}
|
|
108
|
+
},
|
|
109
|
+
async set() {
|
|
110
|
+
return write(true, 'set');
|
|
111
|
+
},
|
|
112
|
+
async clear() {
|
|
113
|
+
return write(false, 'clear');
|
|
114
|
+
},
|
|
115
|
+
};
|
|
116
|
+
}
|
|
117
|
+
//# sourceMappingURL=session-hint.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"session-hint.js","sourceRoot":"","sources":["../../../../src/transport/provider/storage/session-hint.ts"],"names":[],"mappings":"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"}
|
|
@@ -248,6 +248,14 @@ export interface FetchGuardOptions {
|
|
|
248
248
|
* ```
|
|
249
249
|
*/
|
|
250
250
|
workerFactory?: () => Worker;
|
|
251
|
+
/**
|
|
252
|
+
* Skip the boot-time refresh attempt for visitors who never logged in.
|
|
253
|
+
*
|
|
254
|
+
* Off by default (every boot tries `POST /auth/refresh`, as before). Enable it
|
|
255
|
+
* to have the worker remember that a session was established and fail fast
|
|
256
|
+
* with NOT_AUTHENTICATED when it was not — see {@link SessionHintConfig}.
|
|
257
|
+
*/
|
|
258
|
+
sessionHint?: SessionHintConfig;
|
|
251
259
|
/**
|
|
252
260
|
* Where the token/refresh loop runs.
|
|
253
261
|
*
|
|
@@ -269,6 +277,37 @@ export interface WorkerConfig {
|
|
|
269
277
|
allowedDomains: string[];
|
|
270
278
|
refreshEarlyMs: number;
|
|
271
279
|
defaultHeaders: Record<string, string>;
|
|
280
|
+
/**
|
|
281
|
+
* Skip the boot-time refresh attempt when no session has ever been
|
|
282
|
+
* established here. See `sessionHint` on FetchGuardOptions.
|
|
283
|
+
*/
|
|
284
|
+
sessionHint?: SessionHintConfig;
|
|
285
|
+
}
|
|
286
|
+
/**
|
|
287
|
+
* Session-hint configuration — suppresses the pointless `POST /auth/refresh`
|
|
288
|
+
* that an anonymous visitor otherwise pays on every page load.
|
|
289
|
+
*
|
|
290
|
+
* The worker cannot read the httpOnly refresh cookie, so after a reload the only
|
|
291
|
+
* way to discover whether a session exists is to try to refresh. For a visitor
|
|
292
|
+
* who never logged in, that attempt fails every time. With the hint enabled the
|
|
293
|
+
* worker remembers (in IndexedDB) that a session was established, and skips the
|
|
294
|
+
* request when the hint is absent — failing fast with NOT_AUTHENTICATED instead.
|
|
295
|
+
*
|
|
296
|
+
* The hint is a single non-secret bit and is never authoritative: it is cleared
|
|
297
|
+
* whenever a refresh reports no session, set on login, and synced across tabs,
|
|
298
|
+
* so it can only skip a request that was going to fail anyway.
|
|
299
|
+
*/
|
|
300
|
+
export interface SessionHintConfig {
|
|
301
|
+
/** Turn the optimization on. Default: false (always attempt refresh). */
|
|
302
|
+
enabled: boolean;
|
|
303
|
+
/**
|
|
304
|
+
* Storage key, one per auth scope. An origin that hosts several contexts
|
|
305
|
+
* (customer / tenant / system) must pass distinct keys so a customer login
|
|
306
|
+
* does not imply an admin session. Default: `'sessionHint'`.
|
|
307
|
+
*/
|
|
308
|
+
key?: string;
|
|
309
|
+
/** IndexedDB database name. Default: the refresh-token DB (`FetchGuardDB`). */
|
|
310
|
+
dbName?: string;
|
|
272
311
|
}
|
|
273
312
|
/**
|
|
274
313
|
* Extended RequestInit with FetchGuard-specific options
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/transport/types.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/transport/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,6 +5,8 @@ export { createProvider } from './provider/create-provider.js';
|
|
|
5
5
|
export { bodyParser } from './provider/parser/body.js';
|
|
6
6
|
export { cookieParser } from './provider/parser/cookie.js';
|
|
7
7
|
export { createIndexedDBStorage } from './provider/storage/indexeddb.js';
|
|
8
|
+
export { createSessionHint } from './provider/storage/session-hint.js';
|
|
9
|
+
export { createSessionHintChannel } from './provider/storage/session-hint-channel.js';
|
|
8
10
|
export { createBodyStrategy } from './provider/strategy/body.js';
|
|
9
11
|
export { createCookieStrategy } from './provider/strategy/cookie.js';
|
|
10
12
|
export type { AuthStrategy, ExchangeTokenOptions, RefreshTokenStorage, TokenParser, TokenProvider } from './types.js';
|
|
@@ -30,6 +32,10 @@ export interface WorkerLoopScope extends PostTarget {
|
|
|
30
32
|
* (`transport: 'worker'`) the token is isolated; run inline (`'inline'`) the
|
|
31
33
|
* same closure lives on the main thread, so XSS on the page can reach it — the
|
|
32
34
|
* closure is encapsulation, not a security boundary.
|
|
35
|
+
*
|
|
36
|
+
* Returns a dispose function releasing what outlives the message channel — today
|
|
37
|
+
* the session-hint BroadcastChannel. Terminating a real Worker tears down its
|
|
38
|
+
* whole realm, so only the inline host needs to call it.
|
|
33
39
|
*/
|
|
34
|
-
export declare function runWorkerLoop(scope: WorkerLoopScope): void;
|
|
40
|
+
export declare function runWorkerLoop(scope: WorkerLoopScope): () => void;
|
|
35
41
|
//# sourceMappingURL=worker.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"worker.d.ts","sourceRoot":"","sources":["../../src/transport/worker.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"worker.d.ts","sourceRoot":"","sources":["../../src/transport/worker.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AAazD,OAAO,EACL,cAAc,EAEd,WAAW,EACX,aAAa,EACb,gBAAgB,EAChB,kBAAkB,EACnB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAoB,KAAK,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAGrE,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC/D,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AACzE,OAAO,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;AACvE,OAAO,EAAE,wBAAwB,EAAE,MAAM,4CAA4C,CAAC;AACtF,OAAO,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AACjE,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AACrE,YAAY,EAAE,YAAY,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAGtH,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,aAAa,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,CAAC;AAyB5F;;;;;GAKG;AACH,MAAM,WAAW,eAAgB,SAAQ,UAAU;IACjD,SAAS,EAAE,CAAC,CAAC,KAAK,EAAE,YAAY,CAAC,mBAAmB,CAAC,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC;CACxE;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,eAAe,GAAG,MAAM,IAAI,CAojBhE"}
|
package/dist/transport/worker.js
CHANGED
|
@@ -1,9 +1,12 @@
|
|
|
1
1
|
/// <reference lib="webworker" />
|
|
2
2
|
import { err, ok } from 'ts-micro-result';
|
|
3
3
|
import { DEFAULT_REFRESH_EARLY_MS } from './constants.js';
|
|
4
|
+
import { ERROR_CODES } from './error-codes.js';
|
|
4
5
|
import { AuthErrors, DomainErrors, GeneralErrors, InitErrors, RequestErrors } from './errors.js';
|
|
5
6
|
import { MSG } from './messages.js';
|
|
6
7
|
import { buildProviderFromPreset } from './provider/register-presets.js';
|
|
8
|
+
import { createSessionHint } from './provider/storage/session-hint.js';
|
|
9
|
+
import { createSessionHintChannel } from './provider/storage/session-hint-channel.js';
|
|
7
10
|
import { clearProviders, getProvider, hasProvider, listProviders, registerProvider, unregisterProvider, } from './utils/registry.js';
|
|
8
11
|
import { createWorkerPost } from './worker-post.js';
|
|
9
12
|
// Re-export provider utilities for custom workers
|
|
@@ -11,6 +14,8 @@ export { createProvider } from './provider/create-provider.js';
|
|
|
11
14
|
export { bodyParser } from './provider/parser/body.js';
|
|
12
15
|
export { cookieParser } from './provider/parser/cookie.js';
|
|
13
16
|
export { createIndexedDBStorage } from './provider/storage/indexeddb.js';
|
|
17
|
+
export { createSessionHint } from './provider/storage/session-hint.js';
|
|
18
|
+
export { createSessionHintChannel } from './provider/storage/session-hint-channel.js';
|
|
14
19
|
export { createBodyStrategy } from './provider/strategy/body.js';
|
|
15
20
|
export { createCookieStrategy } from './provider/strategy/cookie.js';
|
|
16
21
|
// Re-export registry functions for custom workers
|
|
@@ -18,6 +23,23 @@ export { createCookieStrategy } from './provider/strategy/cookie.js';
|
|
|
18
23
|
export { clearProviders, hasProvider, listProviders, registerProvider, unregisterProvider };
|
|
19
24
|
import { arrayBufferToBase64, isBinaryContentType } from './utils/binary.js';
|
|
20
25
|
import { deserializeFormData, isSerializedFormData } from './utils/formdata.js';
|
|
26
|
+
/**
|
|
27
|
+
* Failures raised *before* any HTTP attempt: there is no session to authorize
|
|
28
|
+
* with, the worker was never set up, or the URL is off the allow-list. They are
|
|
29
|
+
* reported as-is (MSG.ERROR) rather than as FETCH_ERROR, which the client
|
|
30
|
+
* flattens to NETWORK_ERROR — a caller must be able to distinguish "log in"
|
|
31
|
+
* from "the network failed", especially once the session hint starts answering
|
|
32
|
+
* NOT_AUTHENTICATED without sending anything.
|
|
33
|
+
*/
|
|
34
|
+
const PREFLIGHT_ERROR_CODES = new Set([
|
|
35
|
+
ERROR_CODES.NOT_AUTHENTICATED,
|
|
36
|
+
ERROR_CODES.TOKEN_REFRESH_FAILED,
|
|
37
|
+
ERROR_CODES.INIT_ERROR,
|
|
38
|
+
ERROR_CODES.DOMAIN_NOT_ALLOWED,
|
|
39
|
+
]);
|
|
40
|
+
function isPreflightError(code) {
|
|
41
|
+
return code !== undefined && PREFLIGHT_ERROR_CODES.has(code);
|
|
42
|
+
}
|
|
21
43
|
/**
|
|
22
44
|
* The FetchGuard worker loop. Owns the token state (access/refresh/expiry) in a
|
|
23
45
|
* closure — no export or handle exposes it, and the refresh token is never
|
|
@@ -30,6 +52,10 @@ import { deserializeFormData, isSerializedFormData } from './utils/formdata.js';
|
|
|
30
52
|
* (`transport: 'worker'`) the token is isolated; run inline (`'inline'`) the
|
|
31
53
|
* same closure lives on the main thread, so XSS on the page can reach it — the
|
|
32
54
|
* closure is encapsulation, not a security boundary.
|
|
55
|
+
*
|
|
56
|
+
* Returns a dispose function releasing what outlives the message channel — today
|
|
57
|
+
* the session-hint BroadcastChannel. Terminating a real Worker tears down its
|
|
58
|
+
* whole realm, so only the inline host needs to call it.
|
|
33
59
|
*/
|
|
34
60
|
export function runWorkerLoop(scope) {
|
|
35
61
|
const { sendAuthCallResult, sendAuthStateChanged, sendError, sendFetchError, sendFetchResult, sendPong, sendReady, sendSetupError, sendTokenRefreshed, } = createWorkerPost(scope);
|
|
@@ -42,6 +68,57 @@ export function runWorkerLoop(scope) {
|
|
|
42
68
|
const pendingControllers = new Map();
|
|
43
69
|
let refreshPromise = null;
|
|
44
70
|
let authPromise = null;
|
|
71
|
+
/**
|
|
72
|
+
* Session hint — "has a session ever been established on this origin?".
|
|
73
|
+
*
|
|
74
|
+
* Null when the optimization is off (the default), in which case the worker
|
|
75
|
+
* behaves exactly as before: every boot attempts a refresh. When enabled, a
|
|
76
|
+
* `false` hint lets `ensureValidToken` skip a refresh that cannot succeed.
|
|
77
|
+
*
|
|
78
|
+
* `hintCache` mirrors the stored bit so the common path costs no IndexedDB
|
|
79
|
+
* read, and so a sibling tab's broadcast can correct this worker in place.
|
|
80
|
+
*/
|
|
81
|
+
let sessionHint = null;
|
|
82
|
+
let hintChannel = null;
|
|
83
|
+
let hintCache = null;
|
|
84
|
+
/** Record that a session exists (login / successful refresh) and tell other tabs. */
|
|
85
|
+
function markSessionEstablished() {
|
|
86
|
+
if (!sessionHint)
|
|
87
|
+
return;
|
|
88
|
+
const changed = hintCache !== true;
|
|
89
|
+
hintCache = true;
|
|
90
|
+
void sessionHint.set();
|
|
91
|
+
if (changed)
|
|
92
|
+
hintChannel?.publish(true);
|
|
93
|
+
}
|
|
94
|
+
/**
|
|
95
|
+
* Record that there is no session: logout, or the server telling us the
|
|
96
|
+
* refresh token is gone/expired. This is what keeps a stale "yes" from
|
|
97
|
+
* costing a refresh on every future reload.
|
|
98
|
+
*/
|
|
99
|
+
function markSessionAbsent() {
|
|
100
|
+
if (!sessionHint)
|
|
101
|
+
return;
|
|
102
|
+
const changed = hintCache !== false;
|
|
103
|
+
hintCache = false;
|
|
104
|
+
void sessionHint.clear();
|
|
105
|
+
if (changed)
|
|
106
|
+
hintChannel?.publish(false);
|
|
107
|
+
}
|
|
108
|
+
/**
|
|
109
|
+
* Is a refresh attempt worth making? Only `false` when the hint is enabled AND
|
|
110
|
+
* positively says no session was ever established here. Unknown, unreadable or
|
|
111
|
+
* enabled-but-absent storage all answer `true` — the hint must never be the
|
|
112
|
+
* reason a real session is dropped.
|
|
113
|
+
*/
|
|
114
|
+
async function shouldAttemptRefresh() {
|
|
115
|
+
if (!sessionHint)
|
|
116
|
+
return true;
|
|
117
|
+
if (hintCache === null) {
|
|
118
|
+
hintCache = await sessionHint.get();
|
|
119
|
+
}
|
|
120
|
+
return hintCache;
|
|
121
|
+
}
|
|
45
122
|
/**
|
|
46
123
|
* Mutex wrapper for auth operations (login, logout, custom auth methods)
|
|
47
124
|
* Prevents race conditions when multiple concurrent auth calls are made.
|
|
@@ -94,6 +171,13 @@ export function runWorkerLoop(scope) {
|
|
|
94
171
|
const result = await refreshPromise;
|
|
95
172
|
return result;
|
|
96
173
|
}
|
|
174
|
+
// Nothing in memory and the hint says nobody ever logged in here: the
|
|
175
|
+
// refresh could only come back "not authenticated", so skip the round-trip.
|
|
176
|
+
// (A held token being merely near expiry is a real session — always refresh
|
|
177
|
+
// that, regardless of the hint.)
|
|
178
|
+
if (!accessToken && !(await shouldAttemptRefresh())) {
|
|
179
|
+
return err(AuthErrors.NotAuthenticated());
|
|
180
|
+
}
|
|
97
181
|
refreshPromise = (async () => {
|
|
98
182
|
try {
|
|
99
183
|
// Provider already checked above, TypeScript needs assertion
|
|
@@ -103,6 +187,9 @@ export function runWorkerLoop(scope) {
|
|
|
103
187
|
const valueRes = await provider.refreshToken(refreshToken);
|
|
104
188
|
if (!valueRes.ok) {
|
|
105
189
|
setTokenState({ token: null, expiresAt: null, user: undefined, refreshToken: undefined });
|
|
190
|
+
// The server says this refresh token buys nothing. Drop the hint so
|
|
191
|
+
// the next reload fails fast instead of repeating this request.
|
|
192
|
+
markSessionAbsent();
|
|
106
193
|
return err(valueRes.errors);
|
|
107
194
|
}
|
|
108
195
|
const tokenInfo = valueRes.data;
|
|
@@ -264,6 +351,16 @@ export function runWorkerLoop(scope) {
|
|
|
264
351
|
if ('refreshToken' in tokenInfo) {
|
|
265
352
|
refreshToken = tokenInfo.refreshToken ?? null;
|
|
266
353
|
}
|
|
354
|
+
// Keep the hint in step with reality: holding a token means a session
|
|
355
|
+
// exists; an explicitly cleared token (logout) means it does not.
|
|
356
|
+
if ('token' in tokenInfo) {
|
|
357
|
+
if (accessToken) {
|
|
358
|
+
markSessionEstablished();
|
|
359
|
+
}
|
|
360
|
+
else {
|
|
361
|
+
markSessionAbsent();
|
|
362
|
+
}
|
|
363
|
+
}
|
|
267
364
|
if (emitEvent) {
|
|
268
365
|
postAuthChanged();
|
|
269
366
|
}
|
|
@@ -311,6 +408,21 @@ export function runWorkerLoop(scope) {
|
|
|
311
408
|
sendSetupError('Provider initialization failed - provider is null');
|
|
312
409
|
break;
|
|
313
410
|
}
|
|
411
|
+
// Session hint (opt-in): remember whether a session ever existed here
|
|
412
|
+
// so a later reload can skip a refresh that cannot succeed.
|
|
413
|
+
const hintConfig = config.sessionHint;
|
|
414
|
+
if (hintConfig?.enabled) {
|
|
415
|
+
const hintKey = hintConfig.key ?? 'sessionHint';
|
|
416
|
+
sessionHint = createSessionHint({
|
|
417
|
+
hintKey,
|
|
418
|
+
...(hintConfig.dbName ? { dbName: hintConfig.dbName } : {}),
|
|
419
|
+
});
|
|
420
|
+
// A login or logout in another tab corrects this worker in place,
|
|
421
|
+
// so a tab that booted "anonymous" starts trying refresh again.
|
|
422
|
+
hintChannel = createSessionHintChannel(hintKey, (hint) => {
|
|
423
|
+
hintCache = hint;
|
|
424
|
+
});
|
|
425
|
+
}
|
|
314
426
|
sendReady();
|
|
315
427
|
}
|
|
316
428
|
catch (error) {
|
|
@@ -331,6 +443,13 @@ export function runWorkerLoop(scope) {
|
|
|
331
443
|
if (result.ok) {
|
|
332
444
|
sendFetchResult(id, result.data);
|
|
333
445
|
}
|
|
446
|
+
else if (isPreflightError(result.errors[0]?.code)) {
|
|
447
|
+
// The request never reached the network (not authenticated, worker
|
|
448
|
+
// not set up, domain blocked). FETCH_ERROR would flatten all of
|
|
449
|
+
// those to NETWORK_ERROR on the client; send the Result verbatim so
|
|
450
|
+
// callers can tell "log in" apart from "the network is down".
|
|
451
|
+
sendError(id, result);
|
|
452
|
+
}
|
|
334
453
|
else {
|
|
335
454
|
// Network/timeout/cancel error
|
|
336
455
|
const error = result.errors[0];
|
|
@@ -427,6 +546,10 @@ export function runWorkerLoop(scope) {
|
|
|
427
546
|
}
|
|
428
547
|
}
|
|
429
548
|
};
|
|
549
|
+
return () => {
|
|
550
|
+
hintChannel?.close();
|
|
551
|
+
hintChannel = null;
|
|
552
|
+
};
|
|
430
553
|
}
|
|
431
554
|
if (typeof self !== 'undefined' && typeof self.importScripts === 'function') {
|
|
432
555
|
runWorkerLoop(self);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"worker.js","sourceRoot":"","sources":["../../src/transport/worker.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"worker.js","sourceRoot":"","sources":["../../src/transport/worker.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@auth-craft/client",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.3.0",
|
|
4
4
|
"description": "Contract-driven typed frontend client for Auth Craft. Methods are generated from @auth-craft/api-contract; tokens are isolated in a Web Worker. Import the root for all groups, or @auth-craft/client/core for a scope-agnostic core you wire per scope.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|