diff --git a/src/Umbraco.Web.UI.Login/src/auth.element.ts b/src/Umbraco.Web.UI.Login/src/auth.element.ts index e195f3986a21..cbd23839ffc7 100644 --- a/src/Umbraco.Web.UI.Login/src/auth.element.ts +++ b/src/Umbraco.Web.UI.Login/src/auth.element.ts @@ -99,7 +99,7 @@ export default class UmbAuthElement extends LitElement { @property({attribute: 'return-url'}) set returnPath(value: string) { - umbAuthContext.returnPath = value; + umbAuthContext.returnPath = `${value}${encodeURIComponent(window.location.hash)}`; } get returnPath() { return umbAuthContext.returnPath; diff --git a/src/Umbraco.Web.UI.Login/src/components/external-login-provider.element.ts b/src/Umbraco.Web.UI.Login/src/components/external-login-provider.element.ts index 0729f97027d2..ffa4e6e1f4ea 100644 --- a/src/Umbraco.Web.UI.Login/src/components/external-login-provider.element.ts +++ b/src/Umbraco.Web.UI.Login/src/components/external-login-provider.element.ts @@ -74,7 +74,12 @@ export class UmbExternalLoginProviderElement extends LitElement { set externalLoginUrl(value: string) { const tempUrl = new URL(value, window.location.origin); const searchParams = new URLSearchParams(window.location.search); - tempUrl.searchParams.append('redirectUrl', decodeURIComponent(searchParams.get('returnPath') ?? '')); + let returnUrl = decodeURIComponent(searchParams.get('returnPath') ?? ''); + if(!returnUrl && window.location.hash) { + returnUrl = `/umbraco${window.location.hash}`; + } + + tempUrl.searchParams.append('redirectUrl', returnUrl); this.#externalLoginUrl = tempUrl.pathname + tempUrl.search; }