@agenticprimitives/connect-auth 1.0.0-alpha.46 → 1.0.0-alpha.47

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/dist/index.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- export { mintSession, verifySession, SESSION_COOKIE, SESSION_TTL_SECONDS, DEFAULT_SESSION_CLOCK_SKEW_SEC, type VerifySessionOpts, } from './sessions.js';
1
+ export { mintSession, verifySession, SESSION_COOKIE, SESSION_TTL_SECONDS, DEFAULT_SESSION_CLOCK_SKEW_SEC, SESSION_SECRET_MIN_BYTES, assertSessionSecrets, type VerifySessionOpts, } from './sessions.js';
2
2
  export { csrfTokenFor, verifyCsrf, type CsrfBindings, type CsrfMintOpts, type CsrfVerifyOpts, } from './csrf.js';
3
3
  export { deriveSaltFromLabel, deriveSaltFromEmail, type DeriveSaltFromEmailOpts } from './salt.js';
4
4
  export { ERC1271_MAGIC, ERC6492_MAGIC, universalSignatureValidatorAbi, verifyUserSignature, verifyUserSignatureView, isErc6492Wrapped, } from './verify-signature.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAIA,OAAO,EACL,WAAW,EACX,aAAa,EACb,cAAc,EACd,mBAAmB,EACnB,8BAA8B,EAC9B,KAAK,iBAAiB,GACvB,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,YAAY,EACZ,UAAU,EACV,KAAK,YAAY,EACjB,KAAK,YAAY,EACjB,KAAK,cAAc,GACpB,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,KAAK,uBAAuB,EAAE,MAAM,WAAW,CAAC;AACnG,OAAO,EACL,aAAa,EACb,aAAa,EACb,8BAA8B,EAC9B,mBAAmB,EACnB,uBAAuB,EACvB,gBAAgB,GACjB,MAAM,uBAAuB,CAAC;AAC/B,YAAY,EACV,qBAAqB,EACrB,uBAAuB,EACvB,wBAAwB,GACzB,MAAM,uBAAuB,CAAC;AAK/B,OAAO,EACL,MAAM,EACN,eAAe,EACf,eAAe,EACf,iBAAiB,EACjB,aAAa,EACb,sBAAsB,EACtB,uBAAuB,EACvB,sBAAsB,EACtB,aAAa,GACd,MAAM,sBAAsB,CAAC;AAC9B,YAAY,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAEjF,YAAY,EACV,OAAO,EACP,GAAG,EACH,UAAU,EACV,SAAS,EACT,iBAAiB,EACjB,eAAe,EACf,cAAc,EACd,MAAM,EACN,gBAAgB,EAChB,aAAa,EACb,SAAS,EACT,SAAS,GACV,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAIA,OAAO,EACL,WAAW,EACX,aAAa,EACb,cAAc,EACd,mBAAmB,EACnB,8BAA8B,EAC9B,wBAAwB,EACxB,oBAAoB,EACpB,KAAK,iBAAiB,GACvB,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,YAAY,EACZ,UAAU,EACV,KAAK,YAAY,EACjB,KAAK,YAAY,EACjB,KAAK,cAAc,GACpB,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,KAAK,uBAAuB,EAAE,MAAM,WAAW,CAAC;AACnG,OAAO,EACL,aAAa,EACb,aAAa,EACb,8BAA8B,EAC9B,mBAAmB,EACnB,uBAAuB,EACvB,gBAAgB,GACjB,MAAM,uBAAuB,CAAC;AAC/B,YAAY,EACV,qBAAqB,EACrB,uBAAuB,EACvB,wBAAwB,GACzB,MAAM,uBAAuB,CAAC;AAK/B,OAAO,EACL,MAAM,EACN,eAAe,EACf,eAAe,EACf,iBAAiB,EACjB,aAAa,EACb,sBAAsB,EACtB,uBAAuB,EACvB,sBAAsB,EACtB,aAAa,GACd,MAAM,sBAAsB,CAAC;AAC9B,YAAY,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAEjF,YAAY,EACV,OAAO,EACP,GAAG,EACH,UAAU,EACV,SAAS,EACT,iBAAiB,EACjB,eAAe,EACf,cAAc,EACd,MAAM,EACN,gBAAgB,EAChB,aAAa,EACb,SAAS,EACT,SAAS,GACV,MAAM,YAAY,CAAC"}
package/dist/index.js CHANGED
@@ -1,7 +1,7 @@
1
1
  // @agenticprimitives/connect-auth — public API
2
2
  //
3
3
  // See ../../specs/200-connect-auth.md for the full contract.
4
- export { mintSession, verifySession, SESSION_COOKIE, SESSION_TTL_SECONDS, DEFAULT_SESSION_CLOCK_SKEW_SEC, } from './sessions.js';
4
+ export { mintSession, verifySession, SESSION_COOKIE, SESSION_TTL_SECONDS, DEFAULT_SESSION_CLOCK_SKEW_SEC, SESSION_SECRET_MIN_BYTES, assertSessionSecrets, } from './sessions.js';
5
5
  export { csrfTokenFor, verifyCsrf, } from './csrf.js';
6
6
  export { deriveSaltFromLabel, deriveSaltFromEmail } from './salt.js';
