clearauth 0.4.0 → 0.4.1

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/CHANGELOG.md CHANGED
@@ -7,6 +7,16 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
+ ### Fixed
11
+
12
+ - **Automatic Cloudflare Workers PBKDF2 Iteration Count** - ClearAuth now automatically detects Cloudflare Workers environment and uses 100,000 PBKDF2 iterations (instead of 600,000) to comply with Cloudflare's WebCrypto PBKDF2 iteration limit. This prevents "iteration counts above 100000 are not supported" errors when using email/password authentication on Cloudflare Workers.
13
+ - Runtime environment detection for Cloudflare Workers
14
+ - Automatic fallback to 100,000 iterations on Cloudflare Workers
15
+ - Maintains 600,000 iterations (OWASP recommended) for other environments
16
+ - No configuration required - works automatically
17
+ - Updated documentation in `CLOUDFLARE.md` with detailed explanation
18
+ - Added JSDoc comments explaining the automatic detection
19
+
10
20
  ## [0.4.0] - 2026-01-12
11
21
 
12
22
  ### Added
@@ -135,6 +135,8 @@ export type CreateClearAuthOptions = {
135
135
  * ```ts
136
136
  * import { createClearAuth, defaultSessionConfig } from 'clearauth'
137
137
  *
138
+ * // ClearAuth automatically detects Cloudflare Workers and uses 100,000 PBKDF2 iterations
139
+ * // (instead of the default 600,000) to comply with Cloudflare's WebCrypto limits
138
140
  * const config = createClearAuth({
139
141
  * secret: env.AUTH_SECRET,
140
142
  * baseUrl: 'https://yourdomain.com',
@@ -104,6 +104,8 @@ function isSimpleDatabaseConfig(db) {
104
104
  * ```ts
105
105
  * import { createClearAuth, defaultSessionConfig } from 'clearauth'
106
106
  *
107
+ * // ClearAuth automatically detects Cloudflare Workers and uses 100,000 PBKDF2 iterations
108
+ * // (instead of the default 600,000) to comply with Cloudflare's WebCrypto limits
107
109
  * const config = createClearAuth({
108
110
  * secret: env.AUTH_SECRET,
109
111
  * baseUrl: 'https://yourdomain.com',
@@ -1 +1 @@
1
- {"version":3,"file":"createMechAuth.js","sourceRoot":"","sources":["../src/createMechAuth.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"createMechAuth.js","sourceRoot":"","sources":["../src/createMechAuth.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,gBAAgB,EAAyB,MAAM,kBAAkB,CAAA;AAC1E,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAA;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAE9C,OAAO,EAAE,0BAA0B,EAAE,MAAM,sBAAsB,CAAA;AAEjE,+EAA+E;AAC/E,2BAA2B;AAC3B,+EAA+E;AAE/E;;;;;GAKG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG;IAClC,SAAS,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,SAAS;IACtC,MAAM,EAAE;QACN,IAAI,EAAE,SAAS;QACf,QAAQ,EAAE,IAAI;QACd,QAAQ,EAAE,KAAc;QACxB,IAAI,EAAE,GAAG;KACV;CACO,CAAA;AAEV;;;;GAIG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,SAAS,EAAE,EAAE,GAAG,EAAE,EAAE,SAAS;IAC7B,MAAM,EAAE;QACN,IAAI,EAAE,SAAS;QACf,QAAQ,EAAE,IAAI;QACd,QAAQ,EAAE,QAAiB;QAC3B,IAAI,EAAE,GAAG;KACV;CACO,CAAA;AAEV;;;;GAIG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,SAAS,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,UAAU;IACxC,MAAM,EAAE;QACN,IAAI,EAAE,SAAS;QACf,QAAQ,EAAE,IAAI;QACd,QAAQ,EAAE,KAAc;QACxB,IAAI,EAAE,GAAG;KACV;CACO,CAAA;AAgDV;;GAEG;AACH,SAAS,sBAAsB,CAAC,EAAW;IACzC,OAAO,EAAE,KAAK,IAAI,IAAI,OAAO,EAAE,KAAK,QAAQ,IAAI,OAAO,IAAI,EAAE,IAAI,QAAQ,IAAI,EAAE,CAAA;AACjF,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmFG;AACH,MAAM,UAAU,eAAe,CAAC,OAA+B;IAC7D,MAAM,MAAM,GAAG,gBAAgB,EAAE,CAAA;IAEjC,2BAA2B;IAC3B,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;QACpB,MAAM,IAAI,oBAAoB,CAAC,oBAAoB,EAAE,EAAE,YAAY,EAAE,OAAO,CAAC,YAAY,EAAE,CAAC,CAAA;IAC9F,CAAC;IAED,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;QACrB,MAAM,IAAI,oBAAoB,CAAC,qBAAqB,EAAE,EAAE,YAAY,EAAE,OAAO,CAAC,YAAY,EAAE,CAAC,CAAA;IAC/F,CAAC;IAED,kCAAkC;IAClC,IAAI,OAAO,CAAC,MAAM,KAAK,8BAA8B,IAAI,OAAO,CAAC,MAAM,KAAK,gBAAgB,EAAE,CAAC;QAC7F,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;YACzB,MAAM,IAAI,oBAAoB,CAC5B,yCAAyC,EACzC,EAAE,YAAY,EAAE,OAAO,CAAC,YAAY,EAAE,CACvC,CAAA;QACH,CAAC;QACD,MAAM,CAAC,IAAI,CAAC,yDAAyD,CAAC,CAAA;IACxE,CAAC;IAED,mCAAmC;IACnC,IAAI,YAA8B,CAAA;IAElC,IAAI,sBAAsB,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC7C,4CAA4C;QAC5C,MAAM,CAAC,KAAK,CAAC,sDAAsD,CAAC,CAAA;QACpE,YAAY,GAAG;YACb,KAAK,EAAE,OAAO,CAAC,QAAQ,CAAC,KAAK;YAC7B,MAAM,EAAE,OAAO,CAAC,QAAQ,CAAC,MAAM;YAC/B,OAAO,EAAE,OAAO,CAAC,QAAQ,CAAC,OAAO;YACjC,WAAW,EAAE,OAAO,CAAC,QAAQ,CAAC,WAAW;YACzC,OAAO,EAAE,OAAO,CAAC,QAAQ,CAAC,OAAO;YACjC,UAAU,EAAE,OAAO,CAAC,QAAQ,CAAC,UAAU;SACxC,CAAA;IACH,CAAC;SAAM,IAAI,QAAQ,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;QACxC,mDAAmD;QACnD,MAAM,CAAC,KAAK,CAAC,gDAAgD,CAAC,CAAA;QAC9D,YAAY,GAAG,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAA;IACxC,CAAC;SAAM,CAAC;QACN,MAAM,IAAI,oBAAoB,CAAC,uCAAuC,EAAE;YACtE,QAAQ,EAAE,OAAO,CAAC,QAAQ;SAC3B,CAAC,CAAA;IACJ,CAAC;IAED,IAAI,CAAC;QACH,MAAM,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAA;QAC3C,MAAM,EAAE,GAAG,gBAAgB,CAAC,YAAY,CAAC,CAAA;QACzC,MAAM,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAA;QAE3C,qBAAqB;QACrB,MAAM,MAAM,GAAoB;YAC9B,QAAQ,EAAE,EAAE;YACZ,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,YAAY,EAAE,OAAO,CAAC,YAAY,IAAI,KAAK;YAC3C,OAAO,EAAE,OAAO,CAAC,OAAO,IAAI,oBAAoB;YAChD,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,QAAQ,EAAE,OAAO,CAAC,QAAQ,IAAI;gBAC5B,SAAS,EAAE,CAAC;aACb;YACD,cAAc,EAAE,OAAO,CAAC,cAAc,IAAI,0BAA0B,EAAE;SACvE,CAAA;QAED,OAAO,MAAM,CAAA;IACf,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,GAAG,YAAY,oBAAoB,EAAE,CAAC;YACxC,MAAM,GAAG,CAAA;QACX,CAAC;QACD,MAAM,IAAI,oBAAoB,CAAC,sCAAuC,GAAa,CAAC,OAAO,EAAE,EAAE;YAC7F,aAAa,EAAG,GAAa,CAAC,OAAO;SACtC,CAAC,CAAA;IACJ,CAAC;AACH,CAAC"}
@@ -3,10 +3,21 @@ export interface PasswordHasher {
3
3
  hash(password: string): Promise<string>;
4
4
  verify(hash: string, password: string): Promise<boolean>;
5
5
  }
6
+ /**
7
+ * Options for PBKDF2 password hasher
8
+ *
9
+ * Note: ClearAuth automatically detects Cloudflare Workers and uses 100,000 iterations
10
+ * (instead of 600,000) to comply with Cloudflare's WebCrypto PBKDF2 iteration limit.
11
+ * You can override this by explicitly setting the iterations option.
12
+ */
6
13
  export type Pbkdf2PasswordHasherOptions = {
14
+ /** Number of PBKDF2 iterations. Defaults to 600,000 (OWASP recommended) or 100,000 for Cloudflare Workers */
7
15
  iterations?: number;
16
+ /** Hash algorithm. Defaults to 'SHA-256' */
8
17
  hash?: 'SHA-256' | 'SHA-512';
18
+ /** Salt length in bytes. Defaults to 16 */
9
19
  saltLength?: number;
20
+ /** Derived key length in bytes. Defaults to 32 */
10
21
  keyLength?: number;
11
22
  };
12
23
  export declare function createPbkdf2PasswordHasher(options?: Pbkdf2PasswordHasherOptions): PasswordHasher;
@@ -30,8 +30,27 @@ async function pbkdf2DeriveKeyBytes(params) {
30
30
  }, keyMaterial, params.keyLength * 8);
31
31
  return new Uint8Array(bits);
32
32
  }
33
+ /**
34
+ * Detect if running in Cloudflare Workers environment
35
+ * Cloudflare Workers have a PBKDF2 iteration limit of 100,000
36
+ */
37
+ function isCloudflareWorkers() {
38
+ // Check for Cloudflare Workers-specific globals
39
+ // Workers have 'caches' but no 'window' or 'process'
40
+ if (typeof globalThis === 'undefined')
41
+ return false;
42
+ const hasWorkersGlobals = 'caches' in globalThis &&
43
+ 'Request' in globalThis &&
44
+ 'Response' in globalThis;
45
+ const isNotBrowser = typeof window === 'undefined';
46
+ const isNotNode = typeof process === 'undefined' || !process.versions?.node;
47
+ return hasWorkersGlobals && isNotBrowser && isNotNode;
48
+ }
33
49
  export function createPbkdf2PasswordHasher(options = {}) {
34
- const iterations = options.iterations ?? 600000;
50
+ // Cloudflare Workers limit PBKDF2 to 100,000 iterations
51
+ // Use 100,000 for Cloudflare, 600,000 (OWASP recommended) for other environments
52
+ const defaultIterations = isCloudflareWorkers() ? 100000 : 600000;
53
+ const iterations = options.iterations ?? defaultIterations;
35
54
  const hash = options.hash ?? 'SHA-256';
36
55
  const saltLength = options.saltLength ?? 16;
37
56
  const keyLength = options.keyLength ?? 32;
@@ -1 +1 @@
1
- {"version":3,"file":"password-hasher.js","sourceRoot":"","sources":["../src/password-hasher.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AAezC,SAAS,wBAAwB,CAAC,KAAiB;IACjD,OAAO,SAAS,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,cAAc,EAAE,KAAK,EAAE,CAAC,CAAA;AAC3D,CAAC;AAED,SAAS,wBAAwB,CAAC,KAAa;IAC7C,OAAO,SAAS,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAA;AACnD,CAAC;AAED,SAAS,eAAe,CAAC,CAAa,EAAE,CAAa;IACnD,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,MAAM,EAAE,CAAC;QAC1B,OAAO,KAAK,CAAA;IACd,CAAC;IACD,IAAI,IAAI,GAAG,CAAC,CAAA;IACZ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAClC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;IACrB,CAAC;IACD,OAAO,IAAI,KAAK,CAAC,CAAA;AACnB,CAAC;AAED,KAAK,UAAU,oBAAoB,CAAC,MAMnC;IACC,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAA;IACjC,MAAM,WAAW,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE;QACzG,YAAY;KACb,CAAC,CAAA;IAEF,iGAAiG;IACjG,MAAM,gBAAgB,GAAG,MAAM,CAAC,IAA+B,CAAA;IAC/D,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,UAAU,CACzC;QACE,IAAI,EAAE,QAAQ;QACd,IAAI,EAAE,gBAAgB;QACtB,UAAU,EAAE,MAAM,CAAC,UAAU;QAC7B,IAAI,EAAE,MAAM,CAAC,IAAI;KAClB,EACD,WAAW,EACX,MAAM,CAAC,SAAS,GAAG,CAAC,CACrB,CAAA;IACD,OAAO,IAAI,UAAU,CAAC,IAAI,CAAC,CAAA;AAC7B,CAAC;AAED,MAAM,UAAU,0BAA0B,CAAC,UAAuC,EAAE;IAClF,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,IAAI,MAAO,CAAA;IAChD,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,SAAS,CAAA;IACtC,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,IAAI,EAAE,CAAA;IAC3C,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,EAAE,CAAA;IAEzC,MAAM,cAAc,GAAG,MAAO,CAAA;IAC9B,MAAM,cAAc,GAAG,OAAS,CAAA;IAChC,MAAM,cAAc,GAAG,EAAE,CAAA;IACzB,MAAM,cAAc,GAAG,EAAE,CAAA;IACzB,MAAM,eAAe,GAAG,CAAC,CAAA;IACzB,MAAM,eAAe,GAAG,EAAE,CAAA;IAE1B,OAAO;QACL,EAAE,EAAE,QAAQ;QACZ,KAAK,CAAC,IAAI,CAAC,QAAgB;YACzB,MAAM,IAAI,GAAG,IAAI,UAAU,CAAC,UAAU,CAAC,CAAA;YACvC,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,CAAA;YAC5B,MAAM,UAAU,GAAG,MAAM,oBAAoB,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAA;YAE9F,MAAM,OAAO,GAAG,wBAAwB,CAAC,IAAI,CAAC,CAAA;YAC9C,MAAM,MAAM,GAAG,wBAAwB,CAAC,UAAU,CAAC,CAAA;YACnD,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAA;YAEpD,OAAO,WAAW,QAAQ,MAAM,UAAU,MAAM,SAAS,IAAI,OAAO,IAAI,MAAM,EAAE,CAAA;QAClF,CAAC;QACD,KAAK,CAAC,MAAM,CAAC,UAAkB,EAAE,QAAgB;YAC/C,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;gBACvC,OAAO,KAAK,CAAA;YACd,CAAC;YAED,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;YACnC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACvB,OAAO,KAAK,CAAA;YACd,CAAC;YAED,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC,CAAA;YAC1B,MAAM,cAAc,GAAG,KAAK,CAAC,CAAC,CAAC,CAAA;YAC/B,MAAM,aAAa,GAAG,KAAK,CAAC,CAAC,CAAC,CAAA;YAC9B,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAC,CAAA;YACzB,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,CAAA;YAExB,IAAI,CAAC,cAAc,EAAE,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC1E,OAAO,KAAK,CAAA;YACd,CAAC;YAED,MAAM,gBAAgB,GAAG,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;YACxD,MAAM,eAAe,GAAG,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;YACtD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAAC,IAAI,gBAAgB,GAAG,cAAc,IAAI,gBAAgB,GAAG,cAAc,EAAE,CAAC;gBACjH,OAAO,KAAK,CAAA;YACd,CAAC;YACD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,eAAe,CAAC,IAAI,eAAe,GAAG,cAAc,IAAI,eAAe,GAAG,cAAc,EAAE,CAAC;gBAC9G,OAAO,KAAK,CAAA;YACd,CAAC;YAED,IAAI,UAAU,GAAiC,IAAI,CAAA;YACnD,IAAI,SAAS,KAAK,QAAQ,EAAE,CAAC;gBAC3B,UAAU,GAAG,SAAS,CAAA;YACxB,CAAC;iBAAM,IAAI,SAAS,KAAK,QAAQ,EAAE,CAAC;gBAClC,UAAU,GAAG,SAAS,CAAA;YACxB,CAAC;YACD,IAAI,CAAC,UAAU,EAAE,CAAC;gBAChB,OAAO,KAAK,CAAA;YACd,CAAC;YAED,IAAI,IAAgB,CAAA;YACpB,IAAI,WAAuB,CAAA;YAC3B,IAAI,CAAC;gBACH,IAAI,GAAG,wBAAwB,CAAC,QAAQ,CAAC,CAAA;gBACzC,WAAW,GAAG,wBAAwB,CAAC,OAAO,CAAC,CAAA;YACjD,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,KAAK,CAAA;YACd,CAAC;YAED,IAAI,IAAI,CAAC,MAAM,GAAG,eAAe,IAAI,IAAI,CAAC,MAAM,GAAG,eAAe,EAAE,CAAC;gBACnE,OAAO,KAAK,CAAA;YACd,CAAC;YACD,IAAI,WAAW,CAAC,MAAM,KAAK,eAAe,EAAE,CAAC;gBAC3C,OAAO,KAAK,CAAA;YACd,CAAC;YAED,MAAM,UAAU,GAAG,MAAM,oBAAoB,CAAC;gBAC5C,QAAQ;gBACR,IAAI;gBACJ,UAAU,EAAE,gBAAgB;gBAC5B,IAAI,EAAE,UAAU;gBAChB,SAAS,EAAE,eAAe;aAC3B,CAAC,CAAA;YAEF,OAAO,eAAe,CAAC,UAAU,EAAE,WAAW,CAAC,CAAA;QACjD,CAAC;KACF,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"password-hasher.js","sourceRoot":"","sources":["../src/password-hasher.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "clearauth",
3
- "version": "0.4.0",
3
+ "version": "0.4.1",
4
4
  "description": "ClearAuth: lightweight authentication library with Arctic OAuth, pluggable password hashing, and Kysely-backed storage",
5
5
  "keywords": [
6
6
  "clearauth",