@dreamshive/better-auth-tauri 0.1.2 → 0.1.4

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 CHANGED
@@ -54,6 +54,7 @@ Two things worth calling out:
54
54
 
55
55
  1. **`x-tauri-cookie` header smuggling.** The Fetch spec marks `Cookie` as a [forbidden header name](https://fetch.spec.whatwg.org/#forbidden-header-name). Webviews silently drop attempts to set it. We smuggle the session through `x-tauri-cookie` and the **server** plugin rewrites it back to `Cookie` before Better Auth inspects the request.
56
56
  2. **`disableRedirect: true` auto-injection.** Better Auth's Vue/React client normally navigates `window.location.href` to the OAuth URL — fine in a browser, catastrophic in a single-window Tauri app (the webview takes over with the provider's login page). The client plugin injects `disableRedirect: true` into `/sign-in/social` and `/sign-in/oauth2` requests so the client stays put.
57
+ 3. **Cookie mutations are serialized.** Response cookies, deep-link callbacks, and signout share one local mutation queue. A delayed response may revoke only the session it was sent with, and an OAuth callback cannot restore a session after explicit signout.
57
58
 
58
59
  ## Installation
59
60
 
package/dist/client.d.ts CHANGED
@@ -48,7 +48,7 @@ export interface TauriClientOptions {
48
48
  }
