From 40abb2720e3061724c8f908e3dbb26b2d3bb8b01 Mon Sep 17 00:00:00 2001 From: sbwalker Date: Tue, 17 Sep 2024 17:29:11 -0400 Subject: [PATCH] fix logic to force authenticated user to provide email address so it works in static rendering --- Oqtane.Client/UI/ThemeBuilder.razor | 14 +++++++------- Oqtane.Server/Controllers/UserController.cs | 1 + 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/Oqtane.Client/UI/ThemeBuilder.razor b/Oqtane.Client/UI/ThemeBuilder.razor index 17dbed47..3058f4f4 100644 --- a/Oqtane.Client/UI/ThemeBuilder.razor +++ b/Oqtane.Client/UI/ThemeBuilder.razor @@ -20,6 +20,13 @@ return; } + // force authenticated user to provide email address (email may be missing if using external login) + if (PageState.User != null && PageState.User.IsAuthenticated && string.IsNullOrEmpty(PageState.User.Email) && PageState.Route.PagePath != "profile") + { + NavigationManager.NavigateTo(Utilities.NavigateUrl(PageState.Alias.Path, "profile", "returnurl=" + WebUtility.UrlEncode(PageState.Route.PathAndQuery))); + return; + } + // set page title if (!string.IsNullOrEmpty(PageState.Page.Title)) { @@ -83,13 +90,6 @@ protected override async Task OnAfterRenderAsync(bool firstRender) { - // force authenticated user to provide email address (email may be missing if using external login) - if (PageState.User != null && PageState.User.IsAuthenticated && string.IsNullOrEmpty(PageState.User.Email) && PageState.Route.PagePath != "profile") - { - NavigationManager.NavigateTo(Utilities.NavigateUrl(PageState.Alias.Path, "profile", "returnurl=" + WebUtility.UrlEncode(PageState.Route.PathAndQuery))); - return; - } - if (!firstRender) { if (!string.IsNullOrEmpty(PageState.Page.HeadContent) && PageState.Page.HeadContent.Contains("