diff --git a/src/services/aadService.ts b/src/services/aadService.ts index 682307c9c..7f4c62be5 100644 --- a/src/services/aadService.ts +++ b/src/services/aadService.ts @@ -44,7 +44,12 @@ export class AadService implements IAadService { } } - const returnUrl = this.routeHelper.getQueryParameter("returnUrl") || Constants.pageUrlHome; + const hash = this.router.getHash() + let returnUrl = this.routeHelper.getQueryParameter("returnUrl") || Constants.pageUrlHome; + + if (hash) { // special case for server-side redirect when hash part of URL gets discarded + returnUrl += `#${hash}`; + } this.router.getCurrentUrl() === returnUrl ? location.reload() diff --git a/src/services/aadServiceV2.ts b/src/services/aadServiceV2.ts index 5f5e5ac93..1ae7d64f7 100644 --- a/src/services/aadServiceV2.ts +++ b/src/services/aadServiceV2.ts @@ -44,7 +44,12 @@ export class AadServiceV2 implements IAadService { } } - const returnUrl = this.routeHelper.getQueryParameter("returnUrl") || Constants.pageUrlHome; + const hash = this.router.getHash() + let returnUrl = this.routeHelper.getQueryParameter("returnUrl") || Constants.pageUrlHome; + + if (hash) { // special case for server-side redirect when hash part of URL gets discarded + returnUrl += `#${hash}`; + } this.router.getCurrentUrl() === returnUrl ? location.reload()