@sudobility/auth_lib 0.0.30 → 0.0.32

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":"AAQA,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,KAAK,EAAE,qBAAqB,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAIhF,MAAM,WAAW,iCAAiC;IAEhD,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IAEtB,oBAAoB,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;CAC/C;AAqCD,qBAAa,0BAA2B,SAAQ,gBAAgB;IAC9D,OAAO,CAAC,cAAc,CAAgD;gBAE1D,OAAO,CAAC,EAAE,iCAAiC;IAQxC,OAAO,CAAC,CAAC,GAAG,OAAO,EAChC,GAAG,EAAE,MAAM,EACX,OAAO,GAAE,qBAA0B,GAClC,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;CAkC/B"}
1
+ {"version":3,"file":"FirebaseAuthNetworkService.d.ts","sourceRoot":"","sources":["../../src/network/FirebaseAuthNetworkService.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,KAAK,EAAE,qBAAqB,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAIhF,MAAM,WAAW,iCAAiC;IAEhD,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IAEtB,oBAAoB,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;CAC/C;AAqCD,qBAAa,0BAA2B,SAAQ,gBAAgB;IAC9D,OAAO,CAAC,cAAc,CAAgD;gBAE1D,OAAO,CAAC,EAAE,iCAAiC;IAUxC,OAAO,CAAC,CAAC,GAAG,OAAO,EAChC,GAAG,EAAE,MAAM,EACX,OAAO,GAAE,qBAA0B,GAClC,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;CAkD/B"}
@@ -32,28 +32,38 @@ export class FirebaseAuthNetworkService extends WebNetworkClient {
32
32
  this.serviceOptions = options;
33
33
  }
34
34
  async request(url, options = {}) {
35
- const response = await super.request(url, options);
36
- if (response.status === 401) {
37
- const freshToken = await getAuthToken(true);
38
- if (freshToken) {
39
- const retryHeaders = {
40
- ...options.headers,
41
- Authorization: `Bearer ${freshToken}`,
42
- };
43
- return super.request(url, {
44
- ...options,
45
- headers: retryHeaders,
46
- });
47
- }
48
- else {
49
- this.serviceOptions?.onTokenRefreshFailed?.(new Error('Failed to refresh token'));
50
- }
35
+ try {
36
+ return await super.request(url, options);
51
37
  }
52
- if (response.status === 403) {
53
- console.warn('[FirebaseAuthNetworkService] 403 Forbidden - logging user out');
54
- await logoutUser(this.serviceOptions?.onLogout);
38
+ catch (error) {
39
+ if (error && typeof error === 'object' && 'statusCode' in error) {
40
+ const networkError = error;
41
+ if (networkError.statusCode === 401) {
42
+ console.log('[FirebaseAuthNetworkService] 401 received, attempting token refresh');
43
+ const freshToken = await getAuthToken(true);
44
+ if (freshToken) {
45
+ console.log('[FirebaseAuthNetworkService] Token refreshed, retrying request');
46
+ const retryHeaders = {
47
+ ...options.headers,
48
+ Authorization: `Bearer ${freshToken}`,
49
+ };
50
+ return super.request(url, {
51
+ ...options,
52
+ headers: retryHeaders,
53
+ });
54
+ }
55
+ else {
56
+ console.error('[FirebaseAuthNetworkService] Token refresh failed - no token returned');
57
+ this.serviceOptions?.onTokenRefreshFailed?.(new Error('Failed to refresh token'));
58
+ }
59
+ }
60
+ if (networkError.statusCode === 403) {
61
+ console.warn('[FirebaseAuthNetworkService] 403 Forbidden - logging user out');
62
+ await logoutUser(this.serviceOptions?.onLogout);
63
+ }
64
+ }
65
+ throw error;
55
66
  }
56
- return response;
57
67
  }
58
68
  }
59
69
  //# sourceMappingURL=FirebaseAuthNetworkService.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"FirebaseAuthNetworkService.js","sourceRoot":"","sources":["../../src/network/FirebaseAuthNetworkService.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAElD,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAa1D,KAAK,UAAU,YAAY,CAAC,YAAY,GAAG,KAAK;IAC9C,MAAM,IAAI,GAAG,eAAe,EAAE,CAAC;IAC/B,MAAM,IAAI,GAAG,IAAI,EAAE,WAAW,CAAC;IAC/B,IAAI,CAAC,IAAI;QAAE,OAAO,EAAE,CAAC;IAErB,IAAI,CAAC;QACH,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;IAC7C,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CAAC,sDAAsD,EAAE,GAAG,CAAC,CAAC;QAC3E,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAKD,KAAK,UAAU,UAAU,CAAC,QAAqB;IAC7C,MAAM,IAAI,GAAG,eAAe,EAAE,CAAC;IAC/B,IAAI,CAAC,IAAI;QAAE,OAAO;IAClB,IAAI,CAAC;QACH,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;QACpB,QAAQ,EAAE,EAAE,CAAC;IACf,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CAAC,kDAAkD,EAAE,GAAG,CAAC,CAAC;IACzE,CAAC;AACH,CAAC;AAMD,MAAM,OAAO,0BAA2B,SAAQ,gBAAgB;IAG9D,YAAY,OAA2C;QACrD,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC;IAChC,CAAC;IAKQ,KAAK,CAAC,OAAO,CACpB,GAAW,EACX,UAAiC,EAAE;QAEnC,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,OAAO,CAAI,GAAG,EAAE,OAAO,CAAC,CAAC;QAGtD,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;YAC5B,MAAM,UAAU,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC,CAAC;YAC5C,IAAI,UAAU,EAAE,CAAC;gBACf,MAAM,YAAY,GAAG;oBACnB,GAAG,OAAO,CAAC,OAAO;oBAClB,aAAa,EAAE,UAAU,UAAU,EAAE;iBACtC,CAAC;gBACF,OAAO,KAAK,CAAC,OAAO,CAAI,GAAG,EAAE;oBAC3B,GAAG,OAAO;oBACV,OAAO,EAAE,YAAY;iBACtB,CAAC,CAAC;YACL,CAAC;iBAAM,CAAC;gBAEN,IAAI,CAAC,cAAc,EAAE,oBAAoB,EAAE,CACzC,IAAI,KAAK,CAAC,yBAAyB,CAAC,CACrC,CAAC;YACJ,CAAC;QACH,CAAC;QAGD,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;YAC5B,OAAO,CAAC,IAAI,CACV,+DAA+D,CAChE,CAAC;YACF,MAAM,UAAU,CAAC,IAAI,CAAC,cAAc,EAAE,QAAQ,CAAC,CAAC;QAElD,CAAC;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC;CACF"}
1
+ {"version":3,"file":"FirebaseAuthNetworkService.js","sourceRoot":"","sources":["../../src/network/FirebaseAuthNetworkService.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAElD,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAa1D,KAAK,UAAU,YAAY,CAAC,YAAY,GAAG,KAAK;IAC9C,MAAM,IAAI,GAAG,eAAe,EAAE,CAAC;IAC/B,MAAM,IAAI,GAAG,IAAI,EAAE,WAAW,CAAC;IAC/B,IAAI,CAAC,IAAI;QAAE,OAAO,EAAE,CAAC;IAErB,IAAI,CAAC;QACH,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;IAC7C,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CAAC,sDAAsD,EAAE,GAAG,CAAC,CAAC;QAC3E,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAKD,KAAK,UAAU,UAAU,CAAC,QAAqB;IAC7C,MAAM,IAAI,GAAG,eAAe,EAAE,CAAC;IAC/B,IAAI,CAAC,IAAI;QAAE,OAAO;IAClB,IAAI,CAAC;QACH,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;QACpB,QAAQ,EAAE,EAAE,CAAC;IACf,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CAAC,kDAAkD,EAAE,GAAG,CAAC,CAAC;IACzE,CAAC;AACH,CAAC;AAMD,MAAM,OAAO,0BAA2B,SAAQ,gBAAgB;IAG9D,YAAY,OAA2C;QACrD,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC;IAChC,CAAC;IAOQ,KAAK,CAAC,OAAO,CACpB,GAAW,EACX,UAAiC,EAAE;QAEnC,IAAI,CAAC;YACH,OAAO,MAAM,KAAK,CAAC,OAAO,CAAI,GAAG,EAAE,OAAO,CAAC,CAAC;QAC9C,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAEf,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,YAAY,IAAI,KAAK,EAAE,CAAC;gBAChE,MAAM,YAAY,GAAG,KAAgD,CAAC;gBAGtE,IAAI,YAAY,CAAC,UAAU,KAAK,GAAG,EAAE,CAAC;oBACpC,OAAO,CAAC,GAAG,CACT,qEAAqE,CACtE,CAAC;oBACF,MAAM,UAAU,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC,CAAC;oBAC5C,IAAI,UAAU,EAAE,CAAC;wBACf,OAAO,CAAC,GAAG,CACT,gEAAgE,CACjE,CAAC;wBACF,MAAM,YAAY,GAAG;4BACnB,GAAG,OAAO,CAAC,OAAO;4BAClB,aAAa,EAAE,UAAU,UAAU,EAAE;yBACtC,CAAC;wBACF,OAAO,KAAK,CAAC,OAAO,CAAI,GAAG,EAAE;4BAC3B,GAAG,OAAO;4BACV,OAAO,EAAE,YAAY;yBACtB,CAAC,CAAC;oBACL,CAAC;yBAAM,CAAC;wBAEN,OAAO,CAAC,KAAK,CACX,uEAAuE,CACxE,CAAC;wBACF,IAAI,CAAC,cAAc,EAAE,oBAAoB,EAAE,CACzC,IAAI,KAAK,CAAC,yBAAyB,CAAC,CACrC,CAAC;oBACJ,CAAC;gBACH,CAAC;gBAGD,IAAI,YAAY,CAAC,UAAU,KAAK,GAAG,EAAE,CAAC;oBACpC,OAAO,CAAC,IAAI,CACV,+DAA+D,CAChE,CAAC;oBACF,MAAM,UAAU,CAAC,IAAI,CAAC,cAAc,EAAE,QAAQ,CAAC,CAAC;gBAClD,CAAC;YACH,CAAC;YAGD,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;CACF"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sudobility/auth_lib",
3
- "version": "0.0.30",
3
+ "version": "0.0.32",
4
4
  "description": "Firebase authentication utilities with token refresh handling",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -38,8 +38,8 @@
38
38
  "@react-native-firebase/app": ">=18.0.0",
39
39
  "@react-native-firebase/auth": ">=18.0.0",
40
40
  "@sudobility/di": "^1.5.30",
41
- "@sudobility/di_web": "^0.1.88",
42
- "@sudobility/di_rn": "^0.1.13",
41
+ "@sudobility/di_web": "^0.1.90",
42
+ "@sudobility/di_rn": "^0.1.15",
43
43
  "@sudobility/types": "^1.9.48",
44
44
  "@tanstack/react-query": "^5.0.0"
45
45
  },
@@ -62,8 +62,8 @@
62
62
  },
63
63
  "devDependencies": {
64
64
  "@sudobility/di": "^1.5.30",
65
- "@sudobility/di_web": "^0.1.87",
66
- "@sudobility/di_rn": "^0.1.12",
65
+ "@sudobility/di_web": "^0.1.90",
66
+ "@sudobility/di_rn": "^0.1.14",
67
67
  "@sudobility/types": "^1.9.48",
68
68
  "@tanstack/react-query": "^5.80.7",
69
69
  "@types/node": "^22.0.0",