49
49
  export declare const tauriClient: (opts: TauriClientOptions) => {
50
50
  id: "tauri";
51
- getActions(_: import("@better-fetch/fetch").BetterFetch, $store: ClientStore, _options: import("better-auth").BetterAuthClientOptions | undefined): {
51
+ getActions(_: Parameters<NonNullable<BetterAuthClientPlugin["getActions"]>>[0], $store: ClientStore, _options: import("better-auth").BetterAuthClientOptions | undefined): {
52
52
  /**
53
53
  * Returns the currently-stored cookie string in the standard
54
54
  * `key=value; key2=value2` format — useful if you need to attach it
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,sBAAsB,EACtB,WAAW,EACZ,MAAM,oBAAoB,CAAC;AAe5B,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IACjE,OAAO,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC/D;AAED,MAAM,WAAW,kBAAkB;IACjC;;;;;OAKG;IACH,MAAM,EAAE,MAAM,CAAC;IAEf;;;;OAIG;IACH,OAAO,EAAE,kBAAkB,CAAC;IAE5B;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB;;;;;;;;;OASG;IACH,YAAY,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAEjC,uDAAuD;IACvD,YAAY,CAAC,EAAE,OAAO,CAAC;IAEvB;;;OAGG;IACH,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAE/B;;;OAGG;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC9B;AAsLD,eAAO,MAAM,WAAW,GAAI,MAAM,kBAAkB;;;QAoC5C;;;;WAIG;;;;;;;;;;;;;;;;;;;;;;;;;;;;6BA6M4kD,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iCAAD,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CANvlD,CAAC;AAEF,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAC5C,YAAY,EAAE,sBAAsB,EAAE,CAAC;AACvC,OAAO,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AACzD,OAAO,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAC"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,sBAAsB,EACtB,WAAW,EACZ,MAAM,oBAAoB,CAAC;AAe5B,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IACjE,OAAO,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC/D;AAED,MAAM,WAAW,kBAAkB;IACjC;;;;;OAKG;IACH,MAAM,EAAE,MAAM,CAAC;IAEf;;;;OAIG;IACH,OAAO,EAAE,kBAAkB,CAAC;IAE5B;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB;;;;;;;;;OASG;IACH,YAAY,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAEjC,uDAAuD;IACvD,YAAY,CAAC,EAAE,OAAO,CAAC;IAEvB;;;OAGG;IACH,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAE/B;;;OAGG;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC9B;AAoMD,eAAO,MAAM,WAAW,GAAI,MAAM,kBAAkB;;kBAwC3C,UAAU,CAAC,WAAW,CAAC,sBAAsB,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAkBjE;;;;WAIG;;;;;;;;;;;;;;;;;;;;;;;;;;;;6BA2M8B,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iCAAD,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgCzC,CAAC;AAEF,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAC5C,YAAY,EAAE,sBAAsB,EAAE,CAAC;AACvC,OAAO,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AACzD,OAAO,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAC"}
package/dist/client.js CHANGED
@@ -40,6 +40,20 @@ function getCookie(cookie) {
40
40
  return acc ? `${acc}; ${key}=${value.value}` : `${key}=${value.value}`;
41
41
  }, "");
42
42
  }
43
+ function getSessionCookieSignature(cookie) {
44
+ return cookie
45
+ .split(";")
46
+ .map((part) => part.trim())
47
+ .filter((part) => {
48
+ const separator = part.indexOf("=");
49
+ if (separator < 1)
50
+ return false;
51
+ const bare = stripSecureCookiePrefix(part.slice(0, separator));
52
+ return bare.endsWith("session_token") || bare.endsWith("session_data");
53
+ })
54
+ .sort()
55
+ .join(";");
56
+ }
43
57
  function getOAuthStateValue(cookieJson, cookiePrefix) {
44
58
  if (!cookieJson)
45
59
  return null;
@@ -178,8 +192,26 @@ export const tauriClient = (opts) => {
178
192
  const refetchOnWindowFocus = opts.refetchOnWindowFocus !== false;
179
193
  const refetchOnReconnect = opts.refetchOnReconnect !== false;
180
194
  let store = null;
195
+ let cookieMutation = Promise.resolve();
196
+ let signOutGeneration = 0;
197
+ async function mutateCookie(mutation) {
198
+ const previousMutation = cookieMutation;
199
+ let release = () => { };
200
+ cookieMutation = new Promise((resolve) => {
201
+ release = resolve;
202
+ });
203
+ await previousMutation;
204
+ try {
205
+ return await mutation();
206
+ }
207
+ finally {
208
+ release();
209
+ }
210
+ }
181
211
  return {
182
212
  id: "tauri",
213
+ // Keep the emitted declaration tied to Better Auth's own fetch type.
214
+ // Contextual inference alone emits an incompatible standalone BetterFetch.
183
215
  getActions(_, $store, _options) {
184
216
  store = $store;
185
217
  // Wire up focus + online refetch managers once the store is
@@ -218,17 +250,38 @@ export const tauriClient = (opts) => {
218
250
  const setCookieHeader = context.response.headers.get("set-cookie");
219
251
  if (setCookieHeader) {
220
252
  if (hasBetterAuthCookies(setCookieHeader, cookiePrefix)) {
221
- const prev = await storage.getItem(cookieName);
222
- const next = getSetCookie(setCookieHeader, prev ?? undefined);
223
- await storage.setItem(cookieName, next);
224
- if (hasSessionCookieChanged(prev, next)) {
253
+ const changed = await mutateCookie(async () => {
254
+ const prev = await storage.getItem(cookieName);
255
+ const next = getSetCookie(setCookieHeader, prev ?? undefined);
256
+ const requestCookie = context.request.headers.get("x-tauri-cookie") ?? "";
257
+ const sessionChanged = hasSessionCookieChanged(prev, next);
258
+ // A delayed request must not change a newer session restored by an
259
+ // OAuth callback, replacement, or explicit signout. Checking every
260
+ // session change also protects paired token/data cookies independently.
261
+ if (sessionChanged &&
262
+ getSessionCookieSignature(requestCookie) !==
263
+ getSessionCookieSignature(getCookie(prev ?? "{}"))) {
264
+ return false;
265
+ }
266
+ await storage.setItem(cookieName, next);
267
+ return sessionChanged;
268
+ });
269
+ if (changed) {
225
270
  store?.notify("$sessionSignal");
226
271
  }
227
272
  }
228
273
  }
229
274
  if (context.request.url.toString().includes("/get-session") &&
230
275
  !opts.disableCache) {
231
- await storage.setItem(localCacheName, JSON.stringify(context.data));
276
+ const cacheIsCurrent = await mutateCookie(async () => {
277
+ const stored = await storage.getItem(cookieName);
278
+ const requestCookie = context.request.headers.get("x-tauri-cookie") ?? "";
279
+ return (getSessionCookieSignature(requestCookie) ===
280
+ getSessionCookieSignature(getCookie(stored ?? "{}")));
281
+ });
282
+ if (cacheIsCurrent) {
283
+ await storage.setItem(localCacheName, JSON.stringify(context.data));
284
+ }
232
285
  }
233
286
  // Detect social / generic-oauth sign-in AND account-linking
234
287
  // responses that include an authorization URL. We check the URL
@@ -284,16 +337,24 @@ export const tauriClient = (opts) => {
284
337
  params.append("oauthState", oauthStateValue);
285
338
  }
286
339
  const proxyURL = `${context.request.baseURL}/tauri-authorization-proxy?${params.toString()}`;
340
+ const callbackGeneration = signOutGeneration;
287
341
  try {
288
342
  const callbackURL = await openAuthSession(proxyURL, scheme);
289
343
  const parsed = new URL(callbackURL);
290
344
  const cookie = parsed.searchParams.get("cookie");
291
345
  if (!cookie)
292
346
  return;
293
- const prev = await storage.getItem(cookieName);
294
- const next = getSetCookie(cookie, prev ?? undefined);
295
- await storage.setItem(cookieName, next);
296
- store?.notify("$sessionSignal");
347
+ const restored = await mutateCookie(async () => {
348
+ // Explicit signout invalidates a still-open browser OAuth flow.
349
+ if (callbackGeneration !== signOutGeneration)
350
+ return false;
351
+ const prev = await storage.getItem(cookieName);
352
+ const next = getSetCookie(cookie, prev ?? undefined);
353
+ await storage.setItem(cookieName, next);
354
+ return true;
355
+ });
356
+ if (restored)
357
+ store?.notify("$sessionSignal");
297
358
  }
298
359
  catch (err) {
299
360
  // Re-throw so the caller of signIn.social() sees the failure.
@@ -362,7 +423,10 @@ export const tauriClient = (opts) => {
362
423
  // Clear local state on sign-out so the app immediately reflects
363
424
  // the logged-out state.
364
425
  if (url.includes("/sign-out")) {
365
- await storage.setItem(cookieName, "{}");
426
+ await mutateCookie(async () => {
427
+ signOutGeneration += 1;
428
+ await storage.setItem(cookieName, "{}");
429
+ });
366
430
  await storage.setItem(localCacheName, "{}");
367
431
  store?.atoms?.session?.set({
368
432
  ...store.atoms.session.get(),
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
package/dist/version.d.ts CHANGED
@@ -1,2 +1,2 @@
1
- export declare const PACKAGE_VERSION = "0.1.0";
1
+ export declare const PACKAGE_VERSION = "0.1.4";
2
2
  //# sourceMappingURL=version.d.ts.map
package/dist/version.js CHANGED
@@ -1,2 +1,2 @@
1
- export const PACKAGE_VERSION = "0.1.0";
1
+ export const PACKAGE_VERSION = "0.1.4";
2
2
  //# sourceMappingURL=version.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dreamshive/better-auth-tauri",
3
- "version": "0.1.2",
3
+ "version": "0.1.4",
4
4
  "description": "Better Auth plugin for Tauri desktop apps — handles OAuth via the system browser with deep-link callbacks, cookie bridging via URL, and secure token storage hooks.",
5
5
  "license": "MIT",
6
6
  "author": "Rully Ardiansyah",
@@ -49,7 +49,8 @@
49
49
  "test": "vitest run",
50
50
  "test:watch": "vitest",
51
51
  "clean": "rm -rf dist",
52
- "prepublishOnly": "bun run clean && bun run build && bun run typecheck && bun run test"
52
+ "prepublishOnly": "bun run clean && bun run build && bun run typecheck && bun run test && bun run test:packed",
53
+ "test:packed": "node scripts/check-packed-consumer.mjs"
53
54
  },
54
55
  "dependencies": {
55
56
  "zod": "^3.24.0 || ^4.0.0"
package/src/client.ts CHANGED
@@ -115,6 +115,20 @@ function getCookie(cookie: string): string {
115
115
  }, "");
116
116
  }
117
117
 
118
+ function getSessionCookieSignature(cookie: string): string {
119
+ return cookie
120
+ .split(";")
121
+ .map((part) => part.trim())
122
+ .filter((part) => {
123
+ const separator = part.indexOf("=");
124
+ if (separator < 1) return false;
125
+ const bare = stripSecureCookiePrefix(part.slice(0, separator));
126
+ return bare.endsWith("session_token") || bare.endsWith("session_data");
127
+ })
128
+ .sort()
129
+ .join(";");
130
+ }
131
+
118
132
  function getOAuthStateValue(
119
133
  cookieJson: string | null,
120
134
  cookiePrefix: string | string[],
@@ -269,10 +283,32 @@ export const tauriClient = (opts: TauriClientOptions) => {
269
283
  const refetchOnReconnect = opts.refetchOnReconnect !== false;
270
284
 
271
285
  let store: ClientStore | null = null;
286
+ let cookieMutation = Promise.resolve();
287
+ let signOutGeneration = 0;
288
+
289
+ async function mutateCookie<T>(mutation: () => Promise<T>): Promise<T> {
290
+ const previousMutation = cookieMutation;
291
+ let release: () => void = () => {};
292
+ cookieMutation = new Promise<void>((resolve) => {
293
+ release = resolve;
294
+ });
295
+ await previousMutation;
296
+ try {
297
+ return await mutation();
298
+ } finally {
299
+ release();
300
+ }
301
+ }
272
302
 
273
303
  return {
274
304
  id: "tauri",
275
- getActions(_, $store, _options) {
305
+ // Keep the emitted declaration tied to Better Auth's own fetch type.
306
+ // Contextual inference alone emits an incompatible standalone BetterFetch.
307
+ getActions(
308
+ _: Parameters<NonNullable<BetterAuthClientPlugin["getActions"]>>[0],
309
+ $store,
310
+ _options,
311
+ ) {
276
312
  store = $store;
277
313
 
278
314
  // Wire up focus + online refetch managers once the store is
@@ -311,10 +347,27 @@ export const tauriClient = (opts: TauriClientOptions) => {
311
347
  const setCookieHeader = context.response.headers.get("set-cookie");
312
348
  if (setCookieHeader) {
313
349
  if (hasBetterAuthCookies(setCookieHeader, cookiePrefix)) {
314
- const prev = await storage.getItem(cookieName);
315
- const next = getSetCookie(setCookieHeader, prev ?? undefined);
316
- await storage.setItem(cookieName, next);
317
- if (hasSessionCookieChanged(prev, next)) {
350
+ const changed = await mutateCookie(async () => {
351
+ const prev = await storage.getItem(cookieName);
352
+ const next = getSetCookie(setCookieHeader, prev ?? undefined);
353
+ const requestCookie = context.request.headers.get("x-tauri-cookie") ?? "";
354
+ const sessionChanged = hasSessionCookieChanged(prev, next);
355
+
356
+ // A delayed request must not change a newer session restored by an
357
+ // OAuth callback, replacement, or explicit signout. Checking every
358
+ // session change also protects paired token/data cookies independently.
359
+ if (
360
+ sessionChanged &&
361
+ getSessionCookieSignature(requestCookie) !==
362
+ getSessionCookieSignature(getCookie(prev ?? "{}"))
363
+ ) {
364
+ return false;
365
+ }
366
+
367
+ await storage.setItem(cookieName, next);
368
+ return sessionChanged;
369
+ });
370
+ if (changed) {
318
371
  store?.notify("$sessionSignal");
319
372
  }
320
373
  }
@@ -324,7 +377,17 @@ export const tauriClient = (opts: TauriClientOptions) => {
324
377
  context.request.url.toString().includes("/get-session") &&
325
378
  !opts.disableCache
326
379
  ) {
327
- await storage.setItem(localCacheName, JSON.stringify(context.data));
380
+ const cacheIsCurrent = await mutateCookie(async () => {
381
+ const stored = await storage.getItem(cookieName);
382
+ const requestCookie = context.request.headers.get("x-tauri-cookie") ?? "";
383
+ return (
384
+ getSessionCookieSignature(requestCookie) ===
385
+ getSessionCookieSignature(getCookie(stored ?? "{}"))
386
+ );
387
+ });
388
+ if (cacheIsCurrent) {
389
+ await storage.setItem(localCacheName, JSON.stringify(context.data));
390
+ }
328
391
  }
329
392
 
330
393
  // Detect social / generic-oauth sign-in AND account-linking
@@ -389,16 +452,22 @@ export const tauriClient = (opts: TauriClientOptions) => {
389
452
  params.append("oauthState", oauthStateValue);
390
453
  }
391
454
  const proxyURL = `${context.request.baseURL}/tauri-authorization-proxy?${params.toString()}`;
455
+ const callbackGeneration = signOutGeneration;
392
456
 
393
457
  try {
394
458
  const callbackURL = await openAuthSession(proxyURL, scheme);
395
459
  const parsed = new URL(callbackURL);
396
460
  const cookie = parsed.searchParams.get("cookie");
397
461
  if (!cookie) return;
398
- const prev = await storage.getItem(cookieName);
399
- const next = getSetCookie(cookie, prev ?? undefined);
400
- await storage.setItem(cookieName, next);
401
- store?.notify("$sessionSignal");
462
+ const restored = await mutateCookie(async () => {
463
+ // Explicit signout invalidates a still-open browser OAuth flow.
464
+ if (callbackGeneration !== signOutGeneration) return false;
465
+ const prev = await storage.getItem(cookieName);
466
+ const next = getSetCookie(cookie, prev ?? undefined);
467
+ await storage.setItem(cookieName, next);
468
+ return true;
469
+ });
470
+ if (restored) store?.notify("$sessionSignal");
402
471
  } catch (err) {
403
472
  // Re-throw so the caller of signIn.social() sees the failure.
404
473
  throw err;
@@ -474,7 +543,10 @@ export const tauriClient = (opts: TauriClientOptions) => {
474
543
  // Clear local state on sign-out so the app immediately reflects
475
544
  // the logged-out state.
476
545
  if (url.includes("/sign-out")) {
477
- await storage.setItem(cookieName, "{}");
546
+ await mutateCookie(async () => {
547
+ signOutGeneration += 1;
548
+ await storage.setItem(cookieName, "{}");
549
+ });
478
550
  await storage.setItem(localCacheName, "{}");
479
551
  store?.atoms?.session?.set({
480
552
  ...(store.atoms.session.get() as object),
package/src/version.ts CHANGED
@@ -1 +1 @@
1
- export const PACKAGE_VERSION = "0.1.0";
1
+ export const PACKAGE_VERSION = "0.1.4";