From 6602ea29c73ea1adfa9b7e07b5bdb048712f52bb Mon Sep 17 00:00:00 2001 From: mt-btanner Date: Mon, 3 Mar 2025 15:48:06 +0900 Subject: [PATCH 1/2] Replace `sessionStorage` with `localStorage` --- src/__tests__/storage.test.ts | 4 ++-- src/storage.ts | 8 ++++---- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/__tests__/storage.test.ts b/src/__tests__/storage.test.ts index 1f3ce72..8026bae 100644 --- a/src/__tests__/storage.test.ts +++ b/src/__tests__/storage.test.ts @@ -10,11 +10,11 @@ describe('storage', () => { }); test('get with invalid existing storage value', () => { - window.sessionStorage.setItem(STORE_KEY, '"abc"'); + window.localStorage.setItem(STORE_KEY, '"abc"'); expect(get('key1')).toBeUndefined(); - window.sessionStorage.setItem(STORE_KEY, ''); + window.localStorage.setItem(STORE_KEY, ''); expect(get('key1')).toBeUndefined(); }); diff --git a/src/storage.ts b/src/storage.ts index f3c29ac..b31310b 100644 --- a/src/storage.ts +++ b/src/storage.ts @@ -1,9 +1,9 @@ export const STORE_KEY = 'mt-link-javascript-sdk'; -const sessionStorage = window.sessionStorage; +const localStorage = window.localStorage; function getStorageObject(): { [key: string]: string } { - const stringifiedData = sessionStorage.getItem(STORE_KEY) || ''; + const stringifiedData = localStorage.getItem(STORE_KEY) || ''; let data = {}; try { @@ -23,14 +23,14 @@ export function set(key: string, value: string): void { const data = getStorageObject(); data[key] = value; - sessionStorage.setItem(STORE_KEY, JSON.stringify(data)); + localStorage.setItem(STORE_KEY, JSON.stringify(data)); } export function del(key: string): void { const data = getStorageObject(); delete data[key]; - sessionStorage.setItem(STORE_KEY, JSON.stringify(data)); + localStorage.setItem(STORE_KEY, JSON.stringify(data)); } export default { From 32e8fbf30182af7d638d62bfa89c653160dee2ad Mon Sep 17 00:00:00 2001 From: mt-btanner Date: Mon, 3 Mar 2025 15:49:41 +0900 Subject: [PATCH 2/2] Clean up `cv` in `localStorage` after `exchangeToken` succeeds --- src/api/exchange-token.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/src/api/exchange-token.ts b/src/api/exchange-token.ts index 1d6852e..2b40b30 100644 --- a/src/api/exchange-token.ts +++ b/src/api/exchange-token.ts @@ -64,6 +64,7 @@ export default async function exchangeToken( throw new Error(result.error_description); } + storage.del('cv'); return result as Token; } catch (error) { throw new Error(`[mt-link-sdk] \`exchangeToken\` execution failed. ${error}`);