@using Oqtane.Themes @using Oqtane.Services @using Oqtane.Providers @using Oqtane.Shared @using Oqtane.Models @using Microsoft.JSInterop @inherits ThemeObjectBase @inject IUriHelper UriHelper @inject IUserService UserService @inject IJSRuntime jsRuntime @inject IServiceProvider ServiceProvider ... @code { private void LoginUser() { UriHelper.NavigateTo(NavigateUrl("login?returnurl=" + PageState.Page.Path)); } private async Task LogoutUser() { await UserService.LogoutUserAsync(); var authstateprovider = (IdentityAuthenticationStateProvider)ServiceProvider.GetService(typeof(IdentityAuthenticationStateProvider)); if (authstateprovider == null) { // server-side Blazor var interop = new Interop(jsRuntime); await interop.SubmitForm("/logout/", ""); } else { // client-side Blazor authstateprovider.NotifyAuthenticationChanged(); UriHelper.NavigateTo(NavigateUrl("login", true)); } } }