joshlei-cookies 2.0.0 → 2.5.0
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/index.js +17 -7
- package/package.json +1 -1
package/index.js
CHANGED
|
@@ -309,11 +309,18 @@ export const SetJSCookie = async (name, data, options = {}) => {
|
|
|
309
309
|
const tokenParts = data.token.split('.');
|
|
310
310
|
if (tokenParts.length === 3) {
|
|
311
311
|
try {
|
|
312
|
-
|
|
312
|
+
const encryptedToken = await CryptoManager.encrypt(data.token, hashedKey);
|
|
313
|
+
sessionStorage.setItem(`jstudio_token_${name}`, encryptedToken);
|
|
313
314
|
const { token, ...rest } = data;
|
|
314
315
|
dataToStore = { ...rest, __tokenSaved: true };
|
|
315
316
|
} catch (storageErr) {
|
|
316
|
-
|
|
317
|
+
try {
|
|
318
|
+
sessionStorage.setItem(`jstudio_token_${name}`, data.token);
|
|
319
|
+
const { token, ...rest } = data;
|
|
320
|
+
dataToStore = { ...rest, __tokenSaved: true };
|
|
321
|
+
} catch (e) {
|
|
322
|
+
dataToStore = data;
|
|
323
|
+
}
|
|
317
324
|
}
|
|
318
325
|
}
|
|
319
326
|
}
|
|
@@ -340,12 +347,16 @@ export const GetJSCookie = async (name) => {
|
|
|
340
347
|
const decryptedData = await CryptoManager.decrypt(encryptedData, hashedKey);
|
|
341
348
|
const parsed = JSON.parse(decryptedData);
|
|
342
349
|
|
|
343
|
-
// If token was saved separately in sessionStorage, reattach it to the returned object.
|
|
344
350
|
if (isBrowser && parsed && parsed.__tokenSaved) {
|
|
345
351
|
try {
|
|
346
|
-
const
|
|
347
|
-
if (
|
|
348
|
-
|
|
352
|
+
const stored = sessionStorage.getItem(`jstudio_token_${name}`);
|
|
353
|
+
if (stored) {
|
|
354
|
+
try {
|
|
355
|
+
const decryptedToken = await CryptoManager.decrypt(stored, hashedKey);
|
|
356
|
+
parsed.token = decryptedToken;
|
|
357
|
+
} catch (decryptErr) {
|
|
358
|
+
parsed.token = stored;
|
|
359
|
+
}
|
|
349
360
|
}
|
|
350
361
|
delete parsed.__tokenSaved;
|
|
351
362
|
} catch (storageErr) {
|
|
@@ -368,7 +379,6 @@ export const RemoveJSCookie = (name, options = {}) => {
|
|
|
368
379
|
}
|
|
369
380
|
|
|
370
381
|
try {
|
|
371
|
-
// Also remove any token saved in sessionStorage
|
|
372
382
|
try {
|
|
373
383
|
if (isBrowser) sessionStorage.removeItem(`jstudio_token_${name}`);
|
|
374
384
|
} catch (e) {}
|