Merge branch '16812-token-appears-in-the-download-URL' of git.arvados.org:arvados...
authorDaniel Kutyła <daniel.kutyla@contractors.roche.com>
Sun, 18 Oct 2020 22:11:38 +0000 (00:11 +0200)
committerDaniel Kutyła <daniel.kutyla@contractors.roche.com>
Sun, 18 Oct 2020 22:12:24 +0000 (00:12 +0200)
Arvados-DCO-1.1-Signed-off-by: Daniel Kutyła <daniel.kutyla@contractors.roche.com>

src/common/redirect-to.test.ts
src/common/redirect-to.ts

index c7d3a84e8cec8ca42e4c0233117a760478b0524c..e25d7be9530826ff09f8c7d8845b44ea9e756fe1 100644 (file)
@@ -7,7 +7,8 @@ import { storeRedirects, handleRedirects } from './redirect-to';
 describe('redirect-to', () => {
     const { location } = window;
     const config: any = {
-        keepWebServiceUrl: 'http://localhost'
+        keepWebServiceUrl: 'http://localhost',
+        keepWebServiceInlineUrl: 'http://localhost'
     };
     const redirectTo = '/test123';
     const locationTemplate = {
@@ -37,7 +38,7 @@ describe('redirect-to', () => {
                 ...locationTemplate,
                 href: `${location.href}?redirectTo=${redirectTo}`,
             } as any;
-            Object.defineProperty(window, 'sessionStorage', {
+            Object.defineProperty(window, 'localStorage', {
                 value: {
                     setItem: jest.fn(),
                 },
@@ -50,7 +51,7 @@ describe('redirect-to', () => {
             storeRedirects();
 
             // then
-            expect(window.sessionStorage.setItem).toHaveBeenCalledWith('redirectTo', redirectTo);
+            expect(window.localStorage.setItem).toHaveBeenCalledWith('redirectTo', redirectTo);
         });
     });
 
@@ -61,7 +62,7 @@ describe('redirect-to', () => {
                 ...locationTemplate,
                 href: `${location.href}?redirectTo=${redirectTo}`,
             } as any;;
-            Object.defineProperty(window, 'sessionStorage', {
+            Object.defineProperty(window, 'localStorage', {
                 value: {
                     getItem: () => redirectTo,
                     removeItem: jest.fn(),
index 7cb0d5805577794fae00148c5fd42f24d360cc8e..f5ece21be4e35e2aa563e817549cab364b29cf50 100644 (file)
@@ -8,22 +8,22 @@ const REDIRECT_TO_KEY = 'redirectTo';
 
 export const storeRedirects = () => {
     if (window.location.href.indexOf(REDIRECT_TO_KEY) > -1) {
-        const { location: { href }, sessionStorage } = window;
+        const { location: { href }, localStorage } = window;
         const redirectUrl = href.split(`${REDIRECT_TO_KEY}=`)[1];
 
-        if (sessionStorage) {
-            sessionStorage.setItem(REDIRECT_TO_KEY, redirectUrl);
+        if (localStorage) {
+            localStorage.setItem(REDIRECT_TO_KEY, redirectUrl);
         }
     }
 };
 
 export const handleRedirects = (token: string, config: Config) => {
-    const { sessionStorage } = window;
+    const { localStorage } = window;
     const { keepWebServiceUrl } = config;
 
-    if (sessionStorage && sessionStorage.getItem(REDIRECT_TO_KEY)) {
-        const redirectUrl = sessionStorage.getItem(REDIRECT_TO_KEY);
-        sessionStorage.removeItem(REDIRECT_TO_KEY);
+    if (localStorage && localStorage.getItem(REDIRECT_TO_KEY)) {
+        const redirectUrl = localStorage.getItem(REDIRECT_TO_KEY);
+        localStorage.removeItem(REDIRECT_TO_KEY);
         if (redirectUrl) {
             const sep = redirectUrl.indexOf("?") > -1 ? "&" : "?";
             window.location.href = `${keepWebServiceUrl}${redirectUrl}${sep}api_token=${token}`;