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("/");