@sudobility/auth_lib 0.0.96 → 0.0.97

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":"FirebaseAuthNetworkService.d.ts","sourceRoot":"","sources":["../../src/network/FirebaseAuthNetworkService.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,KAAK,EAAE,qBAAqB,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAShF,MAAM,WAAW,iCAAiC;IAEhD,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IAEtB,oBAAoB,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IAE9C,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAEhC,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAsDD,qBAAa,0BAA2B,SAAQ,gBAAgB;IAC9D,OAAO,CAAC,cAAc,CAAgD;gBAE1D,OAAO,CAAC,EAAE,iCAAiC;IAWxC,OAAO,CAAC,CAAC,GAAG,OAAO,EAChC,GAAG,EAAE,MAAM,EACX,OAAO,GAAE,qBAA0B,GAClC,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;CAwE/B"}
1
+ {"version":3,"file":"FirebaseAuthNetworkService.d.ts","sourceRoot":"","sources":["../../src/network/FirebaseAuthNetworkService.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,KAAK,EAAE,qBAAqB,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAShF,MAAM,WAAW,iCAAiC;IAEhD,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IAEtB,oBAAoB,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IAE9C,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAEhC,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AA6DD,qBAAa,0BAA2B,SAAQ,gBAAgB;IAC9D,OAAO,CAAC,cAAc,CAAgD;gBAE1D,OAAO,CAAC,EAAE,iCAAiC;IAWxC,OAAO,CAAC,CAAC,GAAG,OAAO,EAChC,GAAG,EAAE,MAAM,EACX,OAAO,GAAE,qBAA0B,GAClC,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;CAwE/B"}
@@ -3,6 +3,7 @@ import { getFirebaseAuth } from '../config/firebase-init';
3
3
  const DEFAULT_TOKEN_REFRESH_INTERVAL_MS = 30 * 1000;
4
4
  const DEFAULT_REQUEST_TIMEOUT_MS = 120000;
5
5
  let cachedToken = null;
6
+ let cachedTokenUid = null;
6
7
  let tokenTimestamp = 0;
7
8
  async function getAuthToken(forceRefresh = false, refreshIntervalMs = DEFAULT_TOKEN_REFRESH_INTERVAL_MS) {
8
9
  const auth = getFirebaseAuth();
@@ -10,25 +11,28 @@ async function getAuthToken(forceRefresh = false, refreshIntervalMs = DEFAULT_TO
10
11
  if (!user) {
11
12
  console.error('[FirebaseAuthNetworkService] getAuthToken: No current user');
12
13
  cachedToken = null;
14
+ cachedTokenUid = null;
13
15
  tokenTimestamp = 0;
14
16
  return '';
15
17
  }
16
18
  const now = Date.now();
17
19
  const tokenAge = now - tokenTimestamp;
18
20
  const isStale = tokenAge > refreshIntervalMs;
19
- if (!forceRefresh && !isStale && cachedToken) {
21
+ if (!forceRefresh && !isStale && cachedToken && cachedTokenUid === user.uid) {
20
22
  return cachedToken;
21
23
  }
22
24
  try {
23
25
  const shouldForceRefresh = forceRefresh || isStale;
24
26
  const token = await user.getIdToken(shouldForceRefresh);
25
27
  cachedToken = token;
28
+ cachedTokenUid = user.uid;
26
29
  tokenTimestamp = now;
27
30
  return token;
28
31
  }
29
32
  catch (error) {
30
33
  console.error('[FirebaseAuthNetworkService] getAuthToken failed:', error);
31
34
  cachedToken = null;
35
+ cachedTokenUid = null;
32
36
  tokenTimestamp = 0;
33
37
  return '';
34
38
  }
@@ -1 +1 @@
1
- {"version":3,"file":"FirebaseAuthNetworkService.js","sourceRoot":"","sources":["../../src/network/FirebaseAuthNetworkService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"FirebaseAuthNetworkService.js","sourceRoot":"","sources":["../../src/network/FirebaseAuthNetworkService.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sudobility/auth_lib",
3
- "version": "0.0.96",
3
+ "version": "0.0.97",
4
4
  "description": "Firebase authentication utilities with token refresh handling",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -40,7 +40,7 @@
40
40
  "lint": "bunx eslint src",
41
41
  "lint:fix": "bunx eslint src --fix",
42
42
  "format": "bunx prettier --write \"src/**/*.{ts,tsx,js,jsx,json}\"",
43
- "test": "vitest run",
43
+ "test:unit": "vitest run",
44
44
  "test:watch": "vitest",
45
45
  "prepublishOnly": "bun run build"
46
46
  },