@djangocfg/api 2.1.484 → 2.1.486

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/clients.cjs CHANGED
@@ -163,8 +163,23 @@ var cookieBackend = {
163
163
  }
164
164
  }
165
165
  };
166
- var _storage = localStorageBackend;
167
- var _storageMode = "localStorage";
166
+ function backendFor(mode) {
167
+ return mode === "cookie" ? cookieBackend : mode === "sessionStorage" ? sessionStorageBackend : localStorageBackend;
168
+ }
169
+ __name(backendFor, "backendFor");
170
+ var STORAGE_MODE_KEY = "cfg.access_token.storage_mode";
171
+ function readPersistedMode() {
172
+ if (!isBrowser) return "localStorage";
173
+ try {
174
+ const raw = window.localStorage.getItem(STORAGE_MODE_KEY);
175
+ return raw === "sessionStorage" || raw === "cookie" || raw === "localStorage" ? raw : "localStorage";
176
+ } catch {
177
+ return "localStorage";
178
+ }
179
+ }
180
+ __name(readPersistedMode, "readPersistedMode");
181
+ var _storageMode = readPersistedMode();
182
+ var _storage = backendFor(_storageMode);
168
183
  function detectLocale() {
169
184
  try {
170
185
  if (typeof document !== "undefined") {
@@ -320,7 +335,13 @@ var auth = {
320
335
  },
321
336
  setStorageMode(mode) {
322
337
  _storageMode = mode;
323
- _storage = mode === "cookie" ? cookieBackend : mode === "sessionStorage" ? sessionStorageBackend : localStorageBackend;
338
+ _storage = backendFor(mode);
339
+ if (isBrowser) {
340
+ try {
341
+ window.localStorage.setItem(STORAGE_MODE_KEY, mode);
342
+ } catch {
343
+ }
344
+ }
324
345
  notifySessionChanged();
325
346
  },
326
347
  // ── Bearer token ──────────────────────────────────────────────────
@@ -339,8 +360,18 @@ var auth = {
339
360
  notifySessionChanged();
340
361
  },
341
362
  clearTokens() {
342
- _storage.set(ACCESS_KEY, null);
343
- _storage.set(REFRESH_KEY, null);
363
+ for (const backend of [localStorageBackend, sessionStorageBackend, cookieBackend]) {
364
+ backend.set(ACCESS_KEY, null);
365
+ backend.set(REFRESH_KEY, null);
366
+ }
367
+ _storageMode = "localStorage";
368
+ _storage = localStorageBackend;
369
+ if (isBrowser) {
370
+ try {
371
+ window.localStorage.removeItem(STORAGE_MODE_KEY);
372
+ } catch {
373
+ }
374
+ }
344
375
  notifySessionChanged();
345
376
  },
346
377
  /** Session-aware: token PRESENT and not past its `exp` (or a live refresh