@page "/Settings/Authentication" @using CaseConverter @using LANCommander.SDK.Extensions @using LANCommander.Server.Settings @using LANCommander.Server.UI.Pages.Settings.Authentication.Components @using Microsoft.Extensions.Options @inject IMessageService MessageService @inject ILogger Logger @inject IServiceProvider ServiceProvider @inject IOptions Settings @inject SettingsProvider SettingsProvider @attribute [Authorize(Roles = RoleService.AdministratorRoleName)]
@code { string FormatTokenLifetime(int value) { return value.ToString() + " days"; } void Save() { try { SettingsProvider.Update(s => { foreach (var authenticationProvider in Settings.Value.Server.Authentication.AuthenticationProviders) { if (String.IsNullOrWhiteSpace(authenticationProvider.Slug)) authenticationProvider.Slug = authenticationProvider.Name.ToPascalCase(); } s.Server.Authentication.AuthenticationProviders = Settings.Value.Server.Authentication.AuthenticationProviders; }); MessageService.Success("Settings saved!"); } catch (Exception ex) { MessageService.Error("An unknown error occurred."); Logger.LogError(ex, "An unknown error occurred."); } } }