@zskj-idaas/sdk 1.0.3 → 1.0.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/dist/index.d.mts CHANGED
@@ -83,6 +83,7 @@ declare class TokenStorage {
83
83
  private prefix;
84
84
  constructor(prefix?: string);
85
85
  private key;
86
+ private migrateTokenValue;
86
87
  saveTokens(tokens: TokenSet): void;
87
88
  getAccessToken(): string | null;
88
89
  getIdToken(): string | null;
package/dist/index.d.ts CHANGED
@@ -83,6 +83,7 @@ declare class TokenStorage {
83
83
  private prefix;
84
84
  constructor(prefix?: string);
85
85
  private key;
86
+ private migrateTokenValue;
86
87
  saveTokens(tokens: TokenSet): void;
87
88
  getAccessToken(): string | null;
88
89
  getIdToken(): string | null;
package/dist/index.js CHANGED
@@ -183,33 +183,48 @@ var TokenStorage = class {
183
183
  key(name) {
184
184
  return `${this.prefix}:${name}`;
185
185
  }
186
+ migrateTokenValue(name) {
187
+ const key = this.key(name);
188
+ const current = localStorage.getItem(key);
189
+ if (current) return current;
190
+ const legacy = sessionStorage.getItem(key);
191
+ if (!legacy) return null;
192
+ localStorage.setItem(key, legacy);
193
+ sessionStorage.removeItem(key);
194
+ return legacy;
195
+ }
186
196
  saveTokens(tokens) {
187
197
  const expiresAt = Date.now() + tokens.expires_in * 1e3;
188
- sessionStorage.setItem(this.key("access_token"), tokens.access_token);
189
- sessionStorage.setItem(this.key("expires_at"), expiresAt.toString());
198
+ localStorage.setItem(this.key("access_token"), tokens.access_token);
199
+ localStorage.setItem(this.key("expires_at"), expiresAt.toString());
200
+ sessionStorage.removeItem(this.key("access_token"));
201
+ sessionStorage.removeItem(this.key("expires_at"));
190
202
  if (tokens.id_token) {
191
- sessionStorage.setItem(this.key("id_token"), tokens.id_token);
203
+ localStorage.setItem(this.key("id_token"), tokens.id_token);
204
+ sessionStorage.removeItem(this.key("id_token"));
192
205
  }
193
206
  if (tokens.refresh_token) {
194
207
  localStorage.setItem(this.key("refresh_token"), tokens.refresh_token);
195
208
  }
196
- sessionStorage.setItem(this.key("scope"), tokens.scope);
209
+ localStorage.setItem(this.key("scope"), tokens.scope);
210
+ sessionStorage.removeItem(this.key("scope"));
197
211
  }
198
212
  getAccessToken() {
199
- const token = sessionStorage.getItem(this.key("access_token"));
200
- const expiresAt = sessionStorage.getItem(this.key("expires_at"));
213
+ const token = this.migrateTokenValue("access_token");
214
+ const expiresAt = this.migrateTokenValue("expires_at");
215
+ this.migrateTokenValue("scope");
201
216
  if (!token || !expiresAt) return null;
202
217
  if (Date.now() > parseInt(expiresAt, 10)) return null;
203
218
  return token;
204
219
  }
205
220
  getIdToken() {
206
- return sessionStorage.getItem(this.key("id_token"));
221
+ return this.migrateTokenValue("id_token");
207
222
  }
208
223
  getRefreshToken() {
209
224
  return localStorage.getItem(this.key("refresh_token"));
210
225
  }
211
226
  getExpiresAt() {
212
- const val = sessionStorage.getItem(this.key("expires_at"));
227
+ const val = this.migrateTokenValue("expires_at");
213
228
  return val ? parseInt(val, 10) : null;
214
229
  }
215
230
  isTokenExpired() {
@@ -218,11 +233,15 @@ var TokenStorage = class {
218
233
  return Date.now() > expiresAt - 6e4;
219
234
  }
220
235
  clear() {
236
+ localStorage.removeItem(this.key("access_token"));
237
+ localStorage.removeItem(this.key("id_token"));
238
+ localStorage.removeItem(this.key("expires_at"));
239
+ localStorage.removeItem(this.key("scope"));
240
+ localStorage.removeItem(this.key("refresh_token"));
221
241
  sessionStorage.removeItem(this.key("access_token"));
222
242
  sessionStorage.removeItem(this.key("id_token"));
223
243
  sessionStorage.removeItem(this.key("expires_at"));
224
244
  sessionStorage.removeItem(this.key("scope"));
225
- localStorage.removeItem(this.key("refresh_token"));
226
245
  }
227
246
  saveState(state) {
228
247
  sessionStorage.setItem(this.key("state"), state);
package/dist/index.mjs CHANGED
@@ -153,33 +153,48 @@ var TokenStorage = class {
153
153
  key(name) {
154
154
  return `${this.prefix}:${name}`;
155
155
  }
156
+ migrateTokenValue(name) {
157
+ const key = this.key(name);
158
+ const current = localStorage.getItem(key);
159
+ if (current) return current;
160
+ const legacy = sessionStorage.getItem(key);
161
+ if (!legacy) return null;
162
+ localStorage.setItem(key, legacy);
163
+ sessionStorage.removeItem(key);
164
+ return legacy;
165
+ }
156
166
  saveTokens(tokens) {
157
167
  const expiresAt = Date.now() + tokens.expires_in * 1e3;
158
- sessionStorage.setItem(this.key("access_token"), tokens.access_token);
159
- sessionStorage.setItem(this.key("expires_at"), expiresAt.toString());
168
+ localStorage.setItem(this.key("access_token"), tokens.access_token);
169
+ localStorage.setItem(this.key("expires_at"), expiresAt.toString());
170
+ sessionStorage.removeItem(this.key("access_token"));
171
+ sessionStorage.removeItem(this.key("expires_at"));
160
172
  if (tokens.id_token) {
161
- sessionStorage.setItem(this.key("id_token"), tokens.id_token);
173
+ localStorage.setItem(this.key("id_token"), tokens.id_token);
174
+ sessionStorage.removeItem(this.key("id_token"));
162
175
  }
163
176
  if (tokens.refresh_token) {
164
177
  localStorage.setItem(this.key("refresh_token"), tokens.refresh_token);
165
178
  }
166
- sessionStorage.setItem(this.key("scope"), tokens.scope);
179
+ localStorage.setItem(this.key("scope"), tokens.scope);
180
+ sessionStorage.removeItem(this.key("scope"));
167
181
  }
168
182
  getAccessToken() {
169
- const token = sessionStorage.getItem(this.key("access_token"));
170
- const expiresAt = sessionStorage.getItem(this.key("expires_at"));
183
+ const token = this.migrateTokenValue("access_token");
184
+ const expiresAt = this.migrateTokenValue("expires_at");
185
+ this.migrateTokenValue("scope");
171
186
  if (!token || !expiresAt) return null;
172
187
  if (Date.now() > parseInt(expiresAt, 10)) return null;
173
188
  return token;
174
189
  }
175
190
  getIdToken() {
176
- return sessionStorage.getItem(this.key("id_token"));
191
+ return this.migrateTokenValue("id_token");
177
192
  }
178
193
  getRefreshToken() {
179
194
  return localStorage.getItem(this.key("refresh_token"));
180
195
  }
181
196
  getExpiresAt() {
182
- const val = sessionStorage.getItem(this.key("expires_at"));
197
+ const val = this.migrateTokenValue("expires_at");
183
198
  return val ? parseInt(val, 10) : null;
184
199
  }
185
200
  isTokenExpired() {
@@ -188,11 +203,15 @@ var TokenStorage = class {
188
203
  return Date.now() > expiresAt - 6e4;
189
204
  }
190
205
  clear() {
206
+ localStorage.removeItem(this.key("access_token"));
207
+ localStorage.removeItem(this.key("id_token"));
208
+ localStorage.removeItem(this.key("expires_at"));
209
+ localStorage.removeItem(this.key("scope"));
210
+ localStorage.removeItem(this.key("refresh_token"));
191
211
  sessionStorage.removeItem(this.key("access_token"));
192
212
  sessionStorage.removeItem(this.key("id_token"));
193
213
  sessionStorage.removeItem(this.key("expires_at"));
194
214
  sessionStorage.removeItem(this.key("scope"));
195
- localStorage.removeItem(this.key("refresh_token"));
196
215
  }
197
216
  saveState(state) {
198
217
  sessionStorage.setItem(this.key("state"), state);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zskj-idaas/sdk",
3
- "version": "1.0.3",
3
+ "version": "1.0.4",
4
4
  "description": "IDaaS OIDC Client SDK for browser applications — supports Authorization Code Flow with PKCE, token management, and authenticated fetch.",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.mjs",