7
7
  export { ERC1271_MAGIC, ERC6492_MAGIC, universalSignatureValidatorAbi, verifyUserSignature, verifyUserSignatureView, isErc6492Wrapped, } from './verify-signature.js';
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,+CAA+C;AAC/C,EAAE;AACF,6DAA6D;AAE7D,OAAO,EACL,WAAW,EACX,aAAa,EACb,cAAc,EACd,mBAAmB,EACnB,8BAA8B,GAE/B,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,YAAY,EACZ,UAAU,GAIX,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAgC,MAAM,WAAW,CAAC;AACnG,OAAO,EACL,aAAa,EACb,aAAa,EACb,8BAA8B,EAC9B,mBAAmB,EACnB,uBAAuB,EACvB,gBAAgB,GACjB,MAAM,uBAAuB,CAAC;AAO/B,oDAAoD;AACpD,2EAA2E;AAC3E,6BAA6B;AAC7B,OAAO,EACL,MAAM,EACN,eAAe,EACf,eAAe,EACf,iBAAiB,EACjB,aAAa,EACb,sBAAsB,EACtB,uBAAuB,EACvB,sBAAsB,EACtB,aAAa,GACd,MAAM,sBAAsB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,+CAA+C;AAC/C,EAAE;AACF,6DAA6D;AAE7D,OAAO,EACL,WAAW,EACX,aAAa,EACb,cAAc,EACd,mBAAmB,EACnB,8BAA8B,EAC9B,wBAAwB,EACxB,oBAAoB,GAErB,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,YAAY,EACZ,UAAU,GAIX,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAgC,MAAM,WAAW,CAAC;AACnG,OAAO,EACL,aAAa,EACb,aAAa,EACb,8BAA8B,EAC9B,mBAAmB,EACnB,uBAAuB,EACvB,gBAAgB,GACjB,MAAM,uBAAuB,CAAC;AAO/B,oDAAoD;AACpD,2EAA2E;AAC3E,6BAA6B;AAC7B,OAAO,EACL,MAAM,EACN,eAAe,EACf,eAAe,EACf,iBAAiB,EACjB,aAAa,EACb,sBAAsB,EACtB,uBAAuB,EACvB,sBAAsB,EACtB,aAAa,GACd,MAAM,sBAAsB,CAAC"}
@@ -71,10 +71,10 @@ export interface CompleteLoginInput {
71
71
  /** Require `email_verified === true` (default true — Google). Set false for providers that don't
72
72
  * assert it (YouVersion); the facet is keyed on (iss, sub), not email, so this is safe. */
73
73
  requireEmailVerified?: boolean;
74
- /** Require the id_token `nonce` to match (default true — Google). Set false for providers whose
75
- * non-standard multi-leg flow doesn't round-trip the authorize `nonce` into the id_token
76
- * (YouVersion). PKCE (the code_verifier only we hold) already binds the code exchange, so this is
77
- * safe — replay/injection of a stolen id_token still fails without the verifier. */
74
+ /** Require the id_token to carry the `nonce` (default true). An explicit false is a registered fail-open
75
+ * knob (`check:fail-open-knobs`); a nonce the token does carry is checked either way. A provider whose
76
+ * id_token does not carry the nonce (YouVersion) uses `completeAttemptBoundLogin` instead, which binds
77
+ * the token to a single-use, short-lived server-side attempt record + PKCE rather than dropping the check. */
78
78
  requireNonce?: boolean;
79
79
  config?: OidcProviderConfig;
80
80
  /** Injectable for tests (defaults to global fetch). */
@@ -105,4 +105,47 @@ export type CompleteLoginResult = {
105
105
  /** Build the `(iss, sub)` facet key a directory keys an OIDC credential on. */
106
106
  export declare function oidcFacetId(iss: string, sub: string): string;
107
107
  export declare function completeLogin(input: CompleteLoginInput): Promise<CompleteLoginResult>;
108
+ /** The server-side record of ONE login attempt, written by the consumer right after `beginLogin`
109
+ * (e.g. `{ ...beginLogin(…), redirectUri, createdAtMs: Date.now() }`) and keyed on its `state`. */
110
+ export interface OidcLoginAttemptV1 {
111
+ state: string;
112
+ nonce: string;
113
+ codeVerifier: string;
114
+ redirectUri: string;
115
+ /** When the attempt began (ms since epoch). Checked here against `maxAttemptAgeMs` — not left to a store TTL. */
116
+ createdAtMs: number;
117
+ }
118
+ /** Single-use attempt store (the consumer's KV / D1 / DO). `take` MUST remove the record and return it in
119
+ * one step: a second `take` of the same state returns null. connect-auth stays stateless; this is the port. */
120
+ export interface OidcLoginAttemptStore {
121
+ take(state: string): Promise<OidcLoginAttemptV1 | null>;
122
+ }
123
+ export interface CompleteAttemptBoundLoginInput {
124
+ code: string;
125
+ /** `state` the provider returned — the key the attempt is taken under. */
126
+ returnedState: string;
127
+ attempts: OidcLoginAttemptStore;
128
+ clientId: string;
129
+ clientSecret?: string;
130
+ requireEmailVerified?: boolean;
131
+ /** Max age of the attempt record (default 10 min, never more than 15 min). */
132
+ maxAttemptAgeMs?: number;
133
+ config?: OidcProviderConfig;
134
+ fetchImpl?: typeof fetch;
135
+ now?: () => number;
136
+ }
137
+ /** Default + ceiling for an attempt's age. */
138
+ export declare const OIDC_LOGIN_ATTEMPT_MAX_AGE_MS = 600000;
139
+ /**
140
+ * Complete an OIDC login bound to ONE server-side login attempt instead of to an id_token `nonce` (spec 445
141
+ * W0) — for a provider whose id_token does not carry the authorize nonce (YouVersion's multi-leg flow).
142
+ * The token is accepted only when ALL of these bind it to this attempt:
143
+ * - the attempt record is TAKEN (single use) under the returned `state` — unknown / replayed ⇒ refused;
144
+ * - the record is younger than `maxAttemptAgeMs` (and not dated in the future) ⇒ else refused;
145
+ * - the code is exchanged with THAT record's PKCE (S256) `code_verifier`, so a code issued to another
146
+ * attempt (another code_challenge) does not redeem;
147
+ * - if the id_token DOES carry a `nonce`, it must equal the record's nonce (never ignored).
148
+ * There is no option here that turns any of these off.
149
+ */
150
+ export declare function completeAttemptBoundLogin(input: CompleteAttemptBoundLoginInput): Promise<CompleteLoginResult>;
108
151
  //# sourceMappingURL=google.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"google.d.ts","sourceRoot":"","sources":["../../src/methods/google.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"google.d.ts","sourceRoot":"","sources":["../../src/methods/google.ts"],"names":[],"mappings":"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"}
@@ -108,7 +108,8 @@ export function beginLogin(input) {
108
108
  response_type: 'code',
109
109
  client_id: input.clientId,
110
110
  redirect_uri: input.redirectUri,
111
- scope: scope.includes('openid') ? scope : `openid ${scope}`,
111
+ // Token match, not substring (ING-15): `myopenid_x` contains "openid" and is not the `openid` scope.
112
+ scope: scope.split(/\s+/).includes('openid') ? scope : `openid ${scope}`.trim(),
112
113
  state,
113
114
  nonce,
114
115
  code_challenge: codeChallenge,
@@ -129,6 +130,62 @@ export function oidcFacetId(iss, sub) {
129
130
  return `${iss}#${sub}`;
130
131
  }
131
132
  export async function completeLogin(input) {
133
+ return completeCore(input, { requireNonce: input.requireNonce !== false });
134
+ }
135
+ /** Default + ceiling for an attempt's age. */
136
+ export const OIDC_LOGIN_ATTEMPT_MAX_AGE_MS = 600_000;
137
+ const OIDC_LOGIN_ATTEMPT_AGE_CEILING_MS = 900_000;
138
+ /**
139
+ * Complete an OIDC login bound to ONE server-side login attempt instead of to an id_token `nonce` (spec 445
140
+ * W0) — for a provider whose id_token does not carry the authorize nonce (YouVersion's multi-leg flow).
141
+ * The token is accepted only when ALL of these bind it to this attempt:
142
+ * - the attempt record is TAKEN (single use) under the returned `state` — unknown / replayed ⇒ refused;
143
+ * - the record is younger than `maxAttemptAgeMs` (and not dated in the future) ⇒ else refused;
144
+ * - the code is exchanged with THAT record's PKCE (S256) `code_verifier`, so a code issued to another
145
+ * attempt (another code_challenge) does not redeem;
146
+ * - if the id_token DOES carry a `nonce`, it must equal the record's nonce (never ignored).
147
+ * There is no option here that turns any of these off.
148
+ */
149
+ export async function completeAttemptBoundLogin(input) {
150
+ if (!input.returnedState)
151
+ return { ok: false, reason: 'state mismatch' };
152
+ const nowMs = (input.now ?? Date.now)();
153
+ const maxAge = input.maxAttemptAgeMs ?? OIDC_LOGIN_ATTEMPT_MAX_AGE_MS;
154
+ if (!Number.isFinite(maxAge) || maxAge <= 0 || maxAge > OIDC_LOGIN_ATTEMPT_AGE_CEILING_MS) {
155
+ return { ok: false, reason: 'login attempt max age invalid' };
156
+ }
157
+ let attempt;
158
+ try {
159
+ attempt = await input.attempts.take(input.returnedState);
160
+ }
161
+ catch (e) {
162
+ return { ok: false, reason: e instanceof Error ? `login attempt store failed: ${e.message}` : 'login attempt store failed' };
163
+ }
164
+ if (!attempt)
165
+ return { ok: false, reason: 'login attempt unknown or already used' };
166
+ if (!attempt.codeVerifier || !attempt.nonce || !attempt.redirectUri)
167
+ return { ok: false, reason: 'login attempt record malformed' };
168
+ const age = nowMs - attempt.createdAtMs;
169
+ // `!(… <= …)` so a NaN age (missing / garbage createdAtMs) is refused, never eternal.
170
+ if (!(age >= -5_000 && age <= maxAge))
171
+ return { ok: false, reason: 'login attempt expired' };
172
+ return completeCore({
173
+ code: input.code,
174
+ returnedState: input.returnedState,
175
+ expectedState: attempt.state,
176
+ expectedNonce: attempt.nonce,
177
+ codeVerifier: attempt.codeVerifier,
178
+ redirectUri: attempt.redirectUri,
179
+ clientId: input.clientId,
180
+ ...(input.clientSecret !== undefined ? { clientSecret: input.clientSecret } : {}),
181
+ ...(input.requireEmailVerified !== undefined ? { requireEmailVerified: input.requireEmailVerified } : {}),
182
+ ...(input.config ? { config: input.config } : {}),
183
+ ...(input.fetchImpl ? { fetchImpl: input.fetchImpl } : {}),
184
+ now: () => nowMs,
185
+ }, { attemptBound: true });
186
+ }
187
+ async function completeCore(input, binding) {
188
+ const nonceRequired = 'attemptBound' in binding ? false : binding.requireNonce;
132
189
  const config = input.config ?? GOOGLE_OIDC;
133
190
  // Bind the global fetch to globalThis: the Cloudflare workerd runtime throws
134
191
  // "Illegal invocation" if its native `fetch` is invoked with a `this` other
@@ -184,7 +241,7 @@ export async function completeLogin(input) {
184
241
  config,
185
242
  clientId: input.clientId,
186
243
  expectedNonce: input.expectedNonce,
187
- requireNonce: input.requireNonce !== false,
244
+ nonceRequired,
188
245
  nowMs,
189
246
  fetchImpl: doFetch,
190
247
  });
@@ -235,9 +292,13 @@ async function verifyIdToken(idToken, ctx) {
235
292
  if (!res.ok)
236
293
  return { ok: false, reason: `JWKS endpoint returned ${res.status}` };
237
294
  const set = (await res.json());
238
- const found = set.keys?.find((k) => k.kid === header.kid && k.kty === 'RSA');
295
+ // A key published for encryption, or for another algorithm, is not a signing key for this token (ING-15).
296
+ const found = set.keys?.find((k) => {
297
+ const meta = k;
298
+ return k.kid === header.kid && k.kty === 'RSA' && (meta.use === undefined || meta.use === 'sig') && (meta.alg === undefined || meta.alg === 'RS256');
299
+ });
239
300
  if (!found)
240
- return { ok: false, reason: `no RSA JWKS key for kid "${header.kid}"` };
301
+ return { ok: false, reason: `no RSA signing (RS256) JWKS key for kid "${header.kid}"` };
241
302
  jwk = found;
242
303
  }
243
304
  catch (e) {
@@ -261,10 +322,27 @@ async function verifyIdToken(idToken, ctx) {
261
322
  const audOk = Array.isArray(claims.aud) ? claims.aud.includes(ctx.clientId) : claims.aud === ctx.clientId;
262
323
  if (!audOk)
263
324
  return { ok: false, reason: 'id_token aud does not match clientId' };
264
- if (typeof claims.exp !== 'number' || claims.exp * 1000 <= ctx.nowMs) {
325
+ // OIDC Core §3.1.3.7 (ING-15): a token for several audiences MUST name the authorized party, and an `azp`
326
+ // that is present MUST be this client — otherwise a token minted for another client that merely lists us passes.
327
+ const azp = claims.azp;
328
+ if (Array.isArray(claims.aud) && claims.aud.length > 1 && azp === undefined)
329
+ return { ok: false, reason: 'id_token has several audiences and no azp' };
330
+ if (azp !== undefined && azp !== ctx.clientId)
331
+ return { ok: false, reason: 'id_token azp does not match clientId' };
332
+ // `!(exp > now)`: a NaN `exp` or clock is expired, never eternal.
333
+ if (typeof claims.exp !== 'number' || !(claims.exp * 1000 > ctx.nowMs)) {
265
334
  return { ok: false, reason: 'id_token expired' };
266
335
  }
267
- if (ctx.requireNonce && (!claims.nonce || !constantTimeEqualStr(claims.nonce, ctx.expectedNonce))) {
336
+ // `iat` is REQUIRED by OIDC and must not be in the future (5 min skew) — a token dated ahead outlives its window.
337
+ const iat = claims.iat;
338
+ if (typeof iat !== 'number' || !(iat * 1000 <= ctx.nowMs + 300_000)) {
339
+ return { ok: false, reason: 'id_token iat missing or in the future' };
340
+ }
341
+ if (ctx.nonceRequired && !claims.nonce)
342
+ return { ok: false, reason: 'id_token nonce mismatch' };
343
+ // A nonce the token CARRIES is always checked (spec 445 W0): even where the login is bound another way,
344
+ // a token minted for a different attempt's nonce is refused, never ignored.
345
+ if (claims.nonce !== undefined && (typeof claims.nonce !== 'string' || !constantTimeEqualStr(claims.nonce, ctx.expectedNonce))) {
268
346
  return { ok: false, reason: 'id_token nonce mismatch' };
269
347
  }
270
348
  if (!claims.sub)
@@ -1 +1 @@
1
- {"version":3,"file":"google.js","sourceRoot":"","sources":["../../src/methods/google.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"google.js","sourceRoot":"","sources":["../../src/methods/google.ts"],"names":[],"mappings":"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"}
@@ -25,6 +25,11 @@ import type { Hex } from '../types.js';
25
25
  export declare const P256_N = 115792089210356248762697446949407573529996955224135760342422259061068512044369n;
26
26
  export declare function base64urlEncode(bytes: Uint8Array): string;
27
27
  export declare function base64urlDecode(s: string): Uint8Array;
28
+ /**
29
+ * Strict DER `SEQUENCE { INTEGER r, INTEGER s }` for a P-256 signature. Every length is bounds-checked and the
30
+ * encoding must account for EVERY byte (spec 445 / ING-16): a length that runs past the buffer used to yield a
31
+ * silently truncated integer, a long-form length was read as a short one, and trailing bytes were ignored.
32
+ */
28
33
  export declare function parseDerSignature(der: Uint8Array): {
29
34
  r: bigint;
30
35
  s: bigint;
@@ -1 +1 @@
1
- {"version":3,"file":"passkey.d.ts","sourceRoot":"","sources":["../../src/methods/passkey.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAGH,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAIvC,qCAAqC;AACrC,eAAO,MAAM,MAAM,kFACkD,CAAC;AAItE,wBAAgB,eAAe,CAAC,KAAK,EAAE,UAAU,GAAG,MAAM,CASzD;AAED,wBAAgB,eAAe,CAAC,CAAC,EAAE,MAAM,GAAG,UAAU,CAYrD;AAID,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,UAAU,GAAG;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,CAiB3E;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAE/C;AAID;;;;;;GAMG;AACH,MAAM,WAAW,iBAAiB;IAChC,iBAAiB,EAAE,GAAG,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,kBAAkB,EAAE,GAAG,CAAC;CACzB;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE;IAC3C,iBAAiB,EAAE,UAAU,CAAC;IAC9B,iBAAiB,EAAE,UAAU,CAAC;IAC9B,cAAc,EAAE,UAAU,CAAC;IAC3B,YAAY,EAAE,UAAU,CAAC;CAC1B,GAAG,iBAAiB,CA2BpB;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,GAAG,GAAG,MAAM,CAEzD;AAID,MAAM,WAAW,iBAAiB;IAChC,YAAY,EAAE,UAAU,CAAC;IACzB,qBAAqB,EAAE,MAAM,CAAC;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,UAAU,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,0BAA0B,EAAE,OAAO,CAAC;IACpC,eAAe,EAAE,OAAO,CAAC;IACzB,gBAAgB,EAAE,OAAO,CAAC;CAC3B;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,CACpC,iBAAiB,EAAE,UAAU,GAC5B,iBAAiB,CAQnB;AAED,wBAAgB,aAAa,CAAC,QAAQ,EAAE,UAAU,GAAG,iBAAiB,CA2CrE"}
1
+ {"version":3,"file":"passkey.d.ts","sourceRoot":"","sources":["../../src/methods/passkey.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAGH,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAIvC,qCAAqC;AACrC,eAAO,MAAM,MAAM,kFACkD,CAAC;AAItE,wBAAgB,eAAe,CAAC,KAAK,EAAE,UAAU,GAAG,MAAM,CASzD;AAED,wBAAgB,eAAe,CAAC,CAAC,EAAE,MAAM,GAAG,UAAU,CAYrD;AAID;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,UAAU,GAAG;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,CAkB3E;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAE/C;AAID;;;;;;GAMG;AACH,MAAM,WAAW,iBAAiB;IAChC,iBAAiB,EAAE,GAAG,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,kBAAkB,EAAE,GAAG,CAAC;CACzB;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE;IAC3C,iBAAiB,EAAE,UAAU,CAAC;IAC9B,iBAAiB,EAAE,UAAU,CAAC;IAC9B,cAAc,EAAE,UAAU,CAAC;IAC3B,YAAY,EAAE,UAAU,CAAC;CAC1B,GAAG,iBAAiB,CA2BpB;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,GAAG,GAAG,MAAM,CAEzD;AAID,MAAM,WAAW,iBAAiB;IAChC,YAAY,EAAE,UAAU,CAAC;IACzB,qBAAqB,EAAE,MAAM,CAAC;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,UAAU,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,0BAA0B,EAAE,OAAO,CAAC;IACpC,eAAe,EAAE,OAAO,CAAC;IACzB,gBAAgB,EAAE,OAAO,CAAC;CAC3B;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,CACpC,iBAAiB,EAAE,UAAU,GAC5B,iBAAiB,CAQnB;AAED,wBAAgB,aAAa,CAAC,QAAQ,EAAE,UAAU,GAAG,iBAAiB,CAsDrE"}
@@ -48,27 +48,36 @@ export function base64urlDecode(s) {
48
48
  return out;
49
49
  }
50
50
  // ─── DER signature parsing + low-s normalisation ─────────────────────
51
+ /**
52
+ * Strict DER `SEQUENCE { INTEGER r, INTEGER s }` for a P-256 signature. Every length is bounds-checked and the
53
+ * encoding must account for EVERY byte (spec 445 / ING-16): a length that runs past the buffer used to yield a
54
+ * silently truncated integer, a long-form length was read as a short one, and trailing bytes were ignored.
55
+ */
51
56
  export function parseDerSignature(der) {
52
- if (der.length < 8)
53
- throw new Error('DER: too short');
57
+ if (der.length < 8 || der.length > 72)
58
+ throw new Error('DER: bad total length');
54
59
  if (der[0] !== 0x30)
55
60
  throw new Error('DER: missing sequence tag');
56
- let i = 2;
57
- if (der[i] !== 0x02)
58
- throw new Error('DER: missing r tag');
59
- i++;
60
- const rLen = der[i];
61
- i++;
62
- const rBytes = der.slice(i, i + rLen);
63
- i += rLen;
64
- if (der[i] !== 0x02)
65
- throw new Error('DER: missing s tag');
66
- i++;
67
- const sLen = der[i];
68
- i++;
69
- const sBytes = der.slice(i, i + sLen);
70
- i += sLen;
71
- return { r: bytesToBigInt(rBytes), s: bytesToBigInt(sBytes) };
61
+ // Short-form length only: a P-256 signature body is at most 70 bytes, so the long form is never canonical.
62
+ if (der[1] >= 0x80 || der[1] !== der.length - 2)
63
+ throw new Error('DER: sequence length does not match the buffer');
64
+ const readInt = (at, name) => {
65
+ if (der[at] !== 0x02)
66
+ throw new Error(`DER: missing ${name} tag`);
67
+ const len = der[at + 1];
68
+ if (len === undefined || len === 0 || len > 33)
69
+ throw new Error(`DER: bad ${name} length`);
70
+ const start = at + 2;
71
+ if (start + len > der.length)
72
+ throw new Error(`DER: ${name} runs past the buffer`);
73
+ const bytes = der.slice(start, start + len);
74
+ return { bytes, next: start + len };
75
+ };
76
+ const r = readInt(2, 'r');
77
+ const sInt = readInt(r.next, 's');
78
+ if (sInt.next !== der.length)
79
+ throw new Error('DER: trailing bytes after s');
80
+ return { r: bytesToBigInt(r.bytes), s: bytesToBigInt(sInt.bytes) };
72
81
  }
73
82
  /**
74
83
  * Many WebAuthn authenticators emit high-s signatures (allowed by FIPS
@@ -163,17 +172,32 @@ export function parseAuthData(authData) {
163
172
  i += 16;
164
173
  const credIdLen = (authData[i] << 8) | authData[i + 1];
165
174
  i += 2;
175
+ // WebAuthn caps a credential id at 1023 bytes; and it must lie inside the buffer, with a key after it.
176
+ if (credIdLen === 0 || credIdLen > 1023 || i + credIdLen >= authData.length) {
177
+ throw new Error('authData: credential id length is out of bounds');
178
+ }
166
179
  const credentialId = authData.slice(i, i + credIdLen);
167
180
  i += credIdLen;
168
181
  const cosePubKeyBytes = authData.slice(i);
169
182
  const coseMap = cborDecode(cosePubKeyBytes);
170
183
  if (!isMap(coseMap))
171
184
  throw new Error('COSE_Key: expected map');
185
+ // The key is what the caller will register as a P-256 passkey — so it must SAY it is one (ING-16):
186
+ // kty (1) = EC2 (2), alg (3) = ES256 (−7), crv (−1) = P-256 (1), x / y exactly 32 bytes.
187
+ const num = (v) => (typeof v === 'number' ? v : typeof v === 'bigint' ? Number(v) : undefined);
188
+ if (num(mapGet(coseMap, 1)) !== 2)
189
+ throw new Error('COSE_Key: kty is not EC2');
190
+ if (num(mapGet(coseMap, 3)) !== -7)
191
+ throw new Error('COSE_Key: alg is not ES256');
192
+ if (num(mapGet(coseMap, -1)) !== 1)
193
+ throw new Error('COSE_Key: curve is not P-256');
172
194
  const x = mapGet(coseMap, -2);
173
195
  const y = mapGet(coseMap, -3);
174
196
  if (!(x instanceof Uint8Array) || !(y instanceof Uint8Array)) {
175
197
  throw new Error('COSE_Key: missing x/y coordinates');
176
198
  }
199
+ if (x.length !== 32 || y.length !== 32)
200
+ throw new Error('COSE_Key: x/y must be 32 bytes');
177
201
  return {
178
202
  credentialId,
179
203
  credentialIdBase64Url: base64urlFromBytes(credentialId),
@@ -226,17 +250,32 @@ function mapGet(m, key) {
226
250
  }
227
251
  return undefined;
228
252
  }
253
+ /** Deepest CBOR nesting accepted. An attestation object needs 4. */
254
+ const CBOR_MAX_DEPTH = 16;
229
255
  function cborDecode(bytes) {
230
256
  const reader = {
231
257
  view: new DataView(bytes.buffer, bytes.byteOffset, bytes.byteLength),
232
258
  pos: 0,
233
259
  };
234
- return decodeOne(reader);
235
- function decodeOne(r) {
260
+ return decodeOne(reader, 0);
261
+ /** Bytes left to read. A declared length larger than this cannot be honest. */
262
+ function remaining(r) {
263
+ return r.view.byteLength - r.pos;
264
+ }
265
+ function decodeOne(r, depth) {
266
+ // Bounded recursion (ING-16): a few KB of nested array headers used to overflow the stack.
267
+ if (depth > CBOR_MAX_DEPTH)
268
+ throw new Error('CBOR: nesting too deep');
269
+ if (remaining(r) < 1)
270
+ throw new Error('CBOR: truncated');
236
271
  const first = r.view.getUint8(r.pos++);
237
272
  const major = first >> 5;
238
273
  const minor = first & 0x1f;
239
274
  const len = readLength(r, minor);
275
+ // For strings the length is a byte count; for arrays/maps every element is at least one byte. Either way
276
+ // a length beyond what is left is malformed — refused before any allocation or loop.
277
+ if (major >= 2 && major <= 5 && BigInt(len) > BigInt(remaining(r)))
278
+ throw new Error('CBOR: declared length exceeds the input');
240
279
  switch (major) {
241
280
  case 0:
242
281
  return len;
@@ -257,14 +296,14 @@ function cborDecode(bytes) {
257
296
  case 4: {
258
297
  const out = [];
259
298
  for (let i = 0n; i < BigInt(len); i++)
260
- out.push(decodeOne(r));
299
+ out.push(decodeOne(r, depth + 1));
261
300
  return out;
262
301
  }
263
302
  case 5: {
264
303
  const m = new Map();
265
304
  for (let i = 0n; i < BigInt(len); i++) {
266
- const k = decodeOne(r);
267
- const v = decodeOne(r);
305
+ const k = decodeOne(r, depth + 1);
306
+ const v = decodeOne(r, depth + 1);
268
307
  m.set(k, v);
269
308
  }
270
309
  return m;
@@ -1 +1 @@
1
- {"version":3,"file":"passkey.js","sourceRoot":"","sources":["../../src/methods/passkey.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"passkey.js","sourceRoot":"","sources":["../../src/methods/passkey.ts"],"names":[],"mappings":"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"}
@@ -19,6 +19,29 @@ export interface SiweParsed {
19
19
  nonce: string;
20
20
  issuedAt: string;
21
21
  expirationTime: string | null;
22
+ /** EIP-4361 `Not Before` — enforced by `parseAndValidate`. */
23
+ notBefore: string | null;
24
+ requestId: string | null;
25
+ resources: string[];
26
+ }
27
+ /** Longest a SIWE message may be between `Issued At` and verification, by default (15 minutes). */
28
+ export declare const DEFAULT_SIWE_MAX_AGE_MS: number;
29
+ /** What every SIWE verify entry point takes. */
30
+ export interface SiweVerifyOptions {
31
+ now?: () => number;
32
+ allowedDomains?: string[];
33
+ allowAnyDomain?: boolean;
34
+ /** CA-001: required, single-use, caller-consumed. */
35
+ expectedNonce: string;
36
+ /** When set, the message's `Chain ID` must equal it — a signature made for one chain is not a sign-in on another. */
37
+ expectedChainId?: number;
38
+ /** When set, the message's `URI` must be one of these, exactly. */
39
+ allowedUris?: string[];
40
+ /**
41
+ * `Issued At` may be at most this old. Default `DEFAULT_SIWE_MAX_AGE_MS`. A message with no `Expiration Time`
42
+ * used to be valid for as long as its nonce was (spec 445 / ING-14). `Infinity` is the explicit opt-out.
43
+ */
44
+ maxAgeMs?: number;
22
45
  }
23
46
  /** Build an EIP-4361 message string from structured input. */
24
47
  export declare function buildMessage(input: SiweMessageInput): string;
@@ -46,12 +69,7 @@ export interface SiweVerifyError {
46
69
  * (e.g. `UniversalSignatureValidator`) without re-implementing the SIWE
47
70
  * field validation.
48
71
  */
49
- export declare function parseAndValidate(message: string, opts: {
50
- now?: () => number;
51
- allowedDomains?: string[];
52
- allowAnyDomain?: boolean;
53
- expectedNonce: string;
54
- }): {
72
+ export declare function parseAndValidate(message: string, opts: SiweVerifyOptions): {
55
73
  ok: true;
56
74
  parsed: SiweParsed;
57
75
  digest: Uint8Array;
@@ -71,12 +89,7 @@ export declare function verifyOnchain(message: string, signature: Hex, signature
71
89
  signer: Address;
72
90
  hash: Hex;
73
91
  signature: Hex;
74
- }) => Promise<boolean>, opts: {
75
- now?: () => number;
76
- allowedDomains?: string[];
77
- allowAnyDomain?: boolean;
78
- expectedNonce: string;
79
- }): Promise<SiweVerifyResult | SiweVerifyError>;
92
+ }) => Promise<boolean>, opts: SiweVerifyOptions): Promise<SiweVerifyResult | SiweVerifyError>;
80
93
  /**
81
94
  * Legacy ECDSA-only SIWE verifier. Recovers the signer address from the
82
95
  * 65-byte signature and compares against the message's `address` field.
@@ -86,10 +99,5 @@ export declare function verifyOnchain(message: string, signature: Hex, signature
86
99
  * (passkey, multisig, etc.) signers. Kept here for backward compat with
87
100
  * the existing `verify` tests and the EOA-only siwe verifier path.
88
101
  */
89
- export declare function verify(message: string, signature: Hex, opts: {
90
- now?: () => number;
91
- allowedDomains?: string[];
92
- allowAnyDomain?: boolean;
93
- expectedNonce: string;
94
- }): SiweVerifyResult | SiweVerifyError;
102
+ export declare function verify(message: string, signature: Hex, opts: SiweVerifyOptions): SiweVerifyResult | SiweVerifyError;
95
103
  //# sourceMappingURL=siwe.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"siwe.d.ts","sourceRoot":"","sources":["../../src/methods/siwe.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,0BAA0B,CAAC;AAE7D,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;CAC/B;AAED,8DAA8D;AAC9D,wBAAgB,YAAY,CAAC,KAAK,EAAE,gBAAgB,GAAG,MAAM,CAoB5D;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,CA6CrD;AA0BD,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,IAAI,CAAC;IACT,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,UAAU,CAAC;CACpB;AACD,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,KAAK,CAAC;IACV,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,MAAM,EACf,IAAI,EAAE;IAAE,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;IAAC,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAAC,cAAc,CAAC,EAAE,OAAO,CAAC;IAAC,aAAa,EAAE,MAAM,CAAA;CAAE,GACvG;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,MAAM,EAAE,UAAU,CAAC;IAAC,MAAM,EAAE,UAAU,CAAA;CAAE,GAAG,eAAe,CA0CxE;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,aAAa,CACjC,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,GAAG,EACd,iBAAiB,EAAE,CAAC,IAAI,EAAE;IACxB,MAAM,EAAE,OAAO,CAAC;IAChB,IAAI,EAAE,GAAG,CAAC;IACV,SAAS,EAAE,GAAG,CAAC;CAChB,KAAK,OAAO,CAAC,OAAO,CAAC,EAEtB,IAAI,EAAE;IAAE,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;IAAC,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAAC,cAAc,CAAC,EAAE,OAAO,CAAC;IAAC,aAAa,EAAE,MAAM,CAAA;CAAE,GACvG,OAAO,CAAC,gBAAgB,GAAG,eAAe,CAAC,CAsB7C;AAED;;;;;;;;GAQG;AACH,wBAAgB,MAAM,CACpB,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,GAAG,EAEd,IAAI,EAAE;IAAE,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;IAAC,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAAC,cAAc,CAAC,EAAE,OAAO,CAAC;IAAC,aAAa,EAAE,MAAM,CAAA;CAAE,GACvG,gBAAgB,GAAG,eAAe,CAcpC"}
1
+ {"version":3,"file":"siwe.d.ts","sourceRoot":"","sources":["../../src/methods/siwe.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,0BAA0B,CAAC;AAE7D,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,8DAA8D;IAC9D,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,SAAS,EAAE,MAAM,EAAE,CAAC;CACrB;AAED,mGAAmG;AACnG,eAAO,MAAM,uBAAuB,QAAiB,CAAC;AAEtD,gDAAgD;AAChD,MAAM,WAAW,iBAAiB;IAChC,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,qDAAqD;IACrD,aAAa,EAAE,MAAM,CAAC;IACtB,qHAAqH;IACrH,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,mEAAmE;IACnE,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,8DAA8D;AAC9D,wBAAgB,YAAY,CAAC,KAAK,EAAE,gBAAgB,GAAG,MAAM,CAoB5D;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,CA+DrD;AAgCD,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,IAAI,CAAC;IACT,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,UAAU,CAAC;CACpB;AACD,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,KAAK,CAAC;IACV,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,iBAAiB,GACtB;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,MAAM,EAAE,UAAU,CAAC;IAAC,MAAM,EAAE,UAAU,CAAA;CAAE,GAAG,eAAe,CAwDxE;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,aAAa,CACjC,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,GAAG,EACd,iBAAiB,EAAE,CAAC,IAAI,EAAE;IACxB,MAAM,EAAE,OAAO,CAAC;IAChB,IAAI,EAAE,GAAG,CAAC;IACV,SAAS,EAAE,GAAG,CAAC;CAChB,KAAK,OAAO,CAAC,OAAO,CAAC,EAEtB,IAAI,EAAE,iBAAiB,GACtB,OAAO,CAAC,gBAAgB,GAAG,eAAe,CAAC,CAsB7C;AAED;;;;;;;;GAQG;AACH,wBAAgB,MAAM,CACpB,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,GAAG,EAEd,IAAI,EAAE,iBAAiB,GACtB,gBAAgB,GAAG,eAAe,CAcpC"}
@@ -5,6 +5,8 @@
5
5
  // the message.
6
6
  import { secp256k1 } from '@noble/curves/secp256k1.js';
7
7
  import { keccak_256 } from '@noble/hashes/sha3.js';
8
+ /** Longest a SIWE message may be between `Issued At` and verification, by default (15 minutes). */
9
+ export const DEFAULT_SIWE_MAX_AGE_MS = 15 * 60 * 1000;
8
10
  /** Build an EIP-4361 message string from structured input. */
9
11
  export function buildMessage(input) {
10
12
  const issuedAt = input.issuedAt ?? new Date().toISOString();
@@ -65,10 +67,29 @@ export function parseMessage(text) {
65
67
  }
66
68
  fields[prefix.replace(/[:\s]/g, '').toLowerCase()] = line.slice(prefix.length).trim();
67
69
  }
68
- let expirationTime = null;
69
- if (lines[i] && lines[i].startsWith('Expiration Time: ')) {
70
- expirationTime = lines[i].slice('Expiration Time: '.length).trim();
70
+ // The optional tail, in EIP-4361 order. EVERY remaining line must be one of these: a line this parser does
71
+ // not understand is a refusal, not something to skip (spec 445 / ING-14 — `Not Before`, and anything after
72
+ // it, used to be ignored, and `Expiration Time` was read only if it was the very next line).
73
+ const optional = (prefix) => {
74
+ const line = lines[i];
75
+ if (line === undefined || !line.startsWith(prefix))
76
+ return null;
77
+ i++;
78
+ return line.slice(prefix.length).trim();
79
+ };
80
+ const expirationTime = optional('Expiration Time: ');
81
+ const notBefore = optional('Not Before: ');
82
+ const requestId = optional('Request ID: ');
83
+ const resources = [];
84
+ if (lines[i] === 'Resources:') {
85
+ i++;
86
+ while (lines[i] !== undefined && lines[i].startsWith('- '))
87
+ resources.push(lines[i++].slice(2).trim());
71
88
  }
89
+ if (i !== lines.length)
90
+ throw new Error('SIWE parse: unexpected content after the known fields');
91
+ if (!/^[1-9]\d{0,15}$/.test(fields.chainid))
92
+ throw new Error('SIWE parse: Chain ID is not a positive integer');
72
93
  return {
73
94
  domain,
74
95
  address,
@@ -79,6 +100,9 @@ export function parseMessage(text) {
79
100
  nonce: fields.nonce,
80
101
  issuedAt: fields.issuedat,
81
102
  expirationTime,
103
+ notBefore,
104
+ requestId,
105
+ resources,
82
106
  };
83
107
  }
84
108
  function eip191Digest(message) {
@@ -89,6 +113,7 @@ function eip191Digest(message) {
89
113
  combined.set(bytes, prefix.length);
90
114
  return keccak_256(combined);
91
115
  }
116
+ const SECP256K1_N = 0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141n;
92
117
  function recoverAddress(digest, sigHex) {
93
118
  const sig = sigHex.startsWith('0x') ? sigHex.slice(2) : sigHex;
94
119
  if (sig.length !== 130)
@@ -97,6 +122,12 @@ function recoverAddress(digest, sigHex) {
97
122
  const s = BigInt('0x' + sig.slice(64, 128));
98
123
  const v = parseInt(sig.slice(128, 130), 16);
99
124
  const recovery = v >= 27 ? v - 27 : v;
125
+ if (recovery !== 0 && recovery !== 1)
126
+ throw new Error('SIWE verify: invalid recovery id');
127
+ // Low-s only (EIP-2): for every (r, s) the pair (r, n − s) verifies too, so accepting both gives each
128
+ // signature a second valid encoding — a problem for anything that keys on the signature bytes (ING-14).
129
+ if (r === 0n || s === 0n || s > SECP256K1_N / 2n)
130
+ throw new Error('SIWE verify: non-canonical (high-s) signature');
100
131
  const signature = new secp256k1.Signature(r, s).addRecoveryBit(recovery);
101
132
  const pub = signature.recoverPublicKey(digest).toBytes(false);
102
133
  const hash = keccak_256(pub.slice(1));
@@ -144,18 +175,35 @@ export function parseAndValidate(message, opts) {
144
175
  if (opts.expectedNonce !== parsed.nonce) {
145
176
  return { ok: false, reason: 'nonce mismatch' };
146
177
  }
178
+ // ── What the signature was made FOR (ING-14) ──
179
+ if (opts.expectedChainId !== undefined && parsed.chainId !== opts.expectedChainId) {
180
+ return { ok: false, reason: `chain id ${parsed.chainId} is not the expected ${opts.expectedChainId}` };
181
+ }
182
+ if (opts.allowedUris !== undefined && !opts.allowedUris.includes(parsed.uri)) {
183
+ return { ok: false, reason: `uri "${parsed.uri}" not allowed` };
184
+ }
185
+ // ── When. Every comparison is written so NaN (an unparseable date, a broken clock or limit) FAILS ──
147
186
  const nowMs = (opts?.now ?? Date.now)();
148
- if (parsed.expirationTime) {
187
+ const maxAgeMs = opts.maxAgeMs ?? DEFAULT_SIWE_MAX_AGE_MS;
188
+ if (!Number.isFinite(nowMs) || Number.isNaN(maxAgeMs) || maxAgeMs <= 0)
189
+ return { ok: false, reason: 'verifier clock or maxAgeMs is not a usable number' };
190
+ if (parsed.expirationTime !== null) {
149
191
  const exp = Date.parse(parsed.expirationTime);
150
- if (Number.isNaN(exp) || exp < nowMs) {
192
+ if (!(exp > nowMs))
151
193
  return { ok: false, reason: 'message expired' };
152
- }
194
+ }
195
+ if (parsed.notBefore !== null) {
196
+ const nbf = Date.parse(parsed.notBefore);
197
+ if (!(nbf <= nowMs + 60_000))
198
+ return { ok: false, reason: 'message is not yet valid (Not Before)' };
153
199
  }
154
200
  const issued = Date.parse(parsed.issuedAt);
155
201
  if (Number.isNaN(issued))
156
202
  return { ok: false, reason: 'issuedAt unparseable' };
157
203
  if (issued > nowMs + 60_000)
158
204
  return { ok: false, reason: 'issuedAt is in the future' };
205
+ if (!(nowMs - issued <= maxAgeMs))
206
+ return { ok: false, reason: 'message is too old (Issued At)' };
159
207
  return { ok: true, parsed, digest: eip191Digest(message) };
160
208
  }
161
209
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"siwe.js","sourceRoot":"","sources":["../../src/methods/siwe.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"siwe.js","sourceRoot":"","sources":["../../src/methods/siwe.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,11 @@
1
- import { YOUVERSION_OIDC, oidcFacetId, type BeginLoginInput, type BeginLoginResult, type CompleteLoginInput, type CompleteLoginResult, type OidcPrincipal, type OidcTokens } from './google.js';
2
- export { oidcFacetId, YOUVERSION_OIDC };
3
- export type { BeginLoginResult, CompleteLoginResult, OidcPrincipal, OidcTokens };
4
- /** Start the YouVersion login — forces the YouVersion provider config. */
1
+ import { YOUVERSION_OIDC, oidcFacetId, OIDC_LOGIN_ATTEMPT_MAX_AGE_MS, type BeginLoginInput, type BeginLoginResult, type CompleteAttemptBoundLoginInput, type CompleteLoginResult, type OidcLoginAttemptStore, type OidcLoginAttemptV1, type OidcPrincipal, type OidcTokens } from './google.js';
2
+ export { oidcFacetId, YOUVERSION_OIDC, OIDC_LOGIN_ATTEMPT_MAX_AGE_MS };
3
+ export type { BeginLoginResult, CompleteLoginResult, OidcLoginAttemptStore, OidcLoginAttemptV1, OidcPrincipal, OidcTokens };
4
+ /** Start the YouVersion login — forces the YouVersion provider config. Store the returned
5
+ * `{ state, nonce, codeVerifier }` with the `redirectUri` and `createdAtMs` as an `OidcLoginAttemptV1`
6
+ * under `state` in a single-use store; `completeLogin` takes it. */
5
7
  export declare function beginLogin(input: Omit<BeginLoginInput, 'config'>): BeginLoginResult;
6
8
  /** Complete the YouVersion login: public PKCE (no `client_secret`), no `email_verified` requirement, and
7
- * no `nonce` requirement (YouVersion's multi-leg /authorize→/callback→/token flow doesn't round-trip the
8
- * authorize nonce into the id_token; PKCE binds the exchange instead). */
9
- export declare function completeLogin(input: Omit<CompleteLoginInput, 'config' | 'clientSecret' | 'requireEmailVerified' | 'requireNonce'>): Promise<CompleteLoginResult>;
9
+ * the token bound to the single-use attempt record taken under the returned `state` (see file header). */
10
+ export declare function completeLogin(input: Omit<CompleteAttemptBoundLoginInput, 'config' | 'clientSecret' | 'requireEmailVerified'>): Promise<CompleteLoginResult>;
10
11
  //# sourceMappingURL=youversion.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"youversion.d.ts","sourceRoot":"","sources":["../../src/methods/youversion.ts"],"names":[],"mappings":"AAKA,OAAO,EAGL,eAAe,EACf,WAAW,EACX,KAAK,eAAe,EACpB,KAAK,gBAAgB,EACrB,KAAK,kBAAkB,EACvB,KAAK,mBAAmB,EACxB,KAAK,aAAa,EAClB,KAAK,UAAU,EAChB,MAAM,aAAa,CAAC;AAErB,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,CAAC;AACxC,YAAY,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,aAAa,EAAE,UAAU,EAAE,CAAC;AAEjF,0EAA0E;AAC1E,wBAAgB,UAAU,CAAC,KAAK,EAAE,IAAI,CAAC,eAAe,EAAE,QAAQ,CAAC,GAAG,gBAAgB,CAEnF;AAED;;2EAE2E;AAC3E,wBAAgB,aAAa,CAC3B,KAAK,EAAE,IAAI,CAAC,kBAAkB,EAAE,QAAQ,GAAG,cAAc,GAAG,sBAAsB,GAAG,cAAc,CAAC,GACnG,OAAO,CAAC,mBAAmB,CAAC,CAE9B"}
1
+ {"version":3,"file":"youversion.d.ts","sourceRoot":"","sources":["../../src/methods/youversion.ts"],"names":[],"mappings":"AAYA,OAAO,EAGL,eAAe,EACf,WAAW,EACX,6BAA6B,EAC7B,KAAK,eAAe,EACpB,KAAK,gBAAgB,EACrB,KAAK,8BAA8B,EACnC,KAAK,mBAAmB,EACxB,KAAK,qBAAqB,EAC1B,KAAK,kBAAkB,EACvB,KAAK,aAAa,EAClB,KAAK,UAAU,EAChB,MAAM,aAAa,CAAC;AAErB,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,6BAA6B,EAAE,CAAC;AACvE,YAAY,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,aAAa,EAAE,UAAU,EAAE,CAAC;AAE5H;;qEAEqE;AACrE,wBAAgB,UAAU,CAAC,KAAK,EAAE,IAAI,CAAC,eAAe,EAAE,QAAQ,CAAC,GAAG,gBAAgB,CAEnF;AAED;2GAC2G;AAC3G,wBAAgB,aAAa,CAC3B,KAAK,EAAE,IAAI,CAAC,8BAA8B,EAAE,QAAQ,GAAG,cAAc,GAAG,sBAAsB,CAAC,GAC9F,OAAO,CAAC,mBAAmB,CAAC,CAE9B"}
@@ -1,18 +1,26 @@
1
1
  // YouVersion Platform OIDC auth method — a thin binding over the generic OIDC implementation in
2
2
  // `./google` (authorization-code + PKCE/S256 + state + nonce + RS256 id_token verification against the
3
- // provider JWKS). YouVersion differs from Google in two ways, pre-set here so callers can't get them
4
- // wrong: it is a PUBLIC PKCE client (NO client_secret) and it does not assert `email_verified`. The
5
- // (iss, sub) facet model is identical. Endpoints: developers.youversion.com/sign-in-apis.
6
- import { beginLogin as beginOidcLogin, completeLogin as completeOidcLogin, YOUVERSION_OIDC, oidcFacetId, } from './google.js';
7
- export { oidcFacetId, YOUVERSION_OIDC };
8
- /** Start the YouVersion login — forces the YouVersion provider config. */
3
+ // provider JWKS). YouVersion differs from Google in three ways, pre-set here so callers can't get them
4
+ // wrong: it is a PUBLIC PKCE client (NO client_secret), it does not assert `email_verified`, and its
5
+ // multi-leg /authorize→/callback→/token flow does not round-trip the authorize nonce into the id_token.
6
+ // The (iss, sub) facet model is identical. Endpoints: developers.youversion.com/sign-in-apis.
7
+ //
8
+ // Spec 445 W0 (2026-11-10): the nonce check is NOT turned off. Because the id_token cannot carry the
9
+ // nonce, the sign-in is bound to THIS login attempt instead by `state` + PKCE (S256) + a single-use,
10
+ // short-lived server-side attempt record the consumer stores at `beginLogin` and `take`s here
11
+ // (`completeAttemptBoundLogin`). A token whose attempt is unknown, already used or stale is refused; a
12
+ // nonce the token does carry must still match.
13
+ import { beginLogin as beginOidcLogin, completeAttemptBoundLogin, YOUVERSION_OIDC, oidcFacetId, OIDC_LOGIN_ATTEMPT_MAX_AGE_MS, } from './google.js';
14
+ export { oidcFacetId, YOUVERSION_OIDC, OIDC_LOGIN_ATTEMPT_MAX_AGE_MS };
15
+ /** Start the YouVersion login — forces the YouVersion provider config. Store the returned
16
+ * `{ state, nonce, codeVerifier }` with the `redirectUri` and `createdAtMs` as an `OidcLoginAttemptV1`
17
+ * under `state` in a single-use store; `completeLogin` takes it. */
9
18
  export function beginLogin(input) {
10
19
  return beginOidcLogin({ ...input, config: YOUVERSION_OIDC });
11
20
  }
12
21
  /** Complete the YouVersion login: public PKCE (no `client_secret`), no `email_verified` requirement, and
13
- * no `nonce` requirement (YouVersion's multi-leg /authorize→/callback→/token flow doesn't round-trip the
14
- * authorize nonce into the id_token; PKCE binds the exchange instead). */
22
+ * the token bound to the single-use attempt record taken under the returned `state` (see file header). */
15
23
  export function completeLogin(input) {
16
- return completeOidcLogin({ ...input, config: YOUVERSION_OIDC, requireEmailVerified: false, requireNonce: false });
24
+ return completeAttemptBoundLogin({ ...input, config: YOUVERSION_OIDC, requireEmailVerified: false });
17
25
  }
18
26
  //# sourceMappingURL=youversion.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"youversion.js","sourceRoot":"","sources":["../../src/methods/youversion.ts"],"names":[],"mappings":"AAAA,gGAAgG;AAChG,uGAAuG;AACvG,qGAAqG;AACrG,oGAAoG;AACpG,0FAA0F;AAC1F,OAAO,EACL,UAAU,IAAI,cAAc,EAC5B,aAAa,IAAI,iBAAiB,EAClC,eAAe,EACf,WAAW,GAOZ,MAAM,aAAa,CAAC;AAErB,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,CAAC;AAGxC,0EAA0E;AAC1E,MAAM,UAAU,UAAU,CAAC,KAAsC;IAC/D,OAAO,cAAc,CAAC,EAAE,GAAG,KAAK,EAAE,MAAM,EAAE,eAAe,EAAE,CAAC,CAAC;AAC/D,CAAC;AAED;;2EAE2E;AAC3E,MAAM,UAAU,aAAa,CAC3B,KAAoG;IAEpG,OAAO,iBAAiB,CAAC,EAAE,GAAG,KAAK,EAAE,MAAM,EAAE,eAAe,EAAE,oBAAoB,EAAE,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,CAAC,CAAC;AACpH,CAAC"}
1
+ {"version":3,"file":"youversion.js","sourceRoot":"","sources":["../../src/methods/youversion.ts"],"names":[],"mappings":"AAAA,gGAAgG;AAChG,uGAAuG;AACvG,uGAAuG;AACvG,qGAAqG;AACrG,wGAAwG;AACxG,8FAA8F;AAC9F,EAAE;AACF,qGAAqG;AACrG,qGAAqG;AACrG,8FAA8F;AAC9F,uGAAuG;AACvG,+CAA+C;AAC/C,OAAO,EACL,UAAU,IAAI,cAAc,EAC5B,yBAAyB,EACzB,eAAe,EACf,WAAW,EACX,6BAA6B,GAS9B,MAAM,aAAa,CAAC;AAErB,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,6BAA6B,EAAE,CAAC;AAGvE;;qEAEqE;AACrE,MAAM,UAAU,UAAU,CAAC,KAAsC;IAC/D,OAAO,cAAc,CAAC,EAAE,GAAG,KAAK,EAAE,MAAM,EAAE,eAAe,EAAE,CAAC,CAAC;AAC/D,CAAC;AAED;2GAC2G;AAC3G,MAAM,UAAU,aAAa,CAC3B,KAA+F;IAE/F,OAAO,yBAAyB,CAAC,EAAE,GAAG,KAAK,EAAE,MAAM,EAAE,eAAe,EAAE,oBAAoB,EAAE,KAAK,EAAE,CAAC,CAAC;AACvG,CAAC"}
@@ -1,6 +1,16 @@
1
1
  import type { JwtClaims } from './types.js';
2
2
  export declare const SESSION_COOKIE = "agentic-session";
3
3
  export declare const SESSION_TTL_SECONDS = 86400;
4
+ /** Spec 445 §9 decision 8 (D6): an HS256 session secret is at least 32 DECODED bytes (256 bits — the
5
+ * HMAC-SHA-256 output size). Was 16. */
6
+ export declare const SESSION_SECRET_MIN_BYTES = 32;
7
+ /**
8
+ * Configuration-time check (spec 445 D6): call at Worker / server START with the configured value
9
+ * (default `process.env.SESSION_JWT_SECRETS`) so a short, malformed or missing secret fails the deploy's
10
+ * boot, never a person's first sign-in. Throws the same error `mintSession` would; returns the kids.
11
+ * Every key — including a verify-only rotation key — must meet `SESSION_SECRET_MIN_BYTES`.
12
+ */
13
+ export declare function assertSessionSecrets(...args: [value?: string]): string[];
4
14
  /**
5
15
  * R5.10 / PKG-CONNECT-AUTH-003 (external audit P1-1).
6
16
  *
@@ -1 +1 @@
1
- {"version":3,"file":"sessions.d.ts","sourceRoot":"","sources":["../src/sessions.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAE5C,eAAO,MAAM,cAAc,oBAAoB,CAAC;AAChD,eAAO,MAAM,mBAAmB,QAAS,CAAC;AAyE1C;;;;;;;;GAQG;AACH,eAAO,MAAM,8BAA8B,KAAK,CAAC;AAEjD,MAAM,WAAW,iBAAiB;IAChC;;;;;;OAMG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;;;;OAMG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,uDAAuD;IACvD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;;;OAIG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B;;;;;;;;;OASG;IACH,SAAS,CAAC,EAAE,CAAC,MAAM,EAAE,SAAS,KAAK,OAAO,CAAC;CAC5C;AA6BD;;;;;;;;;GASG;AACH,wBAAgB,WAAW,CACzB,MAAM,EAAE,IAAI,CAAC,SAAS,EAAE,KAAK,GAAG,KAAK,GAAG,KAAK,CAAC,GAAG;IAAE,GAAG,CAAC,EAAE,MAAM,CAAA;CAAE,GAChE,MAAM,CAgBR;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,aAAa,CAC3B,WAAW,EAAE,MAAM,EACnB,IAAI,CAAC,EAAE,iBAAiB,GACvB,SAAS,GAAG,IAAI,CAoGlB"}
1
+ {"version":3,"file":"sessions.d.ts","sourceRoot":"","sources":["../src/sessions.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAE5C,eAAO,MAAM,cAAc,oBAAoB,CAAC;AAChD,eAAO,MAAM,mBAAmB,QAAS,CAAC;AAS1C;yCACyC;AACzC,eAAO,MAAM,wBAAwB,KAAK,CAAC;AAuC3C;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,IAAI,EAAE,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,GAAG,MAAM,EAAE,CAGxE;AAwCD;;;;;;;;GAQG;AACH,eAAO,MAAM,8BAA8B,KAAK,CAAC;AAEjD,MAAM,WAAW,iBAAiB;IAChC;;;;;;OAMG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;;;;OAMG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,uDAAuD;IACvD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;;;OAIG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B;;;;;;;;;OASG;IACH,SAAS,CAAC,EAAE,CAAC,MAAM,EAAE,SAAS,KAAK,OAAO,CAAC;CAC5C;AAuBD;;;;;;;;;GASG;AACH,wBAAgB,WAAW,CACzB,MAAM,EAAE,IAAI,CAAC,SAAS,EAAE,KAAK,GAAG,KAAK,GAAG,KAAK,CAAC,GAAG;IAAE,GAAG,CAAC,EAAE,MAAM,CAAA;CAAE,GAChE,MAAM,CAgBR;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,aAAa,CAC3B,WAAW,EAAE,MAAM,EACnB,IAAI,CAAC,EAAE,iBAAiB,GACvB,SAAS,GAAG,IAAI,CA2GlB"}
package/dist/sessions.js CHANGED
@@ -9,8 +9,12 @@ import { hexToBytes } from 'viem';
9
9
  export const SESSION_COOKIE = 'agentic-session';
10
10
  export const SESSION_TTL_SECONDS = 86_400; // 24h
11
11
  const JWT_HEADER = { alg: 'HS256', typ: 'JWT' };
12
- function loadKeys() {
13
- const env = process.env.SESSION_JWT_SECRETS;
12
+ /** Spec 445 §9 decision 8 (D6): an HS256 session secret is at least 32 DECODED bytes (256 bits — the
13
+ * HMAC-SHA-256 output size). Was 16. */
14
+ export const SESSION_SECRET_MIN_BYTES = 32;
15
+ /** Parse + validate a `SESSION_JWT_SECRETS` value (`kid1:hex,kid2:hex`). Throws a clear configuration error;
16
+ * never echoes a secret (only its kid and decoded length). */
17
+ function parseSessionSecrets(env) {
14
18
  if (!env) {
15
19
  throw new Error('connect-auth: SESSION_JWT_SECRETS is required (format: kid1:hex,kid2:hex). Generate one: openssl rand -hex 32');
16
20
  }
@@ -21,15 +25,19 @@ function loadKeys() {
21
25
  continue;
22
26
  const idx = trimmed.indexOf(':');
23
27
  if (idx <= 0) {
24
- throw new Error(`connect-auth: malformed SESSION_JWT_SECRETS entry "${trimmed}" (expected "kid:hex")`);
28
+ // The entry is NOT echoed: a malformed entry may still be (part of) a secret.
29
+ throw new Error('connect-auth: malformed SESSION_JWT_SECRETS entry (expected "kid:hex")');
25
30
  }
26
31
  const kid = trimmed.slice(0, idx);
27
32
  let hex = trimmed.slice(idx + 1);
28
- if (!hex.startsWith('0x'))
29
- hex = '0x' + hex;
30
- const secret = hexToBytes(hex);
31
- if (secret.length < 16) {
32
- throw new Error(`connect-auth: SESSION_JWT_SECRETS key "${kid}" too short (need ≥ 16 bytes)`);
33
+ if (hex.startsWith('0x'))
34
+ hex = hex.slice(2);
35
+ if (hex.length === 0 || hex.length % 2 !== 0 || !/^[0-9a-fA-F]+$/.test(hex)) {
36
+ throw new Error(`connect-auth: SESSION_JWT_SECRETS key "${kid}" is not even-length hex`);
37
+ }
38
+ const secret = hexToBytes(`0x${hex}`);
39
+ if (secret.length < SESSION_SECRET_MIN_BYTES) {
40
+ throw new Error(`connect-auth: SESSION_JWT_SECRETS key "${kid}" too short (${secret.length} bytes; need ≥ ${SESSION_SECRET_MIN_BYTES} bytes — openssl rand -hex 32)`);
33
41
  }
34
42
  out.push({ kid, secret });
35
43
  }
@@ -38,6 +46,19 @@ function loadKeys() {
38
46
  }
39
47
  return out;
40
48
  }
49
+ /**
50
+ * Configuration-time check (spec 445 D6): call at Worker / server START with the configured value
51
+ * (default `process.env.SESSION_JWT_SECRETS`) so a short, malformed or missing secret fails the deploy's
52
+ * boot, never a person's first sign-in. Throws the same error `mintSession` would; returns the kids.
53
+ * Every key — including a verify-only rotation key — must meet `SESSION_SECRET_MIN_BYTES`.
54
+ */
55
+ export function assertSessionSecrets(...args) {
56
+ const value = args.length > 0 ? args[0] : typeof process !== 'undefined' ? process.env.SESSION_JWT_SECRETS : undefined;
57
+ return parseSessionSecrets(value).map((k) => k.kid);
58
+ }
59
+ function loadKeys() {
60
+ return parseSessionSecrets(process.env.SESSION_JWT_SECRETS);
61
+ }
41
62
  function base64urlEncode(bytes) {
42
63
  const data = typeof bytes === 'string' ? new TextEncoder().encode(bytes) : bytes;
43
64
  let s = '';
@@ -97,17 +118,9 @@ function randomSid() {
97
118
  // 128 bits is the canonical OAuth `state` / OIDC `nonce` size.
98
119
  // Worker / Node 18+ / browsers all expose `crypto.getRandomValues`.
99
120
  const bytes = new Uint8Array(16);
100
- try {
101
- crypto.getRandomValues(bytes);
102
- }
103
- catch {
104
- // Fallback for environments without WebCrypto (vanishingly rare on
105
- // the runtimes we support; Math.random is NOT a security boundary
106
- // but the sid is one of multiple defense layers, so this is
107
- // documentation-grade rather than load-bearing).
108
- for (let i = 0; i < bytes.length; i++)
109
- bytes[i] = Math.floor(Math.random() * 256);
110
- }
121
+ // No fallback (spec 445 / ING-16): the session id is a security value, and `Math.random` is not randomness.
122
+ // A runtime without WebCrypto cannot mint a session — it throws rather than mint a guessable one.
123
+ crypto.getRandomValues(bytes);
111
124
  let s = '';
112
125
  for (const b of bytes)
113
126
  s += b.toString(16).padStart(2, '0');
@@ -215,12 +228,20 @@ export function verifySession(cookieValue, opts) {
215
228
  const now = Math.floor(Date.now() / 1000);
216
229
  const skew = opts?.clockSkewSec ?? DEFAULT_SESSION_CLOCK_SKEW_SEC;
217
230
  // Expiration check with skew (canonical RFC 7519 §4.1.4).
218
- if (typeof claims.exp !== 'number' || claims.exp + skew < now)
231
+ // Every time comparison below is written so that NaN — a non-finite `exp` / `iat` / `nbf`, or a NaN skew —
232
+ // FAILS: `NaN + skew < now` is false, which read a NaN expiry as "not expired" (ING-16).
233
+ if (!Number.isFinite(skew) || skew < 0)
234
+ return null;
235
+ if (typeof claims.exp !== 'number' || !(claims.exp + skew >= now))
219
236
  return null;
220
237
  // R5.10: future-iat reject (defends against a misconfigured /
221
238
  // malicious mint server emitting tokens with iat well in the future,
222
239
  // which would otherwise outlive the TTL window).
223
- if (typeof claims.iat !== 'number' || claims.iat - skew > now)
240
+ if (typeof claims.iat !== 'number' || !(claims.iat - skew <= now))
241
+ return null;
242
+ // RFC 7519 §4.1.5 — a token that carries `nbf` is not valid before it (ING-16: it was not read at all).
243
+ const nbf = claims.nbf;
244
+ if (nbf !== undefined && nbf !== null && (typeof nbf !== 'number' || !(nbf - skew <= now)))
224
245
  return null;
225
246
  // R5.10: iss binding (when expected).
226
247
  if (opts?.expectedIss !== undefined) {
@@ -1 +1 @@
1
- {"version":3,"file":"sessions.js","sourceRoot":"","sources":["../src/sessions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sessions.js","sourceRoot":"","sources":["../src/sessions.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@agenticprimitives/connect-auth",
3
- "version": "1.0.0-alpha.46",
3
+ "version": "1.0.0-alpha.47",
4
4
  "description": "User authentication (passkey + SIWE + Google OAuth), JWT sessions, and pluggable signer interfaces.",
5
5
  "homepage": "https://agenticprimitives.dev",
6
6
  "bugs": {
@@ -56,7 +56,7 @@
56
56
  },
57
57
  "peerDependencies": {
58
58
  "viem": "^2.52.2",
59
- "@agenticprimitives/types": "^1.0.0-alpha.46"
59
+ "@agenticprimitives/types": "^1.0.0-alpha.47"
60
60
  },
61
61
  "devDependencies": {
62
62
  "vitest": "^4.1.11"