react-token-manager 1.1.1 → 1.1.3

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.js CHANGED
@@ -109,8 +109,10 @@ var TokenManager = class {
109
109
  decode(token) {
110
110
  if (!token) return null;
111
111
  try {
112
- return jwtDecode(token);
113
- } catch {
112
+ const cleanToken = token.trim().replace(/^"|"$/g, "");
113
+ return jwtDecode(cleanToken);
114
+ } catch (err) {
115
+ console.error("JWT decode error:", err, token);
114
116
  return null;
115
117
  }
116
118
  }
@@ -119,18 +121,16 @@ var TokenManager = class {
119
121
  */
120
122
  isExpired(token) {
121
123
  const tokenToCheck = token != null ? token : this.getOne("access_token");
124
+ console.log("tokenToCheck:", tokenToCheck);
122
125
  if (!tokenToCheck) return true;
123
- try {
124
- const decoded = this.decode(tokenToCheck);
125
- if (!decoded || !decoded.exp) return true;
126
- console.log("decoded", decoded);
127
- console.log("decoded exp", decoded.exp);
128
- const now = Date.now();
129
- const expTime = decoded.exp * 1e3;
130
- return now >= expTime;
131
- } catch {
132
- return true;
133
- }
126
+ const decoded = this.decode(tokenToCheck);
127
+ console.log("decoded:", decoded);
128
+ if (!decoded || !decoded.exp) return true;
129
+ const now = Date.now();
130
+ const expTime = decoded.exp * 1e3;
131
+ const isExpired = now >= expTime;
132
+ console.log("Token expires at:", new Date(expTime), "isExpired:", isExpired);
133
+ return isExpired;
134
134
  }
135
135
  };
136
136
 
package/dist/index.mjs CHANGED
@@ -71,8 +71,10 @@ var TokenManager = class {
71
71
  decode(token) {
72
72
  if (!token) return null;
73
73
  try {
74
- return jwtDecode(token);
75
- } catch {
74
+ const cleanToken = token.trim().replace(/^"|"$/g, "");
75
+ return jwtDecode(cleanToken);
76
+ } catch (err) {
77
+ console.error("JWT decode error:", err, token);
76
78
  return null;
77
79
  }
78
80
  }
@@ -81,18 +83,16 @@ var TokenManager = class {
81
83
  */
82
84
  isExpired(token) {
83
85
  const tokenToCheck = token != null ? token : this.getOne("access_token");
86
+ console.log("tokenToCheck:", tokenToCheck);
84
87
  if (!tokenToCheck) return true;
85
- try {
86
- const decoded = this.decode(tokenToCheck);
87
- if (!decoded || !decoded.exp) return true;
88
- console.log("decoded", decoded);
89
- console.log("decoded exp", decoded.exp);
90
- const now = Date.now();
91
- const expTime = decoded.exp * 1e3;
92
- return now >= expTime;
93
- } catch {
94
- return true;
95
- }
88
+ const decoded = this.decode(tokenToCheck);
89
+ console.log("decoded:", decoded);
90
+ if (!decoded || !decoded.exp) return true;
91
+ const now = Date.now();
92
+ const expTime = decoded.exp * 1e3;
93
+ const isExpired = now >= expTime;
94
+ console.log("Token expires at:", new Date(expTime), "isExpired:", isExpired);
95
+ return isExpired;
96
96
  }
97
97
  };
98
98
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-token-manager",
3
- "version": "1.1.1",
3
+ "version": "1.1.3",
4
4
  "description": "A simple React library to manage JWT tokens",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.mjs",
@@ -18,7 +18,8 @@
18
18
  "dependencies": {
19
19
  "@types/react-dom": "^19.2.3",
20
20
  "js-cookie": "^3.0.5",
21
- "jwt-decode": "^4.0.0"
21
+ "jwt-decode": "^4.0.0",
22
+ "nextauthz": "^1.3.8"
22
23
  },
23
24
  "devDependencies": {
24
25
  "@types/js-cookie": "^3.0.6",
package/src/core.ts CHANGED
@@ -95,9 +95,13 @@ export class TokenManager {
95
95
  /** Decode token */
96
96
  decode<T = unknown>(token: string): T | null {
97
97
  if (!token) return null
98
+
98
99
  try {
99
- return jwtDecode<T>(token)
100
- } catch {
100
+ // Remove quotes and trim spaces
101
+ const cleanToken = token.trim().replace(/^"|"$/g, '')
102
+ return jwtDecode<T>(cleanToken)
103
+ } catch (err) {
104
+ console.error('JWT decode error:', err, token)
101
105
  return null
102
106
  }
103
107
  }
@@ -107,29 +111,24 @@ export class TokenManager {
107
111
  */
108
112
  isExpired(token?: string): boolean {
109
113
  // Use provided token, fallback to stored 'access_token'
110
- const tokenToCheck = token ?? this.getOne('access_token');
111
-
112
- // If no token, consider it expired
114
+ const tokenToCheck = token ?? this.getOne('access_token')
115
+
116
+ console.log('tokenToCheck:', tokenToCheck)
117
+
113
118
  if (!tokenToCheck) return true
114
-
115
- try {
116
- // Decode JWT safely
117
- const decoded = this.decode<JwtPayload>(tokenToCheck)
118
-
119
- // If decoding fails or exp is missing, token is expired
120
- if (!decoded || !decoded.exp) return true
121
-
122
- console.log('decoded', decoded);
123
- console.log('decoded exp', decoded.exp);
124
-
125
-
126
- // Compare current time with token expiry
127
- const now = Date.now()
128
- const expTime = decoded.exp * 1000 // exp is in seconds
129
- return now >= expTime
130
- } catch {
131
- // Any decoding error means token is invalid/expired
132
- return true
133
- }
119
+
120
+ const decoded = this.decode<JwtPayload>(tokenToCheck)
121
+ console.log('decoded:', decoded)
122
+
123
+ // If decoding fails or exp is missing, consider expired
124
+ if (!decoded || !decoded.exp) return true
125
+
126
+ const now = Date.now()
127
+ const expTime = decoded.exp * 1000
128
+ const isExpired = now >= expTime
129
+
130
+ console.log('Token expires at:', new Date(expTime), 'isExpired:', isExpired)
131
+ return isExpired
134
132
  }
133
+
135
134
  }