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/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}`); 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 {