@attribute [Authorize] @inherits AuthComponentBase @inject NavigationManager NavManager @inject IDataService DataService @inject SignInManager SignInManager @if (!string.IsNullOrWhiteSpace(_settings?.MessageOfTheDay)) {
} @code { private SettingsModel? _settings; protected override async Task OnAfterRenderAsync(bool firstRender) { if (User is not null && _settings?.Require2FA == true && !User.TwoFactorEnabled) { NavManager.NavigateTo("/TwoFactorRequired"); } await base.OnAfterRenderAsync(firstRender); } protected override async Task OnInitializedAsync() { _settings = await DataService.GetSettings(); await base.OnInitializedAsync(); var isAuthenticated = await AuthService.IsAuthenticated(); var userResult = await AuthService.GetUser(); // This handles a weird edge case when the user has been // deleted but still has an authentication cookie in their // browser. if (isAuthenticated == true && !userResult.IsSuccess) { await SignInManager.SignOutAsync(); NavManager.NavigateTo("/"); } } }