diff --git a/Oqtane.Client/Themes/Controls/Theme/LoginBase.cs b/Oqtane.Client/Themes/Controls/Theme/LoginBase.cs index 3279a94e..0b3ce9b8 100644 --- a/Oqtane.Client/Themes/Controls/Theme/LoginBase.cs +++ b/Oqtane.Client/Themes/Controls/Theme/LoginBase.cs @@ -28,16 +28,21 @@ namespace Oqtane.Themes.Controls var returnurl = WebUtility.UrlEncode(PageState.Route.PathAndQuery); - if (allowexternallogin && !allowsitelogin) + // Check if not already actioned Login + if(!NavigationManager.Uri.ToString().Contains("login?returnurl=%2F")) { - // external login - NavigationManager.NavigateTo(Utilities.TenantUrl(PageState.Alias, "/pages/external?returnurl=" + returnurl), true); - } - else - { - // local login - NavigationManager.NavigateTo(NavigateUrl("login", "?returnurl=" + returnurl)); + if (allowexternallogin && !allowsitelogin) + { + // external login + NavigationManager.NavigateTo(Utilities.TenantUrl(PageState.Alias, "/pages/external?returnurl=" + returnurl), true); + } + else + { + // local login + NavigationManager.NavigateTo(NavigateUrl("login", "?returnurl=" + returnurl)); + } } + } protected async Task LogoutUser()