diff --git a/platform/viewer/src/OHIFStandaloneViewer.js b/platform/viewer/src/OHIFStandaloneViewer.js index fd5d875e5..7bddfb9d6 100644 --- a/platform/viewer/src/OHIFStandaloneViewer.js +++ b/platform/viewer/src/OHIFStandaloneViewer.js @@ -52,10 +52,13 @@ class OHIFStandaloneViewer extends Component { const { appConfig = {} } = this.context; const userNotLoggedIn = userManager && (!user || user.expired); if (userNotLoggedIn) { - const pathname = this.props.location.pathname; + const { pathname, search } = this.props.location; if (pathname !== '/callback') { - sessionStorage.setItem('ohif-redirect-to', pathname); + sessionStorage.setItem( + 'ohif-redirect-to', + JSON.stringify({ pathname, search }) + ); } return ( @@ -103,12 +106,21 @@ class OHIFStandaloneViewer extends Component { userManager.removeUser().then(() => { if (targetLinkUri !== null) { + const ohifRedirectTo = { + pathname: new URL(targetLinkUri).pathname, + }; sessionStorage.setItem( 'ohif-redirect-to', - new URL(targetLinkUri).pathname + JSON.stringify(ohifRedirectTo) ); } else { - sessionStorage.setItem('ohif-redirect-to', '/'); + const ohifRedirectTo = { + pathname: '/', + }; + sessionStorage.setItem( + 'ohif-redirect-to', + JSON.stringify(ohifRedirectTo) + ); } if (loginHint !== null) { @@ -191,10 +203,10 @@ class OHIFStandaloneViewer extends Component { {match === null ? ( <> ) : ( - - - - )} + + + + )} )} diff --git a/platform/viewer/src/routes/CallbackPage.js b/platform/viewer/src/routes/CallbackPage.js index a6ba05883..f53f1dc13 100644 --- a/platform/viewer/src/routes/CallbackPage.js +++ b/platform/viewer/src/routes/CallbackPage.js @@ -14,9 +14,11 @@ class CallbackPage extends Component { { - const pathname = sessionStorage.getItem('ohif-redirect-to'); + const { pathname, search = '' } = JSON.parse( + sessionStorage.getItem('ohif-redirect-to') + ); - this.props.history.push(pathname); + this.props.history.push({ pathname, search }); }} errorCallback={error => { //this.props.history.push("/");