@growth-labs/auth 0.12.0 → 0.14.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.
@@ -1 +1 @@
1
- {"version":3,"file":"tokens.js","sourceRoot":"","sources":["../../src/utils/tokens.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tokens.js","sourceRoot":"","sources":["../../src/utils/tokens.ts"],"names":[],"mappings":"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"}
package/dist/workers.d.ts CHANGED
@@ -42,6 +42,13 @@ export interface Session {
42
42
  Principal: Principal | null;
43
43
  Tokens: Tokens | null;
44
44
  Refreshed: boolean;
45
+ /**
46
+ * The request carried a refresh token that was deliberately not spent: it
47
+ * is a beacon or a prefetch whose response the browser would not apply, so
48
+ * the next consumable request refreshes instead (0.14.0). A guest request,
49
+ * nothing more; never clear cookies on it.
50
+ */
51
+ Deferred?: true;
45
52
  }
46
53
  export interface WorkersAuthVariables {
47
54
  principal: Principal | null;
@@ -1 +1 @@
1
- {"version":3,"file":"workers.d.ts","sourceRoot":"","sources":["../src/workers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"workers.d.ts","sourceRoot":"","sources":["../src/workers.ts"],"names":[],"mappings":"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"}
package/dist/workers.js CHANGED
@@ -3,6 +3,8 @@ import { getCookie, setCookie } from './utils/cookies.js';
3
3
  import { extractIdentityId } from './utils/identity.js';
4
4
  import { resolveInternalIssuer } from './utils/issuer.js';
5
5
  import { generatePKCE } from './utils/pkce.js';
6
+ import { classifyRefreshCarrier, prefetchDeferredResponse } from './utils/refresh-carrier.js';
7
+ import { singleFlightRefresh } from './utils/refresh-flight.js';
6
8
  import { generateState, verifyState } from './utils/state.js';
7
9
  import { verifyAccessToken } from './utils/tokens.js';
8
10
  const DEFAULT_CALLBACK_PATH = '/api/auth/callback';
@@ -443,12 +445,19 @@ async function getSessionNormalized(config, request) {
443
445
  }
444
446
  }
445
447
  if (refreshToken) {
448
+ // Only a response the browser is waiting for can deliver the rotated
449
+ // token; a beacon or prefetch is answered as a guest (refresh-carrier.ts).
450
+ if (classifyRefreshCarrier(request) !== 'consumable') {
451
+ return { Principal: null, Tokens: null, Refreshed: false, Deferred: true };
452
+ }
446
453
  const form = new URLSearchParams();
447
454
  form.set('grant_type', 'refresh_token');
448
455
  form.set('refresh_token', refreshToken);
449
456
  form.set('client_id', config.clientId);
450
457
  form.set('resource', config.resource);
451
- const result = await requestTokens(config, request, form);
458
+ // Concurrent requests presenting the same token share one exchange
459
+ // (refresh-flight.ts); the leader's request resolves the client secret.
460
+ const result = await singleFlightRefresh([config.issuerInternal, config.clientId, config.resource, refreshToken], () => requestTokens(config, request, form));
452
461
  if (result) {
453
462
  return { Principal: result.principal, Tokens: result.tokens, Refreshed: true };
454
463
  }
@@ -487,6 +496,11 @@ export function Middleware(config) {
487
496
  }
488
497
  context.set('session', session);
489
498
  context.set('principal', session.Principal);
499
+ // A prefetched page rendered as a guest would be shown to the member on
500
+ // navigation as if they had signed out; a non-2xx is dropped instead.
501
+ if (session.Deferred && classifyRefreshCarrier(request) === 'prefetch') {
502
+ return prefetchDeferredResponse();
503
+ }
490
504
  if (!session.Principal && isGated(normalized, new URL(request.url).pathname)) {
491
505
  const login = new URL(normalized.loginPath, request.url);
492
506
  login.searchParams.set('redirect', new URL(request.url).pathname);
@@ -1 +1 @@
1
- {"version":3,"file":"workers.js","sourceRoot":"","sources":["../src/workers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"workers.js","sourceRoot":"","sources":["../src/workers.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@growth-labs/auth",
3
- "version": "0.12.0",
3
+ "version": "0.14.0",
4
4
  "type": "module",
5
5
  "types": "./dist/index.d.ts",
6
6
  "exports": {
@@ -69,13 +69,13 @@
69
69
  "zod": "^3.23.0"
70
70
  },
71
71
  "devDependencies": {
72
- "astro": "^6.4.6",
72
+ "@growth-labs/analytics": "0.20.5",
73
+ "astro": "7.3.1",
73
74
  "hono": "^4.12.25",
74
75
  "typescript": "^5.8.0",
75
- "vite": "^7.3.5",
76
+ "vite": "8.0.16",
76
77
  "vitest": "^4.1.8",
77
- "wrangler": "^4.92.0",
78
- "@growth-labs/analytics": "0.18.4"
78
+ "wrangler": "^4.92.0"
79
79
  },
80
80
  "scripts": {
81
81
  "build": "tsc",
@@ -1,11 +1,16 @@
1
1
  import { getConfig } from '../config-store.js'
2
2
  import '../runtime-bridge.js'
3
- import type { User } from '../types.js'
3
+ import type { AuthSessionState, User } from '../types.js'
4
4
  import { resolveClientSecret } from '../utils/client-secret.js'
5
5
  import { getCookie, setTokenCookies } from '../utils/cookies.js'
6
6
  import { secretResolutionFailureResponse } from '../utils/fail-closed.js'
7
7
  import { resolveInternalIssuer } from '../utils/issuer.js'
8
- import { refreshTokens, verifyAccessToken } from '../utils/tokens.js'
8
+ import {
9
+ classifyRefreshCarrier,
10
+ prefetchDeferredResponse,
11
+ type RefreshCarrier,
12
+ } from '../utils/refresh-carrier.js'
13
+ import { type RefreshFailure, refreshTokens, verifyAccessToken } from '../utils/tokens.js'
9
14
 
10
15
  const PRIVATE_NO_STORE_HEADERS = [
11
16
  'Cache-Control',
@@ -65,7 +70,17 @@ export async function onRequest(
65
70
  }
66
71
  }
67
72
 
73
+ // A refresh rotates the token, and only a response the browser is waiting
74
+ // for can deliver the successor. A beacon or a prefetch that would need one
75
+ // does not get it: the request is answered as `deferred` and the next
76
+ // consumable request refreshes instead (refresh-carrier.ts says why).
77
+ let refreshFailure = null as RefreshFailure | null
78
+ let deferredCarrier: RefreshCarrier | null = null
68
79
  if (!user && refreshToken) {
80
+ const carrier = classifyRefreshCarrier(request)
81
+ if (carrier !== 'consumable') deferredCarrier = carrier
82
+ }
83
+ if (!user && refreshToken && deferredCarrier === null) {
69
84
  const clientId = options.clientId || context.url.hostname
70
85
  refreshed = await refreshTokens(
71
86
  issuer,
@@ -73,6 +88,9 @@ export async function onRequest(
73
88
  clientId,
74
89
  resolvedClientSecret,
75
90
  options.resource,
91
+ (failure) => {
92
+ refreshFailure = failure
93
+ },
76
94
  )
77
95
  if (refreshed) {
78
96
  user = {
@@ -84,13 +102,68 @@ export async function onRequest(
84
102
  }
85
103
  }
86
104
 
87
- // 3. Populate context.locals.user
105
+ // 3. Populate context.locals.user and say HOW the session resolved. A site
106
+ // cannot act on `user === null` alone: an anonymous visitor, a member whose
107
+ // refresh token the issuer has definitively rejected, and a member caught by
108
+ // a passing issuer fault all look the same, and the second one was being
109
+ // rendered the locked page with dead cookies he could only fix by logging
110
+ // out and back in.
88
111
  context.locals.user = user
112
+ const session = resolveSessionState({
113
+ user,
114
+ refreshed: refreshed !== null,
115
+ hadAccessToken: accessToken !== null,
116
+ hadRefreshToken: refreshToken !== null,
117
+ refreshFailure,
118
+ deferred: deferredCarrier !== null,
119
+ })
120
+ context.locals.authSession = session
121
+
122
+ // The cookies are deliberately left alone, even when the state is `expired`.
123
+ // The issuer keeps refresh tokens in an eventually consistent store, so a
124
+ // token only seconds old can read as missing from another location and be
125
+ // answered invalid_grant; today that costs one anonymous page and heals on
126
+ // the next navigation, and clearing would turn it into a forced sign-in.
127
+ // Recovery never needed the clear: signing in again overwrites them.
128
+ const documentNavigation = isDocumentNavigation(request)
129
+
130
+ if (deferredCarrier !== null) {
131
+ try {
132
+ console.info('[auth] session refresh deferred', {
133
+ carrier: deferredCarrier,
134
+ pathname: context.url.pathname,
135
+ })
136
+ } catch {
137
+ /* a patched console must not turn a guest page into a 500 */
138
+ }
139
+ // A prefetched document rendered as a guest would be shown to the member
140
+ // on navigation as if they had signed out; a non-2xx is dropped instead.
141
+ if (deferredCarrier === 'prefetch') return prefetchDeferredResponse()
142
+ } else if (!user && refreshToken) {
143
+ const failure: RefreshFailure = refreshFailure ?? { reason: 'unreported' }
144
+ try {
145
+ console.warn('[auth] session refresh failed', {
146
+ ...failure,
147
+ pathname: context.url.pathname,
148
+ documentNavigation,
149
+ session,
150
+ })
151
+ } catch {
152
+ /* a patched console must not turn a guest page into a 500 */
153
+ }
154
+ }
89
155
 
90
156
  // 4. Gate protected paths
91
157
  if (!user && isGatedPath(context.url.pathname, options.gatedPaths)) {
158
+ // Only the issuer ending the session earns the error code, which is the
159
+ // one the login renderer already knows how to explain. A rejected access
160
+ // token with no refresh token beside it (wrong audience, say) is not a
161
+ // session that ended, and its redirect stays exactly as it always was.
162
+ const sessionEnded = refreshFailure?.reason === 'invalid_grant'
92
163
  const loginUrl = new URL(
93
- `${options.loginPath}?redirect=${encodeURIComponent(context.url.pathname)}`,
164
+ `${options.loginPath}?redirect=${encodeURIComponent(context.url.pathname)}${
165
+ sessionEnded ? '&error=session_expired' : ''
166
+ }`,
94
167
  context.url.origin,
95
168
  )
96
169
  return Response.redirect(loginUrl.toString(), 302)
@@ -120,6 +193,32 @@ export async function onRequest(
120
193
  return response
121
194
  }
122
195
 
196
+ function resolveSessionState(input: {
197
+ user: User | null
198
+ refreshed: boolean
199
+ hadAccessToken: boolean
200
+ hadRefreshToken: boolean
201
+ refreshFailure: RefreshFailure | null
202
+ deferred: boolean
203
+ }): AuthSessionState {
204
+ if (input.user) return input.refreshed ? 'refreshed' : 'verified'
205
+ if (!input.hadAccessToken && !input.hadRefreshToken) return 'anonymous'
206
+ if (input.deferred) return 'deferred'
207
+ // A rejected access token with no refresh token beside it cannot be revived.
208
+ if (!input.hadRefreshToken) return 'expired'
209
+ return input.refreshFailure?.reason === 'invalid_grant' ? 'expired' : 'refresh_failed'
210
+ }
211
+
212
+ /** Sec-Fetch-* is authoritative where the browser sends it; Accept is the fallback. */
213
+ function isDocumentNavigation(request: Request): boolean {
214
+ if (request.method !== 'GET') return false
215
+ const dest = request.headers.get('sec-fetch-dest')
216
+ if (dest) return dest === 'document'
217
+ const mode = request.headers.get('sec-fetch-mode')
218
+ if (mode) return mode === 'navigate'
219
+ return (request.headers.get('accept') ?? '').includes('text/html')
220
+ }
221
+
123
222
  function isGatedPath(pathname: string, gatedPaths: string[]): boolean {
124
223
  return gatedPaths.some((pattern) => {
125
224
  if (pattern.endsWith('/*')) {
@@ -53,7 +53,7 @@ export async function GET(context: LogoutContext): Promise<Response> {
53
53
 
54
54
  // Emit auth_logout (non-blocking) when the consumer has @growth-labs/analytics
55
55
  // wired. Without analytics installed this is a no-op (analyticsAvailable
56
- // returns false). Documented in packages-docs/event-registry.md.
56
+ // returns false). Documented in packages/analytics/EVENT_REGISTRY.md (growth-labs/publishing).
57
57
  if (analyticsAvailable(context as { locals?: Record<string, unknown> })) {
58
58
  const promise = emitAuthEvent(context, 'auth_logout', {
59
59
  revoked: refreshToken ? 'true' : 'false',
package/src/types.ts CHANGED
@@ -149,11 +149,34 @@ export interface TokenExchangeResult {
149
149
  }
150
150
  }
151
151
 
152
+ /**
153
+ * How the request's session resolved. `user === null` alone cannot tell a site
154
+ * what to do: `anonymous` never signed in; `expired` holds credentials that
155
+ * could not be revived on this request — the issuer answered the refresh token
156
+ * `invalid_grant`, or a rejected access token arrived with no refresh token
157
+ * beside it — so offer a sign-in-again path; `refresh_failed` hit a fault that
158
+ * may pass; `deferred` holds a refresh token this request deliberately did not
159
+ * spend, because it is a beacon or a prefetch whose response the browser would
160
+ * not apply (0.14.0) — the next consumable request refreshes, so treat it as a
161
+ * guest request and nothing more. NONE is proof the session is dead (the
162
+ * issuer's token store is eventually consistent), so never clear cookies on
163
+ * them: signing in again overwrites the cookies, and the middleware itself
164
+ * clears nothing.
165
+ */
166
+ export type AuthSessionState =
167
+ | 'anonymous'
168
+ | 'verified'
169
+ | 'refreshed'
170
+ | 'expired'
171
+ | 'refresh_failed'
172
+ | 'deferred'
173
+
152
174
  // Augment Astro's locals
153
175
  declare global {
154
176
  namespace App {
155
177
  interface Locals {
156
178
  user: User | null
179
+ authSession?: AuthSessionState
157
180
  synthetic?: boolean
158
181
  }
159
182
  }
@@ -48,5 +48,10 @@ export {
48
48
  getPasswordLoginUrl,
49
49
  } from './openauth.js'
50
50
  export { createPKCEChallenge, generatePKCE } from './pkce.js'
51
+ export {
52
+ classifyRefreshCarrier,
53
+ prefetchDeferredResponse,
54
+ type RefreshCarrier,
55
+ } from './refresh-carrier.js'
51
56
  export { generateState, verifyState } from './state.js'
52
- export type { VerifiedClaims } from './tokens.js'
57
+ export type { RefreshFailure, RefreshFailureReason, VerifiedClaims } from './tokens.js'
@@ -0,0 +1,74 @@
1
+ // Which requests may spend a refresh token.
2
+ //
3
+ // A refresh rotates the token: the issuer retires the one presented and the
4
+ // response carries its successor as a Set-Cookie. If that response is never
5
+ // applied, the browser keeps presenting a token nothing will accept again, and
6
+ // the member is locked out until they sign in again (fronts, 2026-09: the
7
+ // issuer's `oauth.token_refresh.rejected` with disposition `rotated` and an
8
+ // `unused` successor is exactly this shape). So a refresh belongs only on a
9
+ // request whose response the browser is waiting for and will apply:
10
+ //
11
+ // - A beacon (`navigator.sendBeacon`, `fetch` with `mode: 'no-cors'`, an
12
+ // `<a ping>`, a Reporting API upload) is fire-and-forget. Its response is
13
+ // discarded, often after the document that sent it is gone. Refreshing on
14
+ // one spends the token for nobody. The request proceeds as a guest and the
15
+ // next consumable request refreshes instead.
16
+ //
17
+ // - A prefetch or prerender (speculation rules, `<link rel="prefetch">`) is
18
+ // speculative: it is the request class the browser cancels most (fronts:
19
+ // 6.5% of prefetches end `canceled` against 1.4% of all requests), and a
20
+ // prefetched document rendered as a guest would be shown to the member on
21
+ // navigation as if they had been signed out. The request is answered with a
22
+ // non-2xx the browser will not use, so the real navigation refreshes.
23
+ //
24
+ // Sec-Fetch-* and Sec-Purpose are browser-set and cannot be forged by page
25
+ // script. Where a client sends none of them, the request is treated as
26
+ // consumable, which is exactly the pre-0.14 behaviour.
27
+
28
+ export type RefreshCarrier = 'consumable' | 'beacon' | 'prefetch'
29
+
30
+ function headerLower(request: Request, name: string): string {
31
+ return (request.headers.get(name) ?? '').toLowerCase()
32
+ }
33
+
34
+ /** Speculation-rules and legacy prefetch/prerender markers. */
35
+ function isPrefetch(request: Request): boolean {
36
+ const secPurpose = headerLower(request, 'sec-purpose')
37
+ if (secPurpose.includes('prefetch') || secPurpose.includes('prerender')) return true
38
+ if (headerLower(request, 'purpose') === 'prefetch') return true
39
+ const xPurpose = headerLower(request, 'x-purpose')
40
+ if (xPurpose === 'prefetch' || xPurpose === 'preview') return true
41
+ return headerLower(request, 'x-moz') === 'prefetch'
42
+ }
43
+
44
+ /** Fire-and-forget requests whose response nobody reads. */
45
+ function isBeacon(request: Request): boolean {
46
+ const dest = headerLower(request, 'sec-fetch-dest')
47
+ if (dest === 'report') return true
48
+ if (dest === 'empty' && headerLower(request, 'sec-fetch-mode') === 'no-cors') return true
49
+ if (headerLower(request, 'content-type').startsWith('text/ping')) return true
50
+ return request.headers.has('ping-to')
51
+ }
52
+
53
+ export function classifyRefreshCarrier(request: Request): RefreshCarrier {
54
+ if (isPrefetch(request)) return 'prefetch'
55
+ if (isBeacon(request)) return 'beacon'
56
+ return 'consumable'
57
+ }
58
+
59
+ /**
60
+ * The answer to a prefetch that would have needed a refresh. Non-2xx, so the
61
+ * browser drops it and navigates for real; 425 because the server declines a
62
+ * request it may never be asked to honour. `Vary` keeps a shared cache from
63
+ * serving it to the navigation.
64
+ */
65
+ export function prefetchDeferredResponse(): Response {
66
+ return new Response(null, {
67
+ status: 425,
68
+ statusText: 'Too Early',
69
+ headers: {
70
+ 'Cache-Control': 'private, no-store',
71
+ Vary: 'Sec-Purpose, Cookie',
72
+ },
73
+ })
74
+ }
@@ -0,0 +1,59 @@
1
+ // One in-flight refresh per refresh token, per isolate.
2
+ //
3
+ // A page whose access token has just expired does not send one request: the
4
+ // document, its same-origin fetches, images and prefetches all arrive within
5
+ // the same second, every one carrying the same refresh token, and every one
6
+ // used to POST /token on its own. The issuer converges them — inside its
7
+ // reuse window (identity-platform: 600s) a re-presented token gets the same
8
+ // successor back — so the race was never a rejection, but it was N exchanges,
9
+ // N JWKS verifications and N marker writes for one rotation. Callers that
10
+ // arrive while an exchange for the same token is in flight now await that
11
+ // exchange and receive its outcome, success or failure alike.
12
+ //
13
+ // Scope is deliberately the isolate. Two tabs are two documents but one
14
+ // cookie jar, so their concurrent refreshes carry the same token and land, in
15
+ // practice, on the same colo and usually the same isolate; where they do not,
16
+ // the issuer's reuse window already converges them, and a cross-isolate lock
17
+ // (KV, Durable Object) would put a network round trip and a new dependency on
18
+ // every refresh to solve a case that is already solved. Nothing is retained
19
+ // after the flight settles for the same reason: a client-side successor cache
20
+ // would be a weaker copy of the issuer's reuse window.
21
+ //
22
+ // The map lives only in this isolate's memory and is keyed on the token
23
+ // together with its client context. Keying synchronously is what makes the
24
+ // guarantee hold: a caller that arrives while a flight is registered shares it,
25
+ // with no asynchronous gap between "look" and "register" for a second caller
26
+ // to slip through. The token is already held as a string by the request that
27
+ // carried it, so the key adds nothing a heap dump did not have.
28
+
29
+ const inFlight = new Map<string, Promise<unknown>>()
30
+
31
+ function flightKey(parts: readonly string[]): string {
32
+ return parts.join('\u001f')
33
+ }
34
+
35
+ /**
36
+ * Run `exchange` unless an identical exchange is already in flight in this
37
+ * isolate, in which case share its promise. `parts` identify the exchange:
38
+ * issuer, client, resource and the refresh token.
39
+ */
40
+ export function singleFlightRefresh<T>(
41
+ parts: readonly string[],
42
+ exchange: () => Promise<T>,
43
+ ): Promise<T> {
44
+ const key = flightKey(parts)
45
+ const existing = inFlight.get(key)
46
+ if (existing) return existing as Promise<T>
47
+ const flight = Promise.resolve()
48
+ .then(exchange)
49
+ .finally(() => {
50
+ if (inFlight.get(key) === flight) inFlight.delete(key)
51
+ })
52
+ inFlight.set(key, flight)
53
+ return flight
54
+ }
55
+
56
+ /** @internal Test-only. Reports how many refreshes are in flight right now. */
57
+ export function _refreshFlightsInProgress(): number {
58
+ return inFlight.size
59
+ }