From 7d8f493a2afc748b9cd8aa9d2380d17bf57efff3 Mon Sep 17 00:00:00 2001 From: Brice Date: Sat, 13 Feb 2021 12:26:29 +0100 Subject: [PATCH] Extract UI project for use in existing setups (v2) (#779) * Update README * Moved UI folders and files to new Admin.UI project * Fixed application version page can no longer refer to Startup type for detecting assembly version * Fixed build of Admin project that now depends on UI project * Extracted UI-specific startup helpers and classes into UI project * Removed bogus project dependency * Removed now unused namespace imports in map app startup helpers * Moved styles and scripts and more helpers to UI project * Moved back root configuration to Admin app because database migration and seeding is probably out of scope of UI * Moved startup service configuration to UI project through dependency injection helpers * Moved back one constant unrelated to UI into main project * Refactored UI project namespaces for consistency * Fixed some build issues * Stub for app builder extensions for UI project * Fixed test project build * Moved security headers feature to UI project * Moved startup app building to UI project * Fixed authorization middleware setup * Fixed UI view build * Fixed views cannot be resolved * Fixed static assets not accessible from root URL (e.g. ~/) * Cleaned up startup * Added convenience DI extensions for setting up UI * Cleaned up startup test * Moved migration helpers to UI project * Support for custom migration assemblies * Moved migration helpers and config down to EntityFramework.Shared * Fixed build and tests * Fixed DI UI helper not using custom entity types completely * Moved UI config json files to UI project * Disabled unused code in startup * Minor code style * Fixed view localization of UI failing when used in custom web app project * Refactored middleware configuration to simplify usage of Use* methods in Startup * Added configuration of health checks middleware * Options to further configure the auth pipelines, and better separation of endpoint routing * Ported UI to area * Fixed test build * Fixed seeding not working due to missing configuration bind * Fixed missing new views after merge * Fixed missing areas in new views * Fixed test build Co-authored-by: janskoruba --- .gitignore | 4 +- Skoruba.IdentityServer4.Admin.sln | 7 + .../Helpers/StartupHelpers.cs | 15 +- .../Extensions/DatabaseExtensions.cs | 26 +- .../Extensions/DatabaseExtensions.cs | 24 +- .../ConnectionStringsConfiguration.cs | 27 ++ .../DatabaseMigrationsConfiguration.cs | 29 ++ .../Configuration/Identity/Claim.cs | 2 +- .../Configuration/Identity/Role.cs | 2 +- .../Configuration/Identity/User.cs | 2 +- .../Configuration/IdentityData.cs | 11 + .../Configuration/IdentityServer/Client.cs | 4 +- .../Configuration/IdentityServerData.cs} | 6 +- .../Configuration/SeedConfiguration.cs | 2 +- .../Helpers/DbMigrationHelpers.cs | 18 +- .../Extensions/DatabaseExtensions.cs | 22 +- .../AdminUI}/Controllers/AccountController.cs | 53 +-- .../AdminUI}/Controllers/BaseController.cs | 5 +- .../Controllers/ConfigurationController.cs | 7 +- .../AdminUI}/Controllers/GrantController.cs | 9 +- .../AdminUI}/Controllers/HomeController.cs | 7 +- .../Controllers/IdentityController.cs | 9 +- .../AdminUI}/Controllers/LogController.cs | 5 +- .../Views/Account/AccessDenied.cshtml | 10 +- .../Views/Configuration/ApiResource.cshtml | 0 .../ApiResource/Section/Label.cshtml | 0 .../Configuration/ApiResourceDelete.cshtml | 0 .../ApiResourceProperties.cshtml | 0 .../ApiResourcePropertyDelete.cshtml | 0 .../Views/Configuration/ApiResources.cshtml | 0 .../Views/Configuration/ApiScope.cshtml | 8 +- .../ApiScope/Section/Label.cshtml | 0 .../Views/Configuration/ApiScopeDelete.cshtml | 0 .../Configuration/ApiScopeProperties.cshtml | 8 +- .../ApiScopePropertyDelete.cshtml | 8 +- .../Views/Configuration/ApiScopes.cshtml | 0 .../Configuration/ApiSecretDelete.cshtml | 0 .../Views/Configuration/ApiSecrets.cshtml | 0 .../Views/Configuration/Client.cshtml | 0 .../Client/Section/ActionButtons.cshtml | 0 .../Client/Section/Authentication.cshtml | 0 .../Client/Section/Basics.cshtml | 0 .../Client/Section/Consent.cshtml | 0 .../Client/Section/DeviceFlow.cshtml | 0 .../Configuration/Client/Section/Label.cshtml | 0 .../Configuration/Client/Section/Name.cshtml | 0 .../Configuration/Client/Section/Token.cshtml | 0 .../Configuration/Client/Settings.cshtml | 0 .../Configuration/ClientClaimDelete.cshtml | 0 .../Views/Configuration/ClientClaims.cshtml | 0 .../Views/Configuration/ClientClone.cshtml | 0 .../Views/Configuration/ClientDelete.cshtml | 0 .../Configuration/ClientProperties.cshtml | 0 .../Configuration/ClientPropertyDelete.cshtml | 0 .../Configuration/ClientSecretDelete.cshtml | 0 .../Views/Configuration/ClientSecrets.cshtml | 0 .../Views/Configuration/Clients.cshtml | 0 .../Configuration/IdentityResource.cshtml | 0 .../IdentityResource/Section/Label.cshtml | 0 .../IdentityResourceDelete.cshtml | 0 .../IdentityResourceProperties.cshtml | 0 .../IdentityResourcePropertyDelete.cshtml | 0 .../Configuration/IdentityResources.cshtml | 0 .../Views/Grant/PersistedGrant.cshtml | 2 +- .../Views/Grant/PersistedGrantDelete.cshtml | 0 .../Views/Grant/PersistedGrants.cshtml | 0 .../Areas/AdminUI}/Views/Home/Error.cshtml | 0 .../Areas/AdminUI}/Views/Home/Index.cshtml | 12 +- .../Areas/AdminUI}/Views/Identity/Role.cshtml | 0 .../Views/Identity/Role/Section/Label.cshtml | 0 .../AdminUI}/Views/Identity/RoleClaims.cshtml | 0 .../Views/Identity/RoleClaimsDelete.cshtml | 0 .../AdminUI}/Views/Identity/RoleDelete.cshtml | 0 .../AdminUI}/Views/Identity/RoleUsers.cshtml | 0 .../AdminUI}/Views/Identity/Roles.cshtml | 0 .../Views/Identity/User/Section/Label.cshtml | 0 .../Views/Identity/UserChangePassword.cshtml | 0 .../AdminUI}/Views/Identity/UserClaims.cshtml | 0 .../Views/Identity/UserClaimsDelete.cshtml | 0 .../AdminUI}/Views/Identity/UserDelete.cshtml | 0 .../Views/Identity/UserProfile.cshtml | 0 .../Views/Identity/UserProviders.cshtml | 0 .../Views/Identity/UserProvidersDelete.cshtml | 0 .../AdminUI}/Views/Identity/UserRoles.cshtml | 0 .../Views/Identity/UserRolesDelete.cshtml | 0 .../AdminUI}/Views/Identity/Users.cshtml | 0 .../Areas/AdminUI}/Views/Log/AuditLog.cshtml | 0 .../Areas/AdminUI}/Views/Log/ErrorsLog.cshtml | 2 +- .../Shared/Common/ApplicationVersion.cshtml | 4 +- .../Views/Shared/Common/ErrorPage.cshtml | 2 +- .../Views/Shared/Common/Notification.cshtml | 2 +- .../AdminUI}/Views/Shared/Common/Pager.cshtml | 2 +- .../Views/Shared/Common/PagerDynamic.cshtml | 2 +- .../Views/Shared/Common/Search.cshtml | 0 .../Views/Shared/Common/SelectLanguage.cshtml | 0 .../IdentityServerLink/Default.cshtml | 0 .../Areas/AdminUI}/Views/Shared/Error.cshtml | 0 .../AdminUI}/Views/Shared/_Layout.cshtml | 47 +- .../Areas/AdminUI}/Views/_ViewImports.cshtml | 2 +- .../Areas/AdminUI}/Views/_ViewStart.cshtml | 0 .../Configuration/AdminConfiguration.cs | 2 +- .../GenericControllerRouteConvention.cs | 2 +- .../GenericTypeControllerFeatureProvider.cs | 2 +- .../AuditLoggingConfiguration.cs | 2 +- .../Constants/AuthenticationConsts.cs | 2 +- .../Constants/AuthorizationConsts.cs | 2 +- .../Constants/ConfigurationConsts.cs | 10 +- .../Configuration/CultureConfiguration.cs | 2 +- .../Configuration/HttpConfiguration.cs | 7 + .../Configuration/SecurityConfiguration.cs | 41 ++ .../Configuration/TestingConfiguration.cs | 10 + .../ControllerExceptionFilterAttribute.cs | 4 +- .../AdminUIApplicationBuilderExtensions.cs | 52 +++ .../Helpers/DateTimeHelpers.cs | 2 +- .../AdminUIServiceCollectionExtensions.cs | 181 ++++++++ .../IdentityServer4AdminUIOptions.cs | 113 +++++ .../Helpers/Identity/IdentityErrorMessages.cs | 2 +- .../Localization/GenericServiceLocalizer.cs | 2 +- .../IGenericControllerLocalizer.cs | 2 +- .../Localization/ResourceViewLocalizer.cs | 118 ++++++ .../Helpers/MD5HashHelper.cs | 2 +- .../Helpers/NotificationHelpers.cs | 2 +- .../Helpers/PagerHelpers.cs | 2 +- .../Helpers/StartupHelpers.cs | 400 ++++++++++-------- .../Helpers/TagHelpers/GravatarTagHelper.cs | 2 +- .../Helpers/TagHelpers/PickerTagHelper.cs | 2 +- .../Helpers/TagHelpers/SwitchTagHelper.cs | 2 +- .../Helpers/UrlHelpers.cs | 2 +- .../AuthenticatedTestRequestMiddleware.cs | 2 +- .../ConfigurationController.da.resx | 0 .../ConfigurationController.de.resx | 0 .../ConfigurationController.en.resx | 0 .../ConfigurationController.es.resx | 0 .../ConfigurationController.fa.resx | 0 .../ConfigurationController.fi.resx | 0 .../ConfigurationController.fr.resx | 0 .../ConfigurationController.pt.resx | 0 .../ConfigurationController.ru.resx | 0 .../ConfigurationController.sv.resx | 0 .../ConfigurationController.zh.resx | 0 .../Controllers/GrantController.da.resx | 0 .../Controllers/GrantController.de.resx | 0 .../Controllers/GrantController.en.resx | 0 .../Controllers/GrantController.es.resx | 0 .../Controllers/GrantController.fa.resx | 0 .../Controllers/GrantController.fi.resx | 0 .../Controllers/GrantController.fr.resx | 0 .../Controllers/GrantController.pt.resx | 0 .../Controllers/GrantController.ru.resx | 0 .../Controllers/GrantController.sv.resx | 0 .../Controllers/GrantController.zh.resx | 0 .../Controllers/IdentityController.da.resx | 0 .../Controllers/IdentityController.de.resx | 0 .../Controllers/IdentityController.en.resx | 0 .../Controllers/IdentityController.es.resx | 0 .../Controllers/IdentityController.fa.resx | 0 .../Controllers/IdentityController.fi.resx | 0 .../Controllers/IdentityController.fr.resx | 0 .../Controllers/IdentityController.pt.resx | 0 .../Controllers/IdentityController.ru.resx | 0 .../Controllers/IdentityController.sv.resx | 0 .../Controllers/IdentityController.zh.resx | 0 .../Views/Account/AccessDenied.da.resx | 0 .../Views/Account/AccessDenied.de.resx | 0 .../Views/Account/AccessDenied.en.resx | 0 .../Views/Account/AccessDenied.es.resx | 0 .../Views/Account/AccessDenied.fa.resx | 0 .../Views/Account/AccessDenied.fi.resx | 0 .../Views/Account/AccessDenied.fr.resx | 0 .../Views/Account/AccessDenied.pt.resx | 0 .../Views/Account/AccessDenied.ru.resx | 0 .../Views/Account/AccessDenied.sv.resx | 0 .../Views/Account/AccessDenied.zh.resx | 0 .../Views/Configuration/ApiResource.da.resx | 0 .../Views/Configuration/ApiResource.de.resx | 0 .../Views/Configuration/ApiResource.en.resx | 0 .../Views/Configuration/ApiResource.es.resx | 0 .../Views/Configuration/ApiResource.fa.resx | 0 .../Views/Configuration/ApiResource.fi.resx | 0 .../Views/Configuration/ApiResource.fr.resx | 0 .../Views/Configuration/ApiResource.pt.resx | 0 .../Views/Configuration/ApiResource.ru.resx | 0 .../Views/Configuration/ApiResource.sv.resx | 0 .../Views/Configuration/ApiResource.zh.resx | 0 .../ApiResource/Section/Label.da.resx | 0 .../ApiResource/Section/Label.de.resx | 0 .../ApiResource/Section/Label.en.resx | 0 .../ApiResource/Section/Label.es.resx | 0 .../ApiResource/Section/Label.fa.resx | 0 .../ApiResource/Section/Label.fi.resx | 0 .../ApiResource/Section/Label.fr.resx | 0 .../ApiResource/Section/Label.pt.resx | 0 .../ApiResource/Section/Label.ru.resx | 0 .../ApiResource/Section/Label.sv.resx | 0 .../ApiResource/Section/Label.zh.resx | 0 .../Configuration/ApiResourceDelete.da.resx | 0 .../Configuration/ApiResourceDelete.de.resx | 0 .../Configuration/ApiResourceDelete.en.resx | 0 .../Configuration/ApiResourceDelete.es.resx | 0 .../Configuration/ApiResourceDelete.fa.resx | 0 .../Configuration/ApiResourceDelete.fi.resx | 0 .../Configuration/ApiResourceDelete.fr.resx | 0 .../Configuration/ApiResourceDelete.pt.resx | 0 .../Configuration/ApiResourceDelete.ru.resx | 0 .../Configuration/ApiResourceDelete.sv.resx | 0 .../Configuration/ApiResourceDelete.zh.resx | 0 .../ApiResourceProperties.da.resx | 0 .../ApiResourceProperties.de.resx | 0 .../ApiResourceProperties.en.resx | 0 .../ApiResourceProperties.es.resx | 0 .../ApiResourceProperties.fa.resx | 0 .../ApiResourceProperties.fi.resx | 0 .../ApiResourceProperties.fr.resx | 0 .../ApiResourceProperties.pt.resx | 0 .../ApiResourceProperties.ru.resx | 0 .../ApiResourceProperties.sv.resx | 0 .../ApiResourceProperties.zh.resx | 0 .../ApiResourcePropertyDelete.da.resx | 0 .../ApiResourcePropertyDelete.de.resx | 0 .../ApiResourcePropertyDelete.en.resx | 0 .../ApiResourcePropertyDelete.es.resx | 0 .../ApiResourcePropertyDelete.fa.resx | 0 .../ApiResourcePropertyDelete.fi.resx | 0 .../ApiResourcePropertyDelete.fr.resx | 0 .../ApiResourcePropertyDelete.pt.resx | 0 .../ApiResourcePropertyDelete.ru.resx | 0 .../ApiResourcePropertyDelete.sv.resx | 0 .../ApiResourcePropertyDelete.zh.resx | 0 .../Views/Configuration/ApiResources.da.resx | 0 .../Views/Configuration/ApiResources.de.resx | 0 .../Views/Configuration/ApiResources.en.resx | 0 .../Views/Configuration/ApiResources.es.resx | 0 .../Views/Configuration/ApiResources.fa.resx | 0 .../Views/Configuration/ApiResources.fi.resx | 0 .../Views/Configuration/ApiResources.fr.resx | 0 .../Views/Configuration/ApiResources.pt.resx | 0 .../Views/Configuration/ApiResources.ru.resx | 0 .../Views/Configuration/ApiResources.sv.resx | 0 .../Views/Configuration/ApiResources.zh.resx | 0 .../Views/Configuration/ApiScope.da.resx | 0 .../Views/Configuration/ApiScope.de.resx | 0 .../Views/Configuration/ApiScope.en.resx | 0 .../Views/Configuration/ApiScope.es.resx | 0 .../Views/Configuration/ApiScope.fa.resx | 0 .../Views/Configuration/ApiScope.fi.resx | 0 .../Views/Configuration/ApiScope.fr.resx | 0 .../Views/Configuration/ApiScope.pt.resx | 0 .../Views/Configuration/ApiScope.ru.resx | 0 .../Views/Configuration/ApiScope.sv.resx | 0 .../Views/Configuration/ApiScope.zh.resx | 0 .../ApiScope/Section/Label.da.resx | 0 .../ApiScope/Section/Label.de.resx | 0 .../ApiScope/Section/Label.en.resx | 0 .../ApiScope/Section/Label.es.resx | 0 .../ApiScope/Section/Label.fa.resx | 0 .../ApiScope/Section/Label.fi.resx | 0 .../ApiScope/Section/Label.fr.resx | 0 .../ApiScope/Section/Label.pt.resx | 0 .../ApiScope/Section/Label.ru.resx | 0 .../ApiScope/Section/Label.sv.resx | 0 .../ApiScope/Section/Label.zh.resx | 0 .../Configuration/ApiScopeDelete.da.resx | 0 .../Configuration/ApiScopeDelete.de.resx | 0 .../Configuration/ApiScopeDelete.en.resx | 0 .../Configuration/ApiScopeDelete.es.resx | 0 .../Configuration/ApiScopeDelete.fa.resx | 0 .../Configuration/ApiScopeDelete.fi.resx | 0 .../Configuration/ApiScopeDelete.fr.resx | 0 .../Configuration/ApiScopeDelete.pt.resx | 0 .../Configuration/ApiScopeDelete.ru.resx | 0 .../Configuration/ApiScopeDelete.sv.resx | 0 .../Configuration/ApiScopeDelete.zh.resx | 0 .../Configuration/ApiScopeProperties.da.resx | 0 .../Configuration/ApiScopeProperties.de.resx | 0 .../Configuration/ApiScopeProperties.en.resx | 0 .../Configuration/ApiScopeProperties.es.resx | 0 .../Configuration/ApiScopeProperties.fa.resx | 0 .../Configuration/ApiScopeProperties.fi.resx | 0 .../Configuration/ApiScopeProperties.fr.resx | 0 .../Configuration/ApiScopeProperties.pt.resx | 0 .../Configuration/ApiScopeProperties.ru.resx | 0 .../Configuration/ApiScopeProperties.sv.resx | 0 .../Configuration/ApiScopeProperties.zh.resx | 0 .../ApiScopePropertyDelete.da.resx | 0 .../ApiScopePropertyDelete.de.resx | 0 .../ApiScopePropertyDelete.en.resx | 0 .../ApiScopePropertyDelete.es.resx | 0 .../ApiScopePropertyDelete.fa.resx | 0 .../ApiScopePropertyDelete.fi.resx | 0 .../ApiScopePropertyDelete.fr.resx | 0 .../ApiScopePropertyDelete.pt.resx | 0 .../ApiScopePropertyDelete.ru.resx | 0 .../ApiScopePropertyDelete.sv.resx | 0 .../ApiScopePropertyDelete.zh.resx | 0 .../Views/Configuration/ApiScopes.da.resx | 0 .../Views/Configuration/ApiScopes.de.resx | 0 .../Views/Configuration/ApiScopes.en.resx | 0 .../Views/Configuration/ApiScopes.es.resx | 0 .../Views/Configuration/ApiScopes.fa.resx | 0 .../Views/Configuration/ApiScopes.fi.resx | 0 .../Views/Configuration/ApiScopes.fr.resx | 0 .../Views/Configuration/ApiScopes.pt.resx | 0 .../Views/Configuration/ApiScopes.ru.resx | 0 .../Views/Configuration/ApiScopes.sv.resx | 0 .../Views/Configuration/ApiScopes.zh.resx | 0 .../Configuration/ApiSecretDelete.da.resx | 0 .../Configuration/ApiSecretDelete.de.resx | 0 .../Configuration/ApiSecretDelete.en.resx | 0 .../Configuration/ApiSecretDelete.es.resx | 0 .../Configuration/ApiSecretDelete.fa.resx | 0 .../Configuration/ApiSecretDelete.fi.resx | 0 .../Configuration/ApiSecretDelete.fr.resx | 0 .../Configuration/ApiSecretDelete.pt.resx | 0 .../Configuration/ApiSecretDelete.ru.resx | 0 .../Configuration/ApiSecretDelete.sv.resx | 0 .../Configuration/ApiSecretDelete.zh.resx | 0 .../Views/Configuration/ApiSecrets.da.resx | 0 .../Views/Configuration/ApiSecrets.de.resx | 0 .../Views/Configuration/ApiSecrets.en.resx | 0 .../Views/Configuration/ApiSecrets.es.resx | 0 .../Views/Configuration/ApiSecrets.fa.resx | 0 .../Views/Configuration/ApiSecrets.fi.resx | 0 .../Views/Configuration/ApiSecrets.fr.resx | 0 .../Views/Configuration/ApiSecrets.pt.resx | 0 .../Views/Configuration/ApiSecrets.ru.resx | 0 .../Views/Configuration/ApiSecrets.sv.resx | 0 .../Views/Configuration/ApiSecrets.zh.resx | 0 .../Views/Configuration/Client.da.resx | 0 .../Views/Configuration/Client.de.resx | 0 .../Views/Configuration/Client.en.resx | 0 .../Views/Configuration/Client.es.resx | 0 .../Views/Configuration/Client.fa.resx | 0 .../Views/Configuration/Client.fi.resx | 0 .../Views/Configuration/Client.fr.resx | 0 .../Views/Configuration/Client.pt.resx | 0 .../Views/Configuration/Client.ru.resx | 0 .../Views/Configuration/Client.sv.resx | 0 .../Views/Configuration/Client.zh.resx | 0 .../Client/Section/ActionButtons.da.resx | 0 .../Client/Section/ActionButtons.de.resx | 0 .../Client/Section/ActionButtons.en.resx | 0 .../Client/Section/ActionButtons.es.resx | 0 .../Client/Section/ActionButtons.fa.resx | 0 .../Client/Section/ActionButtons.fi.resx | 0 .../Client/Section/ActionButtons.fr.resx | 0 .../Client/Section/ActionButtons.pt.resx | 0 .../Client/Section/ActionButtons.ru.resx | 0 .../Client/Section/ActionButtons.sv.resx | 0 .../Client/Section/ActionButtons.zh.resx | 0 .../Client/Section/Authentication.da.resx | 0 .../Client/Section/Authentication.de.resx | 0 .../Client/Section/Authentication.en.resx | 0 .../Client/Section/Authentication.es.resx | 0 .../Client/Section/Authentication.fa.resx | 0 .../Client/Section/Authentication.fi.resx | 0 .../Client/Section/Authentication.fr.resx | 0 .../Client/Section/Authentication.pt.resx | 0 .../Client/Section/Authentication.ru.resx | 0 .../Client/Section/Authentication.sv.resx | 0 .../Client/Section/Authentication.zh.resx | 0 .../Client/Section/Basics.da.resx | 0 .../Client/Section/Basics.de.resx | 0 .../Client/Section/Basics.en.resx | 0 .../Client/Section/Basics.es.resx | 0 .../Client/Section/Basics.fa.resx | 0 .../Client/Section/Basics.fi.resx | 0 .../Client/Section/Basics.fr.resx | 0 .../Client/Section/Basics.pt.resx | 0 .../Client/Section/Basics.ru.resx | 0 .../Client/Section/Basics.sv.resx | 0 .../Client/Section/Basics.zh.resx | 0 .../Client/Section/Consent.de.resx | 0 .../Client/Section/Consent.en.resx | 0 .../Client/Section/Consent.es.resx | 0 .../Client/Section/Consent.fa.resx | 0 .../Client/Section/Consent.fi.resx | 0 .../Client/Section/Consent.fr.resx | 0 .../Client/Section/Consent.pt.resx | 0 .../Client/Section/Consent.ru.resx | 0 .../Client/Section/Consent.sv.resx | 0 .../Client/Section/Consent.zh.resx | 0 .../Client/Section/DeviceFlow.de.resx | 0 .../Client/Section/DeviceFlow.en.resx | 0 .../Client/Section/DeviceFlow.es.resx | 0 .../Client/Section/DeviceFlow.fa.resx | 0 .../Client/Section/DeviceFlow.fr.resx | 0 .../Client/Section/DeviceFlow.pt.resx | 0 .../Client/Section/DeviceFlow.sv.resx | 0 .../Client/Section/DeviceFlow.zh.resx | 0 .../Client/Section/Label.de.resx | 0 .../Client/Section/Label.en.resx | 0 .../Client/Section/Label.es.resx | 0 .../Client/Section/Label.fa.resx | 0 .../Client/Section/Label.fi.resx | 0 .../Client/Section/Label.fr.resx | 0 .../Client/Section/Label.pt.resx | 0 .../Client/Section/Label.ru.resx | 0 .../Client/Section/Label.sv.resx | 0 .../Client/Section/Label.zh.resx | 0 .../Configuration/Client/Section/Name.de.resx | 0 .../Configuration/Client/Section/Name.en.resx | 0 .../Configuration/Client/Section/Name.es.resx | 0 .../Configuration/Client/Section/Name.fa.resx | 0 .../Configuration/Client/Section/Name.fi.resx | 0 .../Configuration/Client/Section/Name.fr.resx | 0 .../Configuration/Client/Section/Name.pt.resx | 0 .../Configuration/Client/Section/Name.ru.resx | 0 .../Configuration/Client/Section/Name.sv.resx | 0 .../Configuration/Client/Section/Name.zh.resx | 0 .../Client/Section/Token.de.resx | 0 .../Client/Section/Token.en.resx | 0 .../Client/Section/Token.es.resx | 0 .../Client/Section/Token.fa.resx | 0 .../Client/Section/Token.fi.resx | 0 .../Client/Section/Token.fr.resx | 0 .../Client/Section/Token.pt.resx | 0 .../Client/Section/Token.ru.resx | 0 .../Client/Section/Token.sv.resx | 0 .../Client/Section/Token.zh.resx | 0 .../Configuration/Client/Settings.da.resx | 0 .../Configuration/Client/Settings.de.resx | 0 .../Configuration/Client/Settings.en.resx | 0 .../Configuration/Client/Settings.es.resx | 0 .../Configuration/Client/Settings.fa.resx | 0 .../Configuration/Client/Settings.fi.resx | 0 .../Configuration/Client/Settings.fr.resx | 0 .../Configuration/Client/Settings.pt.resx | 0 .../Configuration/Client/Settings.ru.resx | 0 .../Configuration/Client/Settings.sv.resx | 0 .../Configuration/Client/Settings.zh.resx | 0 .../Configuration/ClientClaimDelete.da.resx | 0 .../Configuration/ClientClaimDelete.de.resx | 0 .../Configuration/ClientClaimDelete.en.resx | 0 .../Configuration/ClientClaimDelete.es.resx | 0 .../Configuration/ClientClaimDelete.fa.resx | 0 .../Configuration/ClientClaimDelete.fi.resx | 0 .../Configuration/ClientClaimDelete.fr.resx | 0 .../Configuration/ClientClaimDelete.pt.resx | 0 .../Configuration/ClientClaimDelete.ru.resx | 0 .../Configuration/ClientClaimDelete.sv.resx | 0 .../Configuration/ClientClaimDelete.zh.resx | 0 .../Views/Configuration/ClientClaims.da.resx | 0 .../Views/Configuration/ClientClaims.de.resx | 0 .../Views/Configuration/ClientClaims.en.resx | 0 .../Views/Configuration/ClientClaims.es.resx | 0 .../Views/Configuration/ClientClaims.fa.resx | 0 .../Views/Configuration/ClientClaims.fi.resx | 0 .../Views/Configuration/ClientClaims.fr.resx | 0 .../Views/Configuration/ClientClaims.pt.resx | 0 .../Views/Configuration/ClientClaims.ru.resx | 0 .../Views/Configuration/ClientClaims.sv.resx | 0 .../Views/Configuration/ClientClaims.zh.resx | 0 .../Views/Configuration/ClientClone.da.resx | 0 .../Views/Configuration/ClientClone.de.resx | 0 .../Views/Configuration/ClientClone.en.resx | 0 .../Views/Configuration/ClientClone.es.resx | 0 .../Views/Configuration/ClientClone.fa.resx | 0 .../Views/Configuration/ClientClone.fi.resx | 0 .../Views/Configuration/ClientClone.fr.resx | 0 .../Views/Configuration/ClientClone.pt.resx | 0 .../Views/Configuration/ClientClone.ru.resx | 0 .../Views/Configuration/ClientClone.sv.resx | 0 .../Views/Configuration/ClientClone.zh.resx | 0 .../Views/Configuration/ClientDelete.da.resx | 0 .../Views/Configuration/ClientDelete.de.resx | 0 .../Views/Configuration/ClientDelete.en.resx | 0 .../Views/Configuration/ClientDelete.es.resx | 0 .../Views/Configuration/ClientDelete.fa.resx | 0 .../Views/Configuration/ClientDelete.fi.resx | 0 .../Views/Configuration/ClientDelete.fr.resx | 0 .../Views/Configuration/ClientDelete.pt.resx | 0 .../Views/Configuration/ClientDelete.ru.resx | 0 .../Views/Configuration/ClientDelete.sv.resx | 0 .../Views/Configuration/ClientDelete.zh.resx | 0 .../Configuration/ClientProperties.da.resx | 0 .../Configuration/ClientProperties.de.resx | 0 .../Configuration/ClientProperties.en.resx | 0 .../Configuration/ClientProperties.es.resx | 0 .../Configuration/ClientProperties.fa.resx | 0 .../Configuration/ClientProperties.fi.resx | 0 .../Configuration/ClientProperties.fr.resx | 0 .../Configuration/ClientProperties.pt.resx | 0 .../Configuration/ClientProperties.ru.resx | 0 .../Configuration/ClientProperties.sv.resx | 0 .../Configuration/ClientProperties.zh.resx | 0 .../ClientPropertyDelete.da.resx | 0 .../ClientPropertyDelete.de.resx | 0 .../ClientPropertyDelete.en.resx | 0 .../ClientPropertyDelete.es.resx | 0 .../ClientPropertyDelete.fa.resx | 0 .../ClientPropertyDelete.fi.resx | 0 .../ClientPropertyDelete.fr.resx | 0 .../ClientPropertyDelete.pt.resx | 0 .../ClientPropertyDelete.ru.resx | 0 .../ClientPropertyDelete.sv.resx | 0 .../ClientPropertyDelete.zh.resx | 0 .../Configuration/ClientSecretDelete.da.resx | 0 .../Configuration/ClientSecretDelete.de.resx | 0 .../Configuration/ClientSecretDelete.en.resx | 0 .../Configuration/ClientSecretDelete.es.resx | 0 .../Configuration/ClientSecretDelete.fa.resx | 0 .../Configuration/ClientSecretDelete.fi.resx | 0 .../Configuration/ClientSecretDelete.fr.resx | 0 .../Configuration/ClientSecretDelete.pt.resx | 0 .../Configuration/ClientSecretDelete.ru.resx | 0 .../Configuration/ClientSecretDelete.sv.resx | 0 .../Configuration/ClientSecretDelete.zh.resx | 0 .../Views/Configuration/ClientSecrets.da.resx | 0 .../Views/Configuration/ClientSecrets.de.resx | 0 .../Views/Configuration/ClientSecrets.en.resx | 0 .../Views/Configuration/ClientSecrets.es.resx | 0 .../Views/Configuration/ClientSecrets.fa.resx | 0 .../Views/Configuration/ClientSecrets.fi.resx | 0 .../Views/Configuration/ClientSecrets.fr.resx | 0 .../Views/Configuration/ClientSecrets.pt.resx | 0 .../Views/Configuration/ClientSecrets.ru.resx | 0 .../Views/Configuration/ClientSecrets.sv.resx | 0 .../Views/Configuration/ClientSecrets.zh.resx | 0 .../Views/Configuration/Clients.da.resx | 0 .../Views/Configuration/Clients.de.resx | 0 .../Views/Configuration/Clients.en.resx | 0 .../Views/Configuration/Clients.es.resx | 0 .../Views/Configuration/Clients.fa.resx | 0 .../Views/Configuration/Clients.fi.resx | 0 .../Views/Configuration/Clients.fr.resx | 0 .../Views/Configuration/Clients.pt.resx | 0 .../Views/Configuration/Clients.ru.resx | 0 .../Views/Configuration/Clients.sv.resx | 0 .../Views/Configuration/Clients.zh.resx | 0 .../Configuration/IdentityResource.da.resx | 0 .../Configuration/IdentityResource.de.resx | 0 .../Configuration/IdentityResource.en.resx | 0 .../Configuration/IdentityResource.es.resx | 0 .../Configuration/IdentityResource.fa.resx | 0 .../Configuration/IdentityResource.fi.resx | 0 .../Configuration/IdentityResource.fr.resx | 0 .../Configuration/IdentityResource.pt.resx | 0 .../Configuration/IdentityResource.ru.resx | 0 .../Configuration/IdentityResource.sv.resx | 0 .../Configuration/IdentityResource.zh.resx | 0 .../IdentityResource/Section/Label.da.resx | 0 .../IdentityResource/Section/Label.de.resx | 0 .../IdentityResource/Section/Label.en.resx | 0 .../IdentityResource/Section/Label.es.resx | 0 .../IdentityResource/Section/Label.fa.resx | 0 .../IdentityResource/Section/Label.fi.resx | 0 .../IdentityResource/Section/Label.fr.resx | 0 .../IdentityResource/Section/Label.pt.resx | 0 .../IdentityResource/Section/Label.ru.resx | 0 .../IdentityResource/Section/Label.sv.resx | 0 .../IdentityResource/Section/Label.zh.resx | 0 .../IdentityResourceDelete.da.resx | 0 .../IdentityResourceDelete.de.resx | 0 .../IdentityResourceDelete.en.resx | 0 .../IdentityResourceDelete.es.resx | 0 .../IdentityResourceDelete.fa.resx | 0 .../IdentityResourceDelete.fi.resx | 0 .../IdentityResourceDelete.fr.resx | 0 .../IdentityResourceDelete.pt.resx | 0 .../IdentityResourceDelete.ru.resx | 0 .../IdentityResourceDelete.sv.resx | 0 .../IdentityResourceDelete.zh.resx | 0 .../IdentityResourceProperties.da.resx | 0 .../IdentityResourceProperties.de.resx | 0 .../IdentityResourceProperties.en.resx | 0 .../IdentityResourceProperties.es.resx | 0 .../IdentityResourceProperties.fa.resx | 0 .../IdentityResourceProperties.fi.resx | 0 .../IdentityResourceProperties.fr.resx | 0 .../IdentityResourceProperties.pt.resx | 0 .../IdentityResourceProperties.ru.resx | 0 .../IdentityResourceProperties.sv.resx | 0 .../IdentityResourceProperties.zh.resx | 0 .../IdentityResourcePropertyDelete.da.resx | 0 .../IdentityResourcePropertyDelete.de.resx | 0 .../IdentityResourcePropertyDelete.en.resx | 0 .../IdentityResourcePropertyDelete.es.resx | 0 .../IdentityResourcePropertyDelete.fa.resx | 0 .../IdentityResourcePropertyDelete.fi.resx | 0 .../IdentityResourcePropertyDelete.fr.resx | 0 .../IdentityResourcePropertyDelete.pt.resx | 0 .../IdentityResourcePropertyDelete.ru.resx | 0 .../IdentityResourcePropertyDelete.sv.resx | 0 .../IdentityResourcePropertyDelete.zh.resx | 0 .../Configuration/IdentityResources.da.resx | 0 .../Configuration/IdentityResources.de.resx | 0 .../Configuration/IdentityResources.en.resx | 0 .../Configuration/IdentityResources.es.resx | 0 .../Configuration/IdentityResources.fa.resx | 0 .../Configuration/IdentityResources.fi.resx | 0 .../Configuration/IdentityResources.fr.resx | 0 .../Configuration/IdentityResources.pt.resx | 0 .../Configuration/IdentityResources.ru.resx | 0 .../Configuration/IdentityResources.sv.resx | 0 .../Configuration/IdentityResources.zh.resx | 0 .../Views/Grant/PersistedGrant.da.resx | 0 .../Views/Grant/PersistedGrant.de.resx | 0 .../Views/Grant/PersistedGrant.en.resx | 0 .../Views/Grant/PersistedGrant.es.resx | 0 .../Views/Grant/PersistedGrant.fa.resx | 0 .../Views/Grant/PersistedGrant.fi.resx | 0 .../Views/Grant/PersistedGrant.fr.resx | 0 .../Views/Grant/PersistedGrant.pt.resx | 0 .../Views/Grant/PersistedGrant.ru.resx | 0 .../Views/Grant/PersistedGrant.sv.resx | 0 .../Views/Grant/PersistedGrant.zh.resx | 0 .../Views/Grant/PersistedGrantDelete.da.resx | 0 .../Views/Grant/PersistedGrantDelete.de.resx | 0 .../Views/Grant/PersistedGrantDelete.en.resx | 0 .../Views/Grant/PersistedGrantDelete.es.resx | 0 .../Views/Grant/PersistedGrantDelete.fa.resx | 0 .../Views/Grant/PersistedGrantDelete.fi.resx | 0 .../Views/Grant/PersistedGrantDelete.fr.resx | 0 .../Views/Grant/PersistedGrantDelete.pt.resx | 0 .../Views/Grant/PersistedGrantDelete.ru.resx | 0 .../Views/Grant/PersistedGrantDelete.sv.resx | 0 .../Views/Grant/PersistedGrantDelete.zh.resx | 0 .../Views/Grant/PersistedGrants.da.resx | 0 .../Views/Grant/PersistedGrants.de.resx | 0 .../Views/Grant/PersistedGrants.en.resx | 0 .../Views/Grant/PersistedGrants.es.resx | 0 .../Views/Grant/PersistedGrants.fa.resx | 0 .../Views/Grant/PersistedGrants.fi.resx | 0 .../Views/Grant/PersistedGrants.fr.resx | 0 .../Views/Grant/PersistedGrants.pt.resx | 0 .../Views/Grant/PersistedGrants.ru.resx | 0 .../Views/Grant/PersistedGrants.sv.resx | 0 .../Views/Grant/PersistedGrants.zh.resx | 0 .../Areas/AdminUI}/Views/Home/Index.da.resx | 0 .../Areas/AdminUI}/Views/Home/Index.de.resx | 0 .../Areas/AdminUI}/Views/Home/Index.en.resx | 0 .../Areas/AdminUI}/Views/Home/Index.es.resx | 0 .../Areas/AdminUI}/Views/Home/Index.fa.resx | 0 .../Areas/AdminUI}/Views/Home/Index.fi.resx | 0 .../Areas/AdminUI}/Views/Home/Index.fr.resx | 0 .../Areas/AdminUI}/Views/Home/Index.pt.resx | 0 .../Areas/AdminUI}/Views/Home/Index.ru.resx | 0 .../Areas/AdminUI}/Views/Home/Index.sv.resx | 0 .../Areas/AdminUI}/Views/Home/Index.zh.resx | 0 .../AdminUI}/Views/Identity/Role.da.resx | 0 .../AdminUI}/Views/Identity/Role.de.resx | 0 .../AdminUI}/Views/Identity/Role.en.resx | 0 .../AdminUI}/Views/Identity/Role.es.resx | 0 .../AdminUI}/Views/Identity/Role.fa.resx | 0 .../AdminUI}/Views/Identity/Role.fi.resx | 0 .../AdminUI}/Views/Identity/Role.fr.resx | 0 .../AdminUI}/Views/Identity/Role.pt.resx | 0 .../AdminUI}/Views/Identity/Role.ru.resx | 0 .../AdminUI}/Views/Identity/Role.sv.resx | 0 .../AdminUI}/Views/Identity/Role.zh.resx | 0 .../Views/Identity/Role/Section/Label.da.resx | 0 .../Views/Identity/Role/Section/Label.de.resx | 0 .../Views/Identity/Role/Section/Label.en.resx | 0 .../Views/Identity/Role/Section/Label.es.resx | 0 .../Views/Identity/Role/Section/Label.fa.resx | 0 .../Views/Identity/Role/Section/Label.fi.resx | 0 .../Views/Identity/Role/Section/Label.fr.resx | 0 .../Views/Identity/Role/Section/Label.pt.resx | 0 .../Views/Identity/Role/Section/Label.ru.resx | 0 .../Views/Identity/Role/Section/Label.sv.resx | 0 .../Views/Identity/Role/Section/Label.zh.resx | 0 .../Views/Identity/RoleClaims.da.resx | 0 .../Views/Identity/RoleClaims.de.resx | 0 .../Views/Identity/RoleClaims.en.resx | 0 .../Views/Identity/RoleClaims.es.resx | 0 .../Views/Identity/RoleClaims.fa.resx | 0 .../Views/Identity/RoleClaims.fi.resx | 0 .../Views/Identity/RoleClaims.fr.resx | 0 .../Views/Identity/RoleClaims.pt.resx | 0 .../Views/Identity/RoleClaims.ru.resx | 0 .../Views/Identity/RoleClaims.sv.resx | 0 .../Views/Identity/RoleClaims.zh.resx | 0 .../Views/Identity/RoleClaimsDelete.da.resx | 0 .../Views/Identity/RoleClaimsDelete.de.resx | 0 .../Views/Identity/RoleClaimsDelete.en.resx | 0 .../Views/Identity/RoleClaimsDelete.es.resx | 0 .../Views/Identity/RoleClaimsDelete.fa.resx | 0 .../Views/Identity/RoleClaimsDelete.fi.resx | 0 .../Views/Identity/RoleClaimsDelete.fr.resx | 0 .../Views/Identity/RoleClaimsDelete.pt.resx | 0 .../Views/Identity/RoleClaimsDelete.ru.resx | 0 .../Views/Identity/RoleClaimsDelete.sv.resx | 0 .../Views/Identity/RoleClaimsDelete.zh.resx | 0 .../Views/Identity/RoleDelete.da.resx | 0 .../Views/Identity/RoleDelete.de.resx | 0 .../Views/Identity/RoleDelete.en.resx | 0 .../Views/Identity/RoleDelete.es.resx | 0 .../Views/Identity/RoleDelete.fa.resx | 0 .../Views/Identity/RoleDelete.fi.resx | 0 .../Views/Identity/RoleDelete.fr.resx | 0 .../Views/Identity/RoleDelete.pt.resx | 0 .../Views/Identity/RoleDelete.ru.resx | 0 .../Views/Identity/RoleDelete.sv.resx | 0 .../Views/Identity/RoleDelete.zh.resx | 0 .../AdminUI}/Views/Identity/RoleUsers.da.resx | 0 .../AdminUI}/Views/Identity/RoleUsers.de.resx | 0 .../AdminUI}/Views/Identity/RoleUsers.en.resx | 0 .../AdminUI}/Views/Identity/RoleUsers.es.resx | 0 .../AdminUI}/Views/Identity/RoleUsers.fa.resx | 0 .../AdminUI}/Views/Identity/RoleUsers.fi.resx | 0 .../AdminUI}/Views/Identity/RoleUsers.fr.resx | 0 .../AdminUI}/Views/Identity/RoleUsers.pt.resx | 0 .../AdminUI}/Views/Identity/RoleUsers.ru.resx | 0 .../AdminUI}/Views/Identity/RoleUsers.sv.resx | 0 .../AdminUI}/Views/Identity/RoleUsers.zh.resx | 0 .../AdminUI}/Views/Identity/Roles.da.resx | 0 .../AdminUI}/Views/Identity/Roles.de.resx | 0 .../AdminUI}/Views/Identity/Roles.en.resx | 0 .../AdminUI}/Views/Identity/Roles.es.resx | 0 .../AdminUI}/Views/Identity/Roles.fa.resx | 0 .../AdminUI}/Views/Identity/Roles.fi.resx | 0 .../AdminUI}/Views/Identity/Roles.fr.resx | 0 .../AdminUI}/Views/Identity/Roles.pt.resx | 0 .../AdminUI}/Views/Identity/Roles.ru.resx | 0 .../AdminUI}/Views/Identity/Roles.sv.resx | 0 .../AdminUI}/Views/Identity/Roles.zh.resx | 0 .../Views/Identity/User/Section/Label.da.resx | 0 .../Views/Identity/User/Section/Label.de.resx | 0 .../Views/Identity/User/Section/Label.en.resx | 0 .../Views/Identity/User/Section/Label.es.resx | 0 .../Views/Identity/User/Section/Label.fa.resx | 0 .../Views/Identity/User/Section/Label.fi.resx | 0 .../Views/Identity/User/Section/Label.fr.resx | 0 .../Views/Identity/User/Section/Label.pt.resx | 0 .../Views/Identity/User/Section/Label.ru.resx | 0 .../Views/Identity/User/Section/Label.sv.resx | 0 .../Views/Identity/User/Section/Label.zh.resx | 0 .../Views/Identity/UserChangePassword.da.resx | 0 .../Views/Identity/UserChangePassword.de.resx | 0 .../Views/Identity/UserChangePassword.en.resx | 0 .../Views/Identity/UserChangePassword.es.resx | 0 .../Views/Identity/UserChangePassword.fa.resx | 0 .../Views/Identity/UserChangePassword.fi.resx | 0 .../Views/Identity/UserChangePassword.fr.resx | 0 .../Views/Identity/UserChangePassword.pt.resx | 0 .../Views/Identity/UserChangePassword.ru.resx | 0 .../Views/Identity/UserChangePassword.sv.resx | 0 .../Views/Identity/UserChangePassword.zh.resx | 0 .../Views/Identity/UserClaims.da.resx | 0 .../Views/Identity/UserClaims.de.resx | 0 .../Views/Identity/UserClaims.en.resx | 0 .../Views/Identity/UserClaims.es.resx | 0 .../Views/Identity/UserClaims.fa.resx | 0 .../Views/Identity/UserClaims.fi.resx | 0 .../Views/Identity/UserClaims.fr.resx | 0 .../Views/Identity/UserClaims.pt.resx | 0 .../Views/Identity/UserClaims.ru.resx | 0 .../Views/Identity/UserClaims.sv.resx | 0 .../Views/Identity/UserClaims.zh.resx | 0 .../Views/Identity/UserClaimsDelete.da.resx | 0 .../Views/Identity/UserClaimsDelete.de.resx | 0 .../Views/Identity/UserClaimsDelete.en.resx | 0 .../Views/Identity/UserClaimsDelete.es.resx | 0 .../Views/Identity/UserClaimsDelete.fa.resx | 0 .../Views/Identity/UserClaimsDelete.fi.resx | 0 .../Views/Identity/UserClaimsDelete.fr.resx | 0 .../Views/Identity/UserClaimsDelete.pt.resx | 0 .../Views/Identity/UserClaimsDelete.ru.resx | 0 .../Views/Identity/UserClaimsDelete.sv.resx | 0 .../Views/Identity/UserClaimsDelete.zh.resx | 0 .../Views/Identity/UserDelete.da.resx | 0 .../Views/Identity/UserDelete.de.resx | 0 .../Views/Identity/UserDelete.en.resx | 0 .../Views/Identity/UserDelete.es.resx | 0 .../Views/Identity/UserDelete.fa.resx | 0 .../Views/Identity/UserDelete.fi.resx | 0 .../Views/Identity/UserDelete.fr.resx | 0 .../Views/Identity/UserDelete.pt.resx | 0 .../Views/Identity/UserDelete.ru.resx | 0 .../Views/Identity/UserDelete.sv.resx | 0 .../Views/Identity/UserDelete.zh.resx | 0 .../Views/Identity/UserProfile.da.resx | 0 .../Views/Identity/UserProfile.de.resx | 0 .../Views/Identity/UserProfile.en.resx | 0 .../Views/Identity/UserProfile.es.resx | 0 .../Views/Identity/UserProfile.fa.resx | 0 .../Views/Identity/UserProfile.fi.resx | 0 .../Views/Identity/UserProfile.fr.resx | 0 .../Views/Identity/UserProfile.pt.resx | 0 .../Views/Identity/UserProfile.ru.resx | 0 .../Views/Identity/UserProfile.sv.resx | 0 .../Views/Identity/UserProfile.zh.resx | 0 .../Views/Identity/UserProviders.da.resx | 0 .../Views/Identity/UserProviders.de.resx | 0 .../Views/Identity/UserProviders.en.resx | 0 .../Views/Identity/UserProviders.es.resx | 0 .../Views/Identity/UserProviders.fa.resx | 0 .../Views/Identity/UserProviders.fi.resx | 0 .../Views/Identity/UserProviders.fr.resx | 0 .../Views/Identity/UserProviders.pt.resx | 0 .../Views/Identity/UserProviders.ru.resx | 0 .../Views/Identity/UserProviders.sv.resx | 0 .../Views/Identity/UserProviders.zh.resx | 0 .../Identity/UserProvidersDelete.da.resx | 0 .../Identity/UserProvidersDelete.de.resx | 0 .../Identity/UserProvidersDelete.en.resx | 0 .../Identity/UserProvidersDelete.es.resx | 0 .../Identity/UserProvidersDelete.fa.resx | 0 .../Identity/UserProvidersDelete.fi.resx | 0 .../Identity/UserProvidersDelete.fr.resx | 0 .../Identity/UserProvidersDelete.pt.resx | 0 .../Identity/UserProvidersDelete.ru.resx | 0 .../Identity/UserProvidersDelete.sv.resx | 0 .../Identity/UserProvidersDelete.zh.resx | 0 .../AdminUI}/Views/Identity/UserRoles.da.resx | 0 .../AdminUI}/Views/Identity/UserRoles.de.resx | 0 .../AdminUI}/Views/Identity/UserRoles.en.resx | 0 .../AdminUI}/Views/Identity/UserRoles.es.resx | 0 .../AdminUI}/Views/Identity/UserRoles.fa.resx | 0 .../AdminUI}/Views/Identity/UserRoles.fi.resx | 0 .../AdminUI}/Views/Identity/UserRoles.fr.resx | 0 .../AdminUI}/Views/Identity/UserRoles.pt.resx | 0 .../AdminUI}/Views/Identity/UserRoles.ru.resx | 0 .../AdminUI}/Views/Identity/UserRoles.sv.resx | 0 .../AdminUI}/Views/Identity/UserRoles.zh.resx | 0 .../Views/Identity/UserRolesDelete.da.resx | 0 .../Views/Identity/UserRolesDelete.de.resx | 0 .../Views/Identity/UserRolesDelete.en.resx | 0 .../Views/Identity/UserRolesDelete.es.resx | 0 .../Views/Identity/UserRolesDelete.fa.resx | 0 .../Views/Identity/UserRolesDelete.fi.resx | 0 .../Views/Identity/UserRolesDelete.fr.resx | 0 .../Views/Identity/UserRolesDelete.pt.resx | 0 .../Views/Identity/UserRolesDelete.ru.resx | 0 .../Views/Identity/UserRolesDelete.sv.resx | 0 .../Views/Identity/UserRolesDelete.zh.resx | 0 .../AdminUI}/Views/Identity/Users.da.resx | 0 .../AdminUI}/Views/Identity/Users.de.resx | 0 .../AdminUI}/Views/Identity/Users.en.resx | 0 .../AdminUI}/Views/Identity/Users.es.resx | 0 .../AdminUI}/Views/Identity/Users.fa.resx | 0 .../AdminUI}/Views/Identity/Users.fi.resx | 0 .../AdminUI}/Views/Identity/Users.fr.resx | 0 .../AdminUI}/Views/Identity/Users.pt.resx | 0 .../AdminUI}/Views/Identity/Users.ru.resx | 0 .../AdminUI}/Views/Identity/Users.sv.resx | 0 .../AdminUI}/Views/Identity/Users.zh.resx | 0 .../Areas/AdminUI}/Views/Log/AuditLog.da.resx | 0 .../Areas/AdminUI}/Views/Log/AuditLog.de.resx | 0 .../Areas/AdminUI}/Views/Log/AuditLog.en.resx | 0 .../Areas/AdminUI}/Views/Log/AuditLog.es.resx | 0 .../Areas/AdminUI}/Views/Log/AuditLog.fa.resx | 0 .../Areas/AdminUI}/Views/Log/AuditLog.fi.resx | 0 .../Areas/AdminUI}/Views/Log/AuditLog.fr.resx | 0 .../Areas/AdminUI}/Views/Log/AuditLog.pt.resx | 0 .../Areas/AdminUI}/Views/Log/AuditLog.ru.resx | 0 .../Areas/AdminUI}/Views/Log/AuditLog.sv.resx | 0 .../Areas/AdminUI}/Views/Log/AuditLog.zh.resx | 0 .../AdminUI}/Views/Log/ErrorsLog.da.resx | 0 .../AdminUI}/Views/Log/ErrorsLog.de.resx | 0 .../AdminUI}/Views/Log/ErrorsLog.en.resx | 0 .../AdminUI}/Views/Log/ErrorsLog.es.resx | 0 .../AdminUI}/Views/Log/ErrorsLog.fa.resx | 0 .../AdminUI}/Views/Log/ErrorsLog.fi.resx | 0 .../AdminUI}/Views/Log/ErrorsLog.fr.resx | 0 .../AdminUI}/Views/Log/ErrorsLog.pt.resx | 0 .../AdminUI}/Views/Log/ErrorsLog.ru.resx | 0 .../AdminUI}/Views/Log/ErrorsLog.sv.resx | 0 .../AdminUI}/Views/Log/ErrorsLog.zh.resx | 0 .../Views/Shared/Common/ErrorPage.da.resx | 0 .../Views/Shared/Common/ErrorPage.de.resx | 0 .../Views/Shared/Common/ErrorPage.en.resx | 0 .../Views/Shared/Common/ErrorPage.es.resx | 0 .../Views/Shared/Common/ErrorPage.fa.resx | 0 .../Views/Shared/Common/ErrorPage.fi.resx | 0 .../Views/Shared/Common/ErrorPage.fr.resx | 0 .../Views/Shared/Common/ErrorPage.pt.resx | 0 .../Views/Shared/Common/ErrorPage.ru.resx | 0 .../Views/Shared/Common/ErrorPage.sv.resx | 0 .../Views/Shared/Common/ErrorPage.zh.resx | 0 .../Views/Shared/Common/Pager.da.resx | 0 .../Views/Shared/Common/Pager.de.resx | 0 .../Views/Shared/Common/Pager.en.resx | 0 .../Views/Shared/Common/Pager.es.resx | 0 .../Views/Shared/Common/Pager.fa.resx | 0 .../Views/Shared/Common/Pager.fi.resx | 0 .../Views/Shared/Common/Pager.fr.resx | 0 .../Views/Shared/Common/Pager.pt.resx | 0 .../Views/Shared/Common/Pager.ru.resx | 0 .../Views/Shared/Common/Pager.sv.resx | 0 .../Views/Shared/Common/Pager.zh.resx | 0 .../Views/Shared/Common/PagerDynamic.de.resx | 0 .../Views/Shared/Common/PagerDynamic.en.resx | 0 .../Views/Shared/Common/PagerDynamic.es.resx | 0 .../Views/Shared/Common/PagerDynamic.fa.resx | 0 .../Views/Shared/Common/PagerDynamic.fi.resx | 0 .../Views/Shared/Common/PagerDynamic.fr.resx | 0 .../Views/Shared/Common/PagerDynamic.pt.resx | 0 .../Views/Shared/Common/PagerDynamic.ru.resx | 0 .../Views/Shared/Common/PagerDynamic.sv.resx | 0 .../Views/Shared/Common/Search.da.resx | 0 .../Views/Shared/Common/Search.de.resx | 0 .../Views/Shared/Common/Search.en.resx | 0 .../Views/Shared/Common/Search.es.resx | 0 .../Views/Shared/Common/Search.fa.resx | 0 .../Views/Shared/Common/Search.fi.resx | 0 .../Views/Shared/Common/Search.fr.resx | 0 .../Views/Shared/Common/Search.pt.resx | 0 .../Views/Shared/Common/Search.ru.resx | 0 .../Views/Shared/Common/Search.sv.resx | 0 .../Views/Shared/Common/Search.zh.resx | 0 .../Shared/Common/SelectLanguage.da.resx | 0 .../Shared/Common/SelectLanguage.de.resx | 0 .../Shared/Common/SelectLanguage.en.resx | 0 .../Shared/Common/SelectLanguage.es.resx | 0 .../Shared/Common/SelectLanguage.fa.resx | 0 .../Shared/Common/SelectLanguage.fi.resx | 0 .../Shared/Common/SelectLanguage.fr.resx | 0 .../Shared/Common/SelectLanguage.pt.resx | 0 .../Shared/Common/SelectLanguage.ru.resx | 0 .../Shared/Common/SelectLanguage.sv.resx | 0 .../Shared/Common/SelectLanguage.zh.resx | 0 .../IdentityServerLink/Default.da.resx | 0 .../IdentityServerLink/Default.de.resx | 0 .../IdentityServerLink/Default.en.resx | 0 .../IdentityServerLink/Default.es.resx | 0 .../IdentityServerLink/Default.fa.resx | 0 .../IdentityServerLink/Default.fi.resx | 0 .../IdentityServerLink/Default.fr.resx | 0 .../IdentityServerLink/Default.pt.resx | 0 .../IdentityServerLink/Default.ru.resx | 0 .../IdentityServerLink/Default.sv.resx | 0 .../IdentityServerLink/Default.zh.resx | 0 .../AdminUI}/Views/Shared/_Layout.da.resx | 0 .../AdminUI}/Views/Shared/_Layout.de.resx | 0 .../AdminUI}/Views/Shared/_Layout.en.resx | 0 .../AdminUI}/Views/Shared/_Layout.es.resx | 0 .../AdminUI}/Views/Shared/_Layout.fa.resx | 0 .../AdminUI}/Views/Shared/_Layout.fi.resx | 0 .../AdminUI}/Views/Shared/_Layout.fr.resx | 0 .../AdminUI}/Views/Shared/_Layout.pt.resx | 0 .../AdminUI}/Views/Shared/_Layout.ru.resx | 0 .../AdminUI}/Views/Shared/_Layout.sv.resx | 0 .../AdminUI}/Views/Shared/_Layout.zh.resx | 0 .../Identity/IdentityErrorMessages.en.resx | 0 .../Identity/IdentityErrorMessages.resx | 0 .../Services/ApiResourceService.da.resx | 0 .../Services/ApiResourceService.de.resx | 0 .../Services/ApiResourceService.en.resx | 0 .../Services/ApiResourceService.es.resx | 0 .../Services/ApiResourceService.fa.resx | 0 .../Services/ApiResourceService.fi.resx | 0 .../Services/ApiResourceService.fr.resx | 0 .../Services/ApiResourceService.pt.resx | 0 .../Services/ApiResourceService.ru.resx | 0 .../Services/ApiResourceService.sv.resx | 0 .../Services/ApiResourceService.zh.resx | 0 .../Resources/Services/ClientService.da.resx | 0 .../Resources/Services/ClientService.de.resx | 0 .../Resources/Services/ClientService.en.resx | 0 .../Resources/Services/ClientService.es.resx | 0 .../Resources/Services/ClientService.fa.resx | 0 .../Resources/Services/ClientService.fi.resx | 0 .../Resources/Services/ClientService.fr.resx | 0 .../Resources/Services/ClientService.pt.resx | 0 .../Resources/Services/ClientService.ru.resx | 0 .../Resources/Services/ClientService.sv.resx | 0 .../Resources/Services/ClientService.zh.resx | 0 .../Services/IdentityResourceService.da.resx | 0 .../Services/IdentityResourceService.de.resx | 0 .../Services/IdentityResourceService.en.resx | 0 .../Services/IdentityResourceService.es.resx | 0 .../Services/IdentityResourceService.fa.resx | 0 .../Services/IdentityResourceService.fi.resx | 0 .../Services/IdentityResourceService.fr.resx | 0 .../Services/IdentityResourceService.pt.resx | 0 .../Services/IdentityResourceService.ru.resx | 0 .../Services/IdentityResourceService.sv.resx | 0 .../Services/IdentityResourceService.zh.resx | 0 .../Services/IdentityService.da.resx | 0 .../Services/IdentityService.de.resx | 0 .../Services/IdentityService.en.resx | 0 .../Services/IdentityService.es.resx | 0 .../Services/IdentityService.fa.resx | 0 .../Services/IdentityService.fi.resx | 0 .../Services/IdentityService.fr.resx | 0 .../Services/IdentityService.pt.resx | 0 .../Services/IdentityService.ru.resx | 0 .../Services/IdentityService.sv.resx | 0 .../Services/IdentityService.zh.resx | 0 .../Services/PersistedGrantService.da.resx | 0 .../Services/PersistedGrantService.de.resx | 0 .../Services/PersistedGrantService.en.resx | 0 .../Services/PersistedGrantService.es.resx | 0 .../Services/PersistedGrantService.fa.resx | 0 .../Services/PersistedGrantService.fi.resx | 0 .../Services/PersistedGrantService.fr.resx | 0 .../Services/PersistedGrantService.pt.resx | 0 .../Services/PersistedGrantService.ru.resx | 0 .../Services/PersistedGrantService.sv.resx | 0 .../Services/PersistedGrantService.zh.resx | 0 .../Scripts/App/components/DatePicker.js | 0 .../Scripts/App/components/Menu.js | 0 .../Scripts/App/components/Picker.es5.js | 0 .../Scripts/App/components/Picker.es5.min.js | 0 .../Scripts/App/components/Picker.js | 0 .../Scripts/App/components/Picker.min.js | 0 .../Scripts/App/components/Theme.js | 0 .../Scripts/App/helpers/DateTimeHelpers.js | 0 .../Scripts/App/helpers/FormMvcHelpers.js | 0 .../Scripts/App/helpers/jsontree.min.js | 0 .../Scripts/App/pages/AuditLog.js | 0 .../Scripts/App/pages/ErrorsLog.js | 0 .../Scripts/App/pages/Secrets.js | 0 .../Skoruba.IdentityServer4.Admin.UI.csproj | 115 +++++ .../Styles/common/_all.scss | 0 .../Styles/common/common.scss | 0 .../Styles/common/fonts.scss | 0 .../Styles/common/form.scss | 0 .../Styles/common/margin.css | 0 .../Styles/common/margin.min.css | 0 .../Styles/common/margin.scss | 0 .../Styles/common/padding.css | 0 .../Styles/common/padding.min.css | 0 .../Styles/common/padding.scss | 0 .../Styles/controls/_all.scss | 0 .../Styles/controls/checkbox.scss | 0 .../Styles/controls/jsontree.css | 0 .../Styles/controls/navbar.scss | 0 .../Styles/controls/picker.scss | 0 .../Styles/controls/radio.scss | 0 .../Styles/controls/toastr.scss | 0 .../Styles/controls/validation.summary.css | 0 .../controls/validation.summary.min.css | 0 .../Styles/controls/validation.summary.scss | 0 .../Styles/pages/_all.scss | 0 .../Styles/pages/auditlog.scss | 0 .../Styles/pages/client.scss | 0 .../Styles/web.css | 0 .../Styles/web.min.css | 0 .../Styles/web.scss | 0 .../IdentityServerLinkViewComponent.cs | 22 + .../gulpfile.js | 0 .../package-lock.json | 0 .../package.json | 0 .../wwwroot/dist/css/bundle.min.css | 0 .../css/themes/cerulean/bootstrap.min.css | 0 .../dist/css/themes/cosmo/bootstrap.min.css | 0 .../dist/css/themes/cyborg/bootstrap.min.css | 0 .../dist/css/themes/darkly/bootstrap.min.css | 0 .../dist/css/themes/flatly/bootstrap.min.css | 0 .../dist/css/themes/journal/bootstrap.min.css | 0 .../dist/css/themes/litera/bootstrap.min.css | 0 .../dist/css/themes/lumen/bootstrap.min.css | 0 .../dist/css/themes/lux/bootstrap.min.css | 0 .../dist/css/themes/materia/bootstrap.min.css | 0 .../dist/css/themes/minty/bootstrap.min.css | 0 .../dist/css/themes/pulse/bootstrap.min.css | 0 .../css/themes/sandstone/bootstrap.min.css | 0 .../dist/css/themes/simplex/bootstrap.min.css | 0 .../dist/css/themes/sketchy/bootstrap.min.css | 0 .../dist/css/themes/slate/bootstrap.min.css | 0 .../dist/css/themes/solar/bootstrap.min.css | 0 .../css/themes/spacelab/bootstrap.min.css | 0 .../css/themes/superhero/bootstrap.min.css | 0 .../dist/css/themes/united/bootstrap.min.css | 0 .../dist/css/themes/yeti/bootstrap.min.css | 0 .../wwwroot/dist/css/web.css | 0 .../wwwroot/dist/css/web.min.css | 0 .../wwwroot/dist/fonts/FontAwesome.otf | Bin .../dist/fonts/fontawesome-webfont.eot | Bin .../dist/fonts/fontawesome-webfont.svg | 0 .../dist/fonts/fontawesome-webfont.ttf | Bin .../dist/fonts/fontawesome-webfont.woff | Bin .../dist/fonts/fontawesome-webfont.woff2 | Bin .../wwwroot/dist/fonts/open-iconic.eot | Bin .../wwwroot/dist/fonts/open-iconic.otf | Bin .../wwwroot/dist/fonts/open-iconic.svg | 0 .../wwwroot/dist/fonts/open-iconic.ttf | Bin .../wwwroot/dist/fonts/open-iconic.woff | Bin .../wwwroot/dist/js/bundle.min.js | 0 .../wwwroot/favicon.ico | Bin .../wwwroot/images/icons/device-client.png | Bin .../wwwroot/images/icons/empty-client.png | Bin .../wwwroot/images/icons/native-client.png | Bin .../wwwroot/images/icons/server-client.png | Bin .../wwwroot/images/icons/spa-client.png | Bin .../wwwroot/images/icons/web-client.png | Bin .../wwwroot/images/loading.gif | Bin .../DatabaseMigrationsConfiguration.cs | 7 - .../IdentityDataConfiguration.cs | 11 - .../Interfaces/IRootConfiguration.cs | 9 - .../Configuration/RootConfiguration.cs | 11 - .../Configuration/Test/StartupTest.cs | 31 +- src/Skoruba.IdentityServer4.Admin/Program.cs | 10 +- .../Properties/launchSettings.json | 47 +- .../Skoruba.IdentityServer4.Admin.csproj | 106 +---- src/Skoruba.IdentityServer4.Admin/Startup.cs | 152 ++----- .../IdentityServerLinkViewComponent.cs | 22 - .../appsettings.json | 16 +- .../Helpers/StartupHelpers.cs | 12 +- .../Common/HttpClientExtensions.cs | 6 +- .../Tests/Base/BaseClassFixture.cs | 8 +- .../Tests/ConfigurationControllerTests.cs | 7 +- .../Tests/GrantControllerTests.cs | 4 +- .../Tests/HomeControllerTests.cs | 4 +- .../Tests/IdentityControllerTests.cs | 5 +- .../Tests/LogControllerTests.cs | 4 +- .../ConfigurationControllerTests.cs | 4 +- .../Controllers/HomeControllerTests.cs | 2 +- .../Controllers/IdentityControllerTests.cs | 6 +- .../IdentityErrorDescriberFallbackTestData.cs | 2 +- .../Helpers/IdentityErrorDescriberTestData.cs | 2 +- .../Helpers/IdentityErrorDescriberTests.cs | 2 +- 1104 files changed, 1262 insertions(+), 746 deletions(-) create mode 100644 src/Skoruba.IdentityServer4.Admin.EntityFramework.Shared/Configuration/ConnectionStringsConfiguration.cs create mode 100644 src/Skoruba.IdentityServer4.Admin.EntityFramework.Shared/Configuration/DatabaseMigrationsConfiguration.cs rename src/{Skoruba.IdentityServer4.Admin => Skoruba.IdentityServer4.Admin.EntityFramework.Shared}/Configuration/Identity/Claim.cs (57%) rename src/{Skoruba.IdentityServer4.Admin => Skoruba.IdentityServer4.Admin.EntityFramework.Shared}/Configuration/Identity/Role.cs (68%) rename src/{Skoruba.IdentityServer4.Admin => Skoruba.IdentityServer4.Admin.EntityFramework.Shared}/Configuration/Identity/User.cs (80%) create mode 100644 src/Skoruba.IdentityServer4.Admin.EntityFramework.Shared/Configuration/IdentityData.cs rename src/{Skoruba.IdentityServer4.Admin => Skoruba.IdentityServer4.Admin.EntityFramework.Shared}/Configuration/IdentityServer/Client.cs (52%) rename src/{Skoruba.IdentityServer4.Admin/Configuration/IdentityServerDataConfiguration.cs => Skoruba.IdentityServer4.Admin.EntityFramework.Shared/Configuration/IdentityServerData.cs} (65%) rename src/{Skoruba.IdentityServer4.Admin => Skoruba.IdentityServer4.Admin.EntityFramework.Shared}/Configuration/SeedConfiguration.cs (56%) rename src/{Skoruba.IdentityServer4.Admin => Skoruba.IdentityServer4.Admin.EntityFramework.Shared}/Helpers/DbMigrationHelpers.cs (94%) rename src/{Skoruba.IdentityServer4.Admin => Skoruba.IdentityServer4.Admin.UI/Areas/AdminUI}/Controllers/AccountController.cs (80%) rename src/{Skoruba.IdentityServer4.Admin => Skoruba.IdentityServer4.Admin.UI/Areas/AdminUI}/Controllers/BaseController.cs (94%) rename src/{Skoruba.IdentityServer4.Admin => Skoruba.IdentityServer4.Admin.UI/Areas/AdminUI}/Controllers/ConfigurationController.cs (99%) rename src/{Skoruba.IdentityServer4.Admin => Skoruba.IdentityServer4.Admin.UI/Areas/AdminUI}/Controllers/GrantController.cs (91%) rename src/{Skoruba.IdentityServer4.Admin => Skoruba.IdentityServer4.Admin.UI/Areas/AdminUI}/Controllers/HomeController.cs (89%) rename src/{Skoruba.IdentityServer4.Admin => Skoruba.IdentityServer4.Admin.UI/Areas/AdminUI}/Controllers/IdentityController.cs (98%) rename src/{Skoruba.IdentityServer4.Admin => Skoruba.IdentityServer4.Admin.UI/Areas/AdminUI}/Controllers/LogController.cs (93%) rename src/{Skoruba.IdentityServer4.Admin => Skoruba.IdentityServer4.Admin.UI/Areas/AdminUI}/Views/Account/AccessDenied.cshtml (84%) rename src/{Skoruba.IdentityServer4.Admin => Skoruba.IdentityServer4.Admin.UI/Areas/AdminUI}/Views/Configuration/ApiResource.cshtml (100%) rename src/{Skoruba.IdentityServer4.Admin => Skoruba.IdentityServer4.Admin.UI/Areas/AdminUI}/Views/Configuration/ApiResource/Section/Label.cshtml (100%) rename src/{Skoruba.IdentityServer4.Admin => Skoruba.IdentityServer4.Admin.UI/Areas/AdminUI}/Views/Configuration/ApiResourceDelete.cshtml (100%) rename src/{Skoruba.IdentityServer4.Admin => Skoruba.IdentityServer4.Admin.UI/Areas/AdminUI}/Views/Configuration/ApiResourceProperties.cshtml (100%) rename src/{Skoruba.IdentityServer4.Admin => Skoruba.IdentityServer4.Admin.UI/Areas/AdminUI}/Views/Configuration/ApiResourcePropertyDelete.cshtml (100%) rename src/{Skoruba.IdentityServer4.Admin => Skoruba.IdentityServer4.Admin.UI/Areas/AdminUI}/Views/Configuration/ApiResources.cshtml (100%) rename src/{Skoruba.IdentityServer4.Admin => Skoruba.IdentityServer4.Admin.UI/Areas/AdminUI}/Views/Configuration/ApiScope.cshtml (90%) rename src/{Skoruba.IdentityServer4.Admin => Skoruba.IdentityServer4.Admin.UI/Areas/AdminUI}/Views/Configuration/ApiScope/Section/Label.cshtml (100%) rename src/{Skoruba.IdentityServer4.Admin => Skoruba.IdentityServer4.Admin.UI/Areas/AdminUI}/Views/Configuration/ApiScopeDelete.cshtml (100%) rename src/{Skoruba.IdentityServer4.Admin => Skoruba.IdentityServer4.Admin.UI/Areas/AdminUI}/Views/Configuration/ApiScopeProperties.cshtml (83%) rename src/{Skoruba.IdentityServer4.Admin => Skoruba.IdentityServer4.Admin.UI/Areas/AdminUI}/Views/Configuration/ApiScopePropertyDelete.cshtml (73%) rename src/{Skoruba.IdentityServer4.Admin => Skoruba.IdentityServer4.Admin.UI/Areas/AdminUI}/Views/Configuration/ApiScopes.cshtml (100%) rename src/{Skoruba.IdentityServer4.Admin => Skoruba.IdentityServer4.Admin.UI/Areas/AdminUI}/Views/Configuration/ApiSecretDelete.cshtml (100%) rename src/{Skoruba.IdentityServer4.Admin => Skoruba.IdentityServer4.Admin.UI/Areas/AdminUI}/Views/Configuration/ApiSecrets.cshtml (100%) rename src/{Skoruba.IdentityServer4.Admin => Skoruba.IdentityServer4.Admin.UI/Areas/AdminUI}/Views/Configuration/Client.cshtml (100%) rename src/{Skoruba.IdentityServer4.Admin => Skoruba.IdentityServer4.Admin.UI/Areas/AdminUI}/Views/Configuration/Client/Section/ActionButtons.cshtml (100%) rename src/{Skoruba.IdentityServer4.Admin => Skoruba.IdentityServer4.Admin.UI/Areas/AdminUI}/Views/Configuration/Client/Section/Authentication.cshtml (100%) rename src/{Skoruba.IdentityServer4.Admin => Skoruba.IdentityServer4.Admin.UI/Areas/AdminUI}/Views/Configuration/Client/Section/Basics.cshtml (100%) rename src/{Skoruba.IdentityServer4.Admin => Skoruba.IdentityServer4.Admin.UI/Areas/AdminUI}/Views/Configuration/Client/Section/Consent.cshtml (100%) rename src/{Skoruba.IdentityServer4.Admin => Skoruba.IdentityServer4.Admin.UI/Areas/AdminUI}/Views/Configuration/Client/Section/DeviceFlow.cshtml (100%) rename src/{Skoruba.IdentityServer4.Admin => Skoruba.IdentityServer4.Admin.UI/Areas/AdminUI}/Views/Configuration/Client/Section/Label.cshtml (100%) rename src/{Skoruba.IdentityServer4.Admin => Skoruba.IdentityServer4.Admin.UI/Areas/AdminUI}/Views/Configuration/Client/Section/Name.cshtml (100%) rename src/{Skoruba.IdentityServer4.Admin => Skoruba.IdentityServer4.Admin.UI/Areas/AdminUI}/Views/Configuration/Client/Section/Token.cshtml (100%) rename src/{Skoruba.IdentityServer4.Admin => Skoruba.IdentityServer4.Admin.UI/Areas/AdminUI}/Views/Configuration/Client/Settings.cshtml (100%) rename src/{Skoruba.IdentityServer4.Admin => Skoruba.IdentityServer4.Admin.UI/Areas/AdminUI}/Views/Configuration/ClientClaimDelete.cshtml (100%) rename src/{Skoruba.IdentityServer4.Admin => Skoruba.IdentityServer4.Admin.UI/Areas/AdminUI}/Views/Configuration/ClientClaims.cshtml (100%) rename src/{Skoruba.IdentityServer4.Admin => Skoruba.IdentityServer4.Admin.UI/Areas/AdminUI}/Views/Configuration/ClientClone.cshtml (100%) rename src/{Skoruba.IdentityServer4.Admin => Skoruba.IdentityServer4.Admin.UI/Areas/AdminUI}/Views/Configuration/ClientDelete.cshtml (100%) rename src/{Skoruba.IdentityServer4.Admin => Skoruba.IdentityServer4.Admin.UI/Areas/AdminUI}/Views/Configuration/ClientProperties.cshtml (100%) rename src/{Skoruba.IdentityServer4.Admin => Skoruba.IdentityServer4.Admin.UI/Areas/AdminUI}/Views/Configuration/ClientPropertyDelete.cshtml (100%) rename src/{Skoruba.IdentityServer4.Admin => Skoruba.IdentityServer4.Admin.UI/Areas/AdminUI}/Views/Configuration/ClientSecretDelete.cshtml (100%) rename src/{Skoruba.IdentityServer4.Admin => Skoruba.IdentityServer4.Admin.UI/Areas/AdminUI}/Views/Configuration/ClientSecrets.cshtml (100%) rename src/{Skoruba.IdentityServer4.Admin => Skoruba.IdentityServer4.Admin.UI/Areas/AdminUI}/Views/Configuration/Clients.cshtml (100%) rename src/{Skoruba.IdentityServer4.Admin => Skoruba.IdentityServer4.Admin.UI/Areas/AdminUI}/Views/Configuration/IdentityResource.cshtml (100%) rename src/{Skoruba.IdentityServer4.Admin => Skoruba.IdentityServer4.Admin.UI/Areas/AdminUI}/Views/Configuration/IdentityResource/Section/Label.cshtml (100%) rename src/{Skoruba.IdentityServer4.Admin => Skoruba.IdentityServer4.Admin.UI/Areas/AdminUI}/Views/Configuration/IdentityResourceDelete.cshtml (100%) rename src/{Skoruba.IdentityServer4.Admin => Skoruba.IdentityServer4.Admin.UI/Areas/AdminUI}/Views/Configuration/IdentityResourceProperties.cshtml (100%) rename src/{Skoruba.IdentityServer4.Admin => Skoruba.IdentityServer4.Admin.UI/Areas/AdminUI}/Views/Configuration/IdentityResourcePropertyDelete.cshtml (100%) rename src/{Skoruba.IdentityServer4.Admin => Skoruba.IdentityServer4.Admin.UI/Areas/AdminUI}/Views/Configuration/IdentityResources.cshtml (100%) rename src/{Skoruba.IdentityServer4.Admin => Skoruba.IdentityServer4.Admin.UI/Areas/AdminUI}/Views/Grant/PersistedGrant.cshtml (98%) rename src/{Skoruba.IdentityServer4.Admin => Skoruba.IdentityServer4.Admin.UI/Areas/AdminUI}/Views/Grant/PersistedGrantDelete.cshtml (100%) rename src/{Skoruba.IdentityServer4.Admin => Skoruba.IdentityServer4.Admin.UI/Areas/AdminUI}/Views/Grant/PersistedGrants.cshtml (100%) rename src/{Skoruba.IdentityServer4.Admin => Skoruba.IdentityServer4.Admin.UI/Areas/AdminUI}/Views/Home/Error.cshtml (100%) rename src/{Skoruba.IdentityServer4.Admin => Skoruba.IdentityServer4.Admin.UI/Areas/AdminUI}/Views/Home/Index.cshtml (93%) rename src/{Skoruba.IdentityServer4.Admin => Skoruba.IdentityServer4.Admin.UI/Areas/AdminUI}/Views/Identity/Role.cshtml (100%) rename src/{Skoruba.IdentityServer4.Admin => Skoruba.IdentityServer4.Admin.UI/Areas/AdminUI}/Views/Identity/Role/Section/Label.cshtml (100%) rename src/{Skoruba.IdentityServer4.Admin => Skoruba.IdentityServer4.Admin.UI/Areas/AdminUI}/Views/Identity/RoleClaims.cshtml (100%) rename src/{Skoruba.IdentityServer4.Admin => Skoruba.IdentityServer4.Admin.UI/Areas/AdminUI}/Views/Identity/RoleClaimsDelete.cshtml (100%) rename src/{Skoruba.IdentityServer4.Admin => Skoruba.IdentityServer4.Admin.UI/Areas/AdminUI}/Views/Identity/RoleDelete.cshtml (100%) rename src/{Skoruba.IdentityServer4.Admin => Skoruba.IdentityServer4.Admin.UI/Areas/AdminUI}/Views/Identity/RoleUsers.cshtml (100%) rename src/{Skoruba.IdentityServer4.Admin => Skoruba.IdentityServer4.Admin.UI/Areas/AdminUI}/Views/Identity/Roles.cshtml (100%) rename src/{Skoruba.IdentityServer4.Admin => Skoruba.IdentityServer4.Admin.UI/Areas/AdminUI}/Views/Identity/User/Section/Label.cshtml (100%) rename src/{Skoruba.IdentityServer4.Admin => Skoruba.IdentityServer4.Admin.UI/Areas/AdminUI}/Views/Identity/UserChangePassword.cshtml (100%) rename src/{Skoruba.IdentityServer4.Admin => Skoruba.IdentityServer4.Admin.UI/Areas/AdminUI}/Views/Identity/UserClaims.cshtml (100%) rename src/{Skoruba.IdentityServer4.Admin => Skoruba.IdentityServer4.Admin.UI/Areas/AdminUI}/Views/Identity/UserClaimsDelete.cshtml (100%) rename src/{Skoruba.IdentityServer4.Admin => Skoruba.IdentityServer4.Admin.UI/Areas/AdminUI}/Views/Identity/UserDelete.cshtml (100%) rename src/{Skoruba.IdentityServer4.Admin => Skoruba.IdentityServer4.Admin.UI/Areas/AdminUI}/Views/Identity/UserProfile.cshtml (100%) rename src/{Skoruba.IdentityServer4.Admin => Skoruba.IdentityServer4.Admin.UI/Areas/AdminUI}/Views/Identity/UserProviders.cshtml (100%) rename src/{Skoruba.IdentityServer4.Admin => Skoruba.IdentityServer4.Admin.UI/Areas/AdminUI}/Views/Identity/UserProvidersDelete.cshtml (100%) rename src/{Skoruba.IdentityServer4.Admin => Skoruba.IdentityServer4.Admin.UI/Areas/AdminUI}/Views/Identity/UserRoles.cshtml (100%) rename src/{Skoruba.IdentityServer4.Admin => Skoruba.IdentityServer4.Admin.UI/Areas/AdminUI}/Views/Identity/UserRolesDelete.cshtml (100%) rename src/{Skoruba.IdentityServer4.Admin => Skoruba.IdentityServer4.Admin.UI/Areas/AdminUI}/Views/Identity/Users.cshtml (100%) rename src/{Skoruba.IdentityServer4.Admin => Skoruba.IdentityServer4.Admin.UI/Areas/AdminUI}/Views/Log/AuditLog.cshtml (100%) rename src/{Skoruba.IdentityServer4.Admin => Skoruba.IdentityServer4.Admin.UI/Areas/AdminUI}/Views/Log/ErrorsLog.cshtml (98%) rename src/{Skoruba.IdentityServer4.Admin => Skoruba.IdentityServer4.Admin.UI/Areas/AdminUI}/Views/Shared/Common/ApplicationVersion.cshtml (68%) rename src/{Skoruba.IdentityServer4.Admin => Skoruba.IdentityServer4.Admin.UI/Areas/AdminUI}/Views/Shared/Common/ErrorPage.cshtml (91%) rename src/{Skoruba.IdentityServer4.Admin => Skoruba.IdentityServer4.Admin.UI/Areas/AdminUI}/Views/Shared/Common/Notification.cshtml (95%) rename src/{Skoruba.IdentityServer4.Admin => Skoruba.IdentityServer4.Admin.UI/Areas/AdminUI}/Views/Shared/Common/Pager.cshtml (98%) rename src/{Skoruba.IdentityServer4.Admin => Skoruba.IdentityServer4.Admin.UI/Areas/AdminUI}/Views/Shared/Common/PagerDynamic.cshtml (97%) rename src/{Skoruba.IdentityServer4.Admin => Skoruba.IdentityServer4.Admin.UI/Areas/AdminUI}/Views/Shared/Common/Search.cshtml (100%) rename src/{Skoruba.IdentityServer4.Admin => Skoruba.IdentityServer4.Admin.UI/Areas/AdminUI}/Views/Shared/Common/SelectLanguage.cshtml (100%) rename src/{Skoruba.IdentityServer4.Admin => Skoruba.IdentityServer4.Admin.UI/Areas/AdminUI}/Views/Shared/Components/IdentityServerLink/Default.cshtml (100%) rename src/{Skoruba.IdentityServer4.Admin => Skoruba.IdentityServer4.Admin.UI/Areas/AdminUI}/Views/Shared/Error.cshtml (100%) rename src/{Skoruba.IdentityServer4.Admin => Skoruba.IdentityServer4.Admin.UI/Areas/AdminUI}/Views/Shared/_Layout.cshtml (63%) rename src/{Skoruba.IdentityServer4.Admin => Skoruba.IdentityServer4.Admin.UI/Areas/AdminUI}/Views/_ViewImports.cshtml (62%) rename src/{Skoruba.IdentityServer4.Admin => Skoruba.IdentityServer4.Admin.UI/Areas/AdminUI}/Views/_ViewStart.cshtml (100%) rename src/{Skoruba.IdentityServer4.Admin => Skoruba.IdentityServer4.Admin.UI}/Configuration/AdminConfiguration.cs (94%) rename src/{Skoruba.IdentityServer4.Admin => Skoruba.IdentityServer4.Admin.UI}/Configuration/ApplicationParts/GenericControllerRouteConvention.cs (89%) rename src/{Skoruba.IdentityServer4.Admin => Skoruba.IdentityServer4.Admin.UI}/Configuration/ApplicationParts/GenericTypeControllerFeatureProvider.cs (97%) rename src/{Skoruba.IdentityServer4.Admin => Skoruba.IdentityServer4.Admin.UI}/Configuration/AuditLoggingConfiguration.cs (81%) rename src/{Skoruba.IdentityServer4.Admin => Skoruba.IdentityServer4.Admin.UI}/Configuration/Constants/AuthenticationConsts.cs (76%) rename src/{Skoruba.IdentityServer4.Admin => Skoruba.IdentityServer4.Admin.UI}/Configuration/Constants/AuthorizationConsts.cs (65%) rename src/{Skoruba.IdentityServer4.Admin => Skoruba.IdentityServer4.Admin.UI}/Configuration/Constants/ConfigurationConsts.cs (67%) rename src/{Skoruba.IdentityServer4.Admin => Skoruba.IdentityServer4.Admin.UI}/Configuration/CultureConfiguration.cs (88%) create mode 100644 src/Skoruba.IdentityServer4.Admin.UI/Configuration/HttpConfiguration.cs create mode 100644 src/Skoruba.IdentityServer4.Admin.UI/Configuration/SecurityConfiguration.cs create mode 100644 src/Skoruba.IdentityServer4.Admin.UI/Configuration/TestingConfiguration.cs rename src/{Skoruba.IdentityServer4.Admin => Skoruba.IdentityServer4.Admin.UI}/ExceptionHandling/ControllerExceptionFilterAttribute.cs (97%) create mode 100644 src/Skoruba.IdentityServer4.Admin.UI/Helpers/ApplicationBuilder/AdminUIApplicationBuilderExtensions.cs rename src/{Skoruba.IdentityServer4.Admin => Skoruba.IdentityServer4.Admin.UI}/Helpers/DateTimeHelpers.cs (86%) create mode 100644 src/Skoruba.IdentityServer4.Admin.UI/Helpers/DependencyInjection/AdminUIServiceCollectionExtensions.cs create mode 100644 src/Skoruba.IdentityServer4.Admin.UI/Helpers/DependencyInjection/IdentityServer4AdminUIOptions.cs rename src/{Skoruba.IdentityServer4.Admin => Skoruba.IdentityServer4.Admin.UI}/Helpers/Identity/IdentityErrorMessages.cs (99%) rename src/{Skoruba.IdentityServer4.Admin => Skoruba.IdentityServer4.Admin.UI}/Helpers/Localization/GenericServiceLocalizer.cs (97%) rename src/{Skoruba.IdentityServer4.Admin => Skoruba.IdentityServer4.Admin.UI}/Helpers/Localization/IGenericControllerLocalizer.cs (84%) create mode 100644 src/Skoruba.IdentityServer4.Admin.UI/Helpers/Localization/ResourceViewLocalizer.cs rename src/{Skoruba.IdentityServer4.Admin => Skoruba.IdentityServer4.Admin.UI}/Helpers/MD5HashHelper.cs (94%) rename src/{Skoruba.IdentityServer4.Admin => Skoruba.IdentityServer4.Admin.UI}/Helpers/NotificationHelpers.cs (89%) rename src/{Skoruba.IdentityServer4.Admin => Skoruba.IdentityServer4.Admin.UI}/Helpers/PagerHelpers.cs (98%) rename src/{Skoruba.IdentityServer4.Admin => Skoruba.IdentityServer4.Admin.UI}/Helpers/StartupHelpers.cs (73%) rename src/{Skoruba.IdentityServer4.Admin => Skoruba.IdentityServer4.Admin.UI}/Helpers/TagHelpers/GravatarTagHelper.cs (95%) rename src/{Skoruba.IdentityServer4.Admin => Skoruba.IdentityServer4.Admin.UI}/Helpers/TagHelpers/PickerTagHelper.cs (98%) rename src/{Skoruba.IdentityServer4.Admin => Skoruba.IdentityServer4.Admin.UI}/Helpers/TagHelpers/SwitchTagHelper.cs (92%) rename src/{Skoruba.IdentityServer4.Admin => Skoruba.IdentityServer4.Admin.UI}/Helpers/UrlHelpers.cs (87%) rename src/{Skoruba.IdentityServer4.Admin => Skoruba.IdentityServer4.Admin.UI}/Middlewares/AuthenticatedTestRequestMiddleware.cs (94%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Controllers/ConfigurationController.da.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Controllers/ConfigurationController.de.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Controllers/ConfigurationController.en.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Controllers/ConfigurationController.es.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Controllers/ConfigurationController.fa.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Controllers/ConfigurationController.fi.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Controllers/ConfigurationController.fr.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Controllers/ConfigurationController.pt.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Controllers/ConfigurationController.ru.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Controllers/ConfigurationController.sv.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Controllers/ConfigurationController.zh.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Controllers/GrantController.da.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Controllers/GrantController.de.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Controllers/GrantController.en.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Controllers/GrantController.es.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Controllers/GrantController.fa.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Controllers/GrantController.fi.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Controllers/GrantController.fr.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Controllers/GrantController.pt.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Controllers/GrantController.ru.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Controllers/GrantController.sv.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Controllers/GrantController.zh.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Controllers/IdentityController.da.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Controllers/IdentityController.de.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Controllers/IdentityController.en.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Controllers/IdentityController.es.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Controllers/IdentityController.fa.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Controllers/IdentityController.fi.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Controllers/IdentityController.fr.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Controllers/IdentityController.pt.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Controllers/IdentityController.ru.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Controllers/IdentityController.sv.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Controllers/IdentityController.zh.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Account/AccessDenied.da.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Account/AccessDenied.de.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Account/AccessDenied.en.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Account/AccessDenied.es.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Account/AccessDenied.fa.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Account/AccessDenied.fi.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Account/AccessDenied.fr.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Account/AccessDenied.pt.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Account/AccessDenied.ru.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Account/AccessDenied.sv.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Account/AccessDenied.zh.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/ApiResource.da.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/ApiResource.de.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/ApiResource.en.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/ApiResource.es.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/ApiResource.fa.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/ApiResource.fi.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/ApiResource.fr.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/ApiResource.pt.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/ApiResource.ru.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/ApiResource.sv.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/ApiResource.zh.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/ApiResource/Section/Label.da.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/ApiResource/Section/Label.de.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/ApiResource/Section/Label.en.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/ApiResource/Section/Label.es.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/ApiResource/Section/Label.fa.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/ApiResource/Section/Label.fi.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/ApiResource/Section/Label.fr.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/ApiResource/Section/Label.pt.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/ApiResource/Section/Label.ru.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/ApiResource/Section/Label.sv.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/ApiResource/Section/Label.zh.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/ApiResourceDelete.da.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/ApiResourceDelete.de.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/ApiResourceDelete.en.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/ApiResourceDelete.es.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/ApiResourceDelete.fa.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/ApiResourceDelete.fi.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/ApiResourceDelete.fr.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/ApiResourceDelete.pt.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/ApiResourceDelete.ru.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/ApiResourceDelete.sv.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/ApiResourceDelete.zh.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/ApiResourceProperties.da.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/ApiResourceProperties.de.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/ApiResourceProperties.en.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/ApiResourceProperties.es.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/ApiResourceProperties.fa.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/ApiResourceProperties.fi.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/ApiResourceProperties.fr.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/ApiResourceProperties.pt.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/ApiResourceProperties.ru.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/ApiResourceProperties.sv.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/ApiResourceProperties.zh.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/ApiResourcePropertyDelete.da.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/ApiResourcePropertyDelete.de.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/ApiResourcePropertyDelete.en.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/ApiResourcePropertyDelete.es.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/ApiResourcePropertyDelete.fa.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/ApiResourcePropertyDelete.fi.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/ApiResourcePropertyDelete.fr.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/ApiResourcePropertyDelete.pt.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/ApiResourcePropertyDelete.ru.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/ApiResourcePropertyDelete.sv.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/ApiResourcePropertyDelete.zh.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/ApiResources.da.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/ApiResources.de.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/ApiResources.en.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/ApiResources.es.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/ApiResources.fa.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/ApiResources.fi.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/ApiResources.fr.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/ApiResources.pt.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/ApiResources.ru.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/ApiResources.sv.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/ApiResources.zh.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/ApiScope.da.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/ApiScope.de.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/ApiScope.en.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/ApiScope.es.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/ApiScope.fa.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/ApiScope.fi.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/ApiScope.fr.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/ApiScope.pt.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/ApiScope.ru.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/ApiScope.sv.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/ApiScope.zh.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/ApiScope/Section/Label.da.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/ApiScope/Section/Label.de.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/ApiScope/Section/Label.en.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/ApiScope/Section/Label.es.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/ApiScope/Section/Label.fa.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/ApiScope/Section/Label.fi.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/ApiScope/Section/Label.fr.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/ApiScope/Section/Label.pt.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/ApiScope/Section/Label.ru.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/ApiScope/Section/Label.sv.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/ApiScope/Section/Label.zh.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/ApiScopeDelete.da.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/ApiScopeDelete.de.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/ApiScopeDelete.en.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/ApiScopeDelete.es.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/ApiScopeDelete.fa.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/ApiScopeDelete.fi.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/ApiScopeDelete.fr.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/ApiScopeDelete.pt.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/ApiScopeDelete.ru.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/ApiScopeDelete.sv.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/ApiScopeDelete.zh.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/ApiScopeProperties.da.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/ApiScopeProperties.de.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/ApiScopeProperties.en.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/ApiScopeProperties.es.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/ApiScopeProperties.fa.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/ApiScopeProperties.fi.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/ApiScopeProperties.fr.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/ApiScopeProperties.pt.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/ApiScopeProperties.ru.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/ApiScopeProperties.sv.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/ApiScopeProperties.zh.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/ApiScopePropertyDelete.da.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/ApiScopePropertyDelete.de.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/ApiScopePropertyDelete.en.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/ApiScopePropertyDelete.es.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/ApiScopePropertyDelete.fa.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/ApiScopePropertyDelete.fi.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/ApiScopePropertyDelete.fr.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/ApiScopePropertyDelete.pt.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/ApiScopePropertyDelete.ru.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/ApiScopePropertyDelete.sv.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/ApiScopePropertyDelete.zh.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/ApiScopes.da.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/ApiScopes.de.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/ApiScopes.en.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/ApiScopes.es.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/ApiScopes.fa.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/ApiScopes.fi.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/ApiScopes.fr.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/ApiScopes.pt.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/ApiScopes.ru.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/ApiScopes.sv.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/ApiScopes.zh.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/ApiSecretDelete.da.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/ApiSecretDelete.de.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/ApiSecretDelete.en.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/ApiSecretDelete.es.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/ApiSecretDelete.fa.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/ApiSecretDelete.fi.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/ApiSecretDelete.fr.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/ApiSecretDelete.pt.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/ApiSecretDelete.ru.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/ApiSecretDelete.sv.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/ApiSecretDelete.zh.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/ApiSecrets.da.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/ApiSecrets.de.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/ApiSecrets.en.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/ApiSecrets.es.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/ApiSecrets.fa.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/ApiSecrets.fi.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/ApiSecrets.fr.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/ApiSecrets.pt.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/ApiSecrets.ru.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/ApiSecrets.sv.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/ApiSecrets.zh.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/Client.da.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/Client.de.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/Client.en.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/Client.es.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/Client.fa.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/Client.fi.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/Client.fr.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/Client.pt.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/Client.ru.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/Client.sv.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/Client.zh.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/Client/Section/ActionButtons.da.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/Client/Section/ActionButtons.de.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/Client/Section/ActionButtons.en.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/Client/Section/ActionButtons.es.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/Client/Section/ActionButtons.fa.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/Client/Section/ActionButtons.fi.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/Client/Section/ActionButtons.fr.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/Client/Section/ActionButtons.pt.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/Client/Section/ActionButtons.ru.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/Client/Section/ActionButtons.sv.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/Client/Section/ActionButtons.zh.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/Client/Section/Authentication.da.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/Client/Section/Authentication.de.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/Client/Section/Authentication.en.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/Client/Section/Authentication.es.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/Client/Section/Authentication.fa.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/Client/Section/Authentication.fi.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/Client/Section/Authentication.fr.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/Client/Section/Authentication.pt.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/Client/Section/Authentication.ru.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/Client/Section/Authentication.sv.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/Client/Section/Authentication.zh.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/Client/Section/Basics.da.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/Client/Section/Basics.de.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/Client/Section/Basics.en.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/Client/Section/Basics.es.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/Client/Section/Basics.fa.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/Client/Section/Basics.fi.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/Client/Section/Basics.fr.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/Client/Section/Basics.pt.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/Client/Section/Basics.ru.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/Client/Section/Basics.sv.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/Client/Section/Basics.zh.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/Client/Section/Consent.de.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/Client/Section/Consent.en.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/Client/Section/Consent.es.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/Client/Section/Consent.fa.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/Client/Section/Consent.fi.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/Client/Section/Consent.fr.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/Client/Section/Consent.pt.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/Client/Section/Consent.ru.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/Client/Section/Consent.sv.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/Client/Section/Consent.zh.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/Client/Section/DeviceFlow.de.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/Client/Section/DeviceFlow.en.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/Client/Section/DeviceFlow.es.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/Client/Section/DeviceFlow.fa.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/Client/Section/DeviceFlow.fr.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/Client/Section/DeviceFlow.pt.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/Client/Section/DeviceFlow.sv.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/Client/Section/DeviceFlow.zh.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/Client/Section/Label.de.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/Client/Section/Label.en.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/Client/Section/Label.es.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/Client/Section/Label.fa.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/Client/Section/Label.fi.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/Client/Section/Label.fr.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/Client/Section/Label.pt.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/Client/Section/Label.ru.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/Client/Section/Label.sv.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/Client/Section/Label.zh.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/Client/Section/Name.de.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/Client/Section/Name.en.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/Client/Section/Name.es.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/Client/Section/Name.fa.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/Client/Section/Name.fi.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/Client/Section/Name.fr.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/Client/Section/Name.pt.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/Client/Section/Name.ru.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/Client/Section/Name.sv.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/Client/Section/Name.zh.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/Client/Section/Token.de.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/Client/Section/Token.en.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/Client/Section/Token.es.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/Client/Section/Token.fa.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/Client/Section/Token.fi.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/Client/Section/Token.fr.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/Client/Section/Token.pt.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/Client/Section/Token.ru.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/Client/Section/Token.sv.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/Client/Section/Token.zh.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/Client/Settings.da.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/Client/Settings.de.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/Client/Settings.en.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/Client/Settings.es.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/Client/Settings.fa.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/Client/Settings.fi.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/Client/Settings.fr.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/Client/Settings.pt.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/Client/Settings.ru.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/Client/Settings.sv.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/Client/Settings.zh.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/ClientClaimDelete.da.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/ClientClaimDelete.de.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/ClientClaimDelete.en.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/ClientClaimDelete.es.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/ClientClaimDelete.fa.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/ClientClaimDelete.fi.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/ClientClaimDelete.fr.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/ClientClaimDelete.pt.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/ClientClaimDelete.ru.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/ClientClaimDelete.sv.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/ClientClaimDelete.zh.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/ClientClaims.da.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/ClientClaims.de.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/ClientClaims.en.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/ClientClaims.es.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/ClientClaims.fa.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/ClientClaims.fi.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/ClientClaims.fr.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/ClientClaims.pt.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/ClientClaims.ru.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/ClientClaims.sv.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/ClientClaims.zh.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/ClientClone.da.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/ClientClone.de.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/ClientClone.en.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/ClientClone.es.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/ClientClone.fa.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/ClientClone.fi.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/ClientClone.fr.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/ClientClone.pt.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/ClientClone.ru.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/ClientClone.sv.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/ClientClone.zh.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/ClientDelete.da.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/ClientDelete.de.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/ClientDelete.en.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/ClientDelete.es.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/ClientDelete.fa.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/ClientDelete.fi.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/ClientDelete.fr.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/ClientDelete.pt.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/ClientDelete.ru.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/ClientDelete.sv.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/ClientDelete.zh.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/ClientProperties.da.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/ClientProperties.de.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/ClientProperties.en.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/ClientProperties.es.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/ClientProperties.fa.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/ClientProperties.fi.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/ClientProperties.fr.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/ClientProperties.pt.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/ClientProperties.ru.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/ClientProperties.sv.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/ClientProperties.zh.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/ClientPropertyDelete.da.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/ClientPropertyDelete.de.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/ClientPropertyDelete.en.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/ClientPropertyDelete.es.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/ClientPropertyDelete.fa.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/ClientPropertyDelete.fi.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/ClientPropertyDelete.fr.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/ClientPropertyDelete.pt.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/ClientPropertyDelete.ru.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/ClientPropertyDelete.sv.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/ClientPropertyDelete.zh.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/ClientSecretDelete.da.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/ClientSecretDelete.de.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/ClientSecretDelete.en.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/ClientSecretDelete.es.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/ClientSecretDelete.fa.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/ClientSecretDelete.fi.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/ClientSecretDelete.fr.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/ClientSecretDelete.pt.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/ClientSecretDelete.ru.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/ClientSecretDelete.sv.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/ClientSecretDelete.zh.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/ClientSecrets.da.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/ClientSecrets.de.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/ClientSecrets.en.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/ClientSecrets.es.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/ClientSecrets.fa.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/ClientSecrets.fi.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/ClientSecrets.fr.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/ClientSecrets.pt.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/ClientSecrets.ru.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/ClientSecrets.sv.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/ClientSecrets.zh.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/Clients.da.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/Clients.de.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/Clients.en.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/Clients.es.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/Clients.fa.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/Clients.fi.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/Clients.fr.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/Clients.pt.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/Clients.ru.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/Clients.sv.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/Clients.zh.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/IdentityResource.da.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/IdentityResource.de.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/IdentityResource.en.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/IdentityResource.es.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/IdentityResource.fa.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/IdentityResource.fi.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/IdentityResource.fr.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/IdentityResource.pt.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/IdentityResource.ru.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/IdentityResource.sv.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/IdentityResource.zh.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/IdentityResource/Section/Label.da.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/IdentityResource/Section/Label.de.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/IdentityResource/Section/Label.en.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/IdentityResource/Section/Label.es.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/IdentityResource/Section/Label.fa.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/IdentityResource/Section/Label.fi.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/IdentityResource/Section/Label.fr.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/IdentityResource/Section/Label.pt.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/IdentityResource/Section/Label.ru.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/IdentityResource/Section/Label.sv.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/IdentityResource/Section/Label.zh.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/IdentityResourceDelete.da.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/IdentityResourceDelete.de.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/IdentityResourceDelete.en.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/IdentityResourceDelete.es.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/IdentityResourceDelete.fa.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/IdentityResourceDelete.fi.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/IdentityResourceDelete.fr.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/IdentityResourceDelete.pt.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/IdentityResourceDelete.ru.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/IdentityResourceDelete.sv.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/IdentityResourceDelete.zh.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/IdentityResourceProperties.da.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/IdentityResourceProperties.de.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/IdentityResourceProperties.en.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/IdentityResourceProperties.es.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/IdentityResourceProperties.fa.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/IdentityResourceProperties.fi.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/IdentityResourceProperties.fr.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/IdentityResourceProperties.pt.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/IdentityResourceProperties.ru.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/IdentityResourceProperties.sv.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/IdentityResourceProperties.zh.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/IdentityResourcePropertyDelete.da.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/IdentityResourcePropertyDelete.de.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/IdentityResourcePropertyDelete.en.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/IdentityResourcePropertyDelete.es.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/IdentityResourcePropertyDelete.fa.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/IdentityResourcePropertyDelete.fi.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/IdentityResourcePropertyDelete.fr.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/IdentityResourcePropertyDelete.pt.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/IdentityResourcePropertyDelete.ru.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/IdentityResourcePropertyDelete.sv.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/IdentityResourcePropertyDelete.zh.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/IdentityResources.da.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/IdentityResources.de.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/IdentityResources.en.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/IdentityResources.es.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/IdentityResources.fa.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/IdentityResources.fi.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/IdentityResources.fr.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/IdentityResources.pt.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/IdentityResources.ru.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/IdentityResources.sv.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Configuration/IdentityResources.zh.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Grant/PersistedGrant.da.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Grant/PersistedGrant.de.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Grant/PersistedGrant.en.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Grant/PersistedGrant.es.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Grant/PersistedGrant.fa.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Grant/PersistedGrant.fi.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Grant/PersistedGrant.fr.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Grant/PersistedGrant.pt.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Grant/PersistedGrant.ru.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Grant/PersistedGrant.sv.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Grant/PersistedGrant.zh.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Grant/PersistedGrantDelete.da.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Grant/PersistedGrantDelete.de.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Grant/PersistedGrantDelete.en.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Grant/PersistedGrantDelete.es.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Grant/PersistedGrantDelete.fa.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Grant/PersistedGrantDelete.fi.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Grant/PersistedGrantDelete.fr.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Grant/PersistedGrantDelete.pt.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Grant/PersistedGrantDelete.ru.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Grant/PersistedGrantDelete.sv.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Grant/PersistedGrantDelete.zh.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Grant/PersistedGrants.da.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Grant/PersistedGrants.de.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Grant/PersistedGrants.en.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Grant/PersistedGrants.es.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Grant/PersistedGrants.fa.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Grant/PersistedGrants.fi.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Grant/PersistedGrants.fr.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Grant/PersistedGrants.pt.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Grant/PersistedGrants.ru.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Grant/PersistedGrants.sv.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Grant/PersistedGrants.zh.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Home/Index.da.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Home/Index.de.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Home/Index.en.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Home/Index.es.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Home/Index.fa.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Home/Index.fi.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Home/Index.fr.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Home/Index.pt.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Home/Index.ru.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Home/Index.sv.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Home/Index.zh.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Identity/Role.da.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Identity/Role.de.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Identity/Role.en.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Identity/Role.es.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Identity/Role.fa.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Identity/Role.fi.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Identity/Role.fr.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Identity/Role.pt.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Identity/Role.ru.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Identity/Role.sv.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Identity/Role.zh.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Identity/Role/Section/Label.da.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Identity/Role/Section/Label.de.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Identity/Role/Section/Label.en.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Identity/Role/Section/Label.es.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Identity/Role/Section/Label.fa.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Identity/Role/Section/Label.fi.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Identity/Role/Section/Label.fr.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Identity/Role/Section/Label.pt.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Identity/Role/Section/Label.ru.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Identity/Role/Section/Label.sv.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Identity/Role/Section/Label.zh.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Identity/RoleClaims.da.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Identity/RoleClaims.de.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Identity/RoleClaims.en.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Identity/RoleClaims.es.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Identity/RoleClaims.fa.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Identity/RoleClaims.fi.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Identity/RoleClaims.fr.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Identity/RoleClaims.pt.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Identity/RoleClaims.ru.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Identity/RoleClaims.sv.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Identity/RoleClaims.zh.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Identity/RoleClaimsDelete.da.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Identity/RoleClaimsDelete.de.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Identity/RoleClaimsDelete.en.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Identity/RoleClaimsDelete.es.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Identity/RoleClaimsDelete.fa.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Identity/RoleClaimsDelete.fi.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Identity/RoleClaimsDelete.fr.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Identity/RoleClaimsDelete.pt.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Identity/RoleClaimsDelete.ru.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Identity/RoleClaimsDelete.sv.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Identity/RoleClaimsDelete.zh.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Identity/RoleDelete.da.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Identity/RoleDelete.de.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Identity/RoleDelete.en.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Identity/RoleDelete.es.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Identity/RoleDelete.fa.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Identity/RoleDelete.fi.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Identity/RoleDelete.fr.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Identity/RoleDelete.pt.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Identity/RoleDelete.ru.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Identity/RoleDelete.sv.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Identity/RoleDelete.zh.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Identity/RoleUsers.da.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Identity/RoleUsers.de.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Identity/RoleUsers.en.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Identity/RoleUsers.es.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Identity/RoleUsers.fa.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Identity/RoleUsers.fi.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Identity/RoleUsers.fr.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Identity/RoleUsers.pt.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Identity/RoleUsers.ru.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Identity/RoleUsers.sv.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Identity/RoleUsers.zh.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Identity/Roles.da.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Identity/Roles.de.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Identity/Roles.en.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Identity/Roles.es.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Identity/Roles.fa.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Identity/Roles.fi.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Identity/Roles.fr.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Identity/Roles.pt.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Identity/Roles.ru.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Identity/Roles.sv.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Identity/Roles.zh.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Identity/User/Section/Label.da.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Identity/User/Section/Label.de.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Identity/User/Section/Label.en.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Identity/User/Section/Label.es.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Identity/User/Section/Label.fa.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Identity/User/Section/Label.fi.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Identity/User/Section/Label.fr.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Identity/User/Section/Label.pt.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Identity/User/Section/Label.ru.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Identity/User/Section/Label.sv.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Identity/User/Section/Label.zh.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Identity/UserChangePassword.da.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Identity/UserChangePassword.de.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Identity/UserChangePassword.en.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Identity/UserChangePassword.es.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Identity/UserChangePassword.fa.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Identity/UserChangePassword.fi.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Identity/UserChangePassword.fr.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Identity/UserChangePassword.pt.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Identity/UserChangePassword.ru.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Identity/UserChangePassword.sv.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Identity/UserChangePassword.zh.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Identity/UserClaims.da.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Identity/UserClaims.de.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Identity/UserClaims.en.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Identity/UserClaims.es.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Identity/UserClaims.fa.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Identity/UserClaims.fi.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Identity/UserClaims.fr.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Identity/UserClaims.pt.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Identity/UserClaims.ru.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Identity/UserClaims.sv.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Identity/UserClaims.zh.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Identity/UserClaimsDelete.da.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Identity/UserClaimsDelete.de.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Identity/UserClaimsDelete.en.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Identity/UserClaimsDelete.es.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Identity/UserClaimsDelete.fa.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Identity/UserClaimsDelete.fi.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Identity/UserClaimsDelete.fr.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Identity/UserClaimsDelete.pt.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Identity/UserClaimsDelete.ru.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Identity/UserClaimsDelete.sv.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Identity/UserClaimsDelete.zh.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Identity/UserDelete.da.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Identity/UserDelete.de.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Identity/UserDelete.en.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Identity/UserDelete.es.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Identity/UserDelete.fa.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Identity/UserDelete.fi.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Identity/UserDelete.fr.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Identity/UserDelete.pt.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Identity/UserDelete.ru.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Identity/UserDelete.sv.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Identity/UserDelete.zh.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Identity/UserProfile.da.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Identity/UserProfile.de.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Identity/UserProfile.en.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Identity/UserProfile.es.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Identity/UserProfile.fa.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Identity/UserProfile.fi.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Identity/UserProfile.fr.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Identity/UserProfile.pt.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Identity/UserProfile.ru.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Identity/UserProfile.sv.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Identity/UserProfile.zh.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Identity/UserProviders.da.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Identity/UserProviders.de.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Identity/UserProviders.en.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Identity/UserProviders.es.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Identity/UserProviders.fa.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Identity/UserProviders.fi.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Identity/UserProviders.fr.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Identity/UserProviders.pt.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Identity/UserProviders.ru.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Identity/UserProviders.sv.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Identity/UserProviders.zh.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Identity/UserProvidersDelete.da.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Identity/UserProvidersDelete.de.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Identity/UserProvidersDelete.en.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Identity/UserProvidersDelete.es.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Identity/UserProvidersDelete.fa.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Identity/UserProvidersDelete.fi.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Identity/UserProvidersDelete.fr.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Identity/UserProvidersDelete.pt.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Identity/UserProvidersDelete.ru.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Identity/UserProvidersDelete.sv.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Identity/UserProvidersDelete.zh.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Identity/UserRoles.da.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Identity/UserRoles.de.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Identity/UserRoles.en.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Identity/UserRoles.es.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Identity/UserRoles.fa.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Identity/UserRoles.fi.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Identity/UserRoles.fr.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Identity/UserRoles.pt.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Identity/UserRoles.ru.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Identity/UserRoles.sv.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Identity/UserRoles.zh.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Identity/UserRolesDelete.da.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Identity/UserRolesDelete.de.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Identity/UserRolesDelete.en.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Identity/UserRolesDelete.es.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Identity/UserRolesDelete.fa.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Identity/UserRolesDelete.fi.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Identity/UserRolesDelete.fr.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Identity/UserRolesDelete.pt.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Identity/UserRolesDelete.ru.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Identity/UserRolesDelete.sv.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Identity/UserRolesDelete.zh.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Identity/Users.da.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Identity/Users.de.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Identity/Users.en.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Identity/Users.es.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Identity/Users.fa.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Identity/Users.fi.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Identity/Users.fr.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Identity/Users.pt.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Identity/Users.ru.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Identity/Users.sv.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Identity/Users.zh.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Log/AuditLog.da.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Log/AuditLog.de.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Log/AuditLog.en.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Log/AuditLog.es.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Log/AuditLog.fa.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Log/AuditLog.fi.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Log/AuditLog.fr.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Log/AuditLog.pt.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Log/AuditLog.ru.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Log/AuditLog.sv.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Log/AuditLog.zh.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Log/ErrorsLog.da.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Log/ErrorsLog.de.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Log/ErrorsLog.en.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Log/ErrorsLog.es.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Log/ErrorsLog.fa.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Log/ErrorsLog.fi.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Log/ErrorsLog.fr.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Log/ErrorsLog.pt.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Log/ErrorsLog.ru.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Log/ErrorsLog.sv.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Log/ErrorsLog.zh.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Shared/Common/ErrorPage.da.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Shared/Common/ErrorPage.de.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Shared/Common/ErrorPage.en.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Shared/Common/ErrorPage.es.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Shared/Common/ErrorPage.fa.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Shared/Common/ErrorPage.fi.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Shared/Common/ErrorPage.fr.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Shared/Common/ErrorPage.pt.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Shared/Common/ErrorPage.ru.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Shared/Common/ErrorPage.sv.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Shared/Common/ErrorPage.zh.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Shared/Common/Pager.da.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Shared/Common/Pager.de.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Shared/Common/Pager.en.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Shared/Common/Pager.es.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Shared/Common/Pager.fa.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Shared/Common/Pager.fi.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Shared/Common/Pager.fr.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Shared/Common/Pager.pt.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Shared/Common/Pager.ru.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Shared/Common/Pager.sv.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Shared/Common/Pager.zh.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Shared/Common/PagerDynamic.de.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Shared/Common/PagerDynamic.en.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Shared/Common/PagerDynamic.es.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Shared/Common/PagerDynamic.fa.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Shared/Common/PagerDynamic.fi.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Shared/Common/PagerDynamic.fr.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Shared/Common/PagerDynamic.pt.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Shared/Common/PagerDynamic.ru.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Shared/Common/PagerDynamic.sv.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Shared/Common/Search.da.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Shared/Common/Search.de.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Shared/Common/Search.en.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Shared/Common/Search.es.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Shared/Common/Search.fa.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Shared/Common/Search.fi.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Shared/Common/Search.fr.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Shared/Common/Search.pt.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Shared/Common/Search.ru.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Shared/Common/Search.sv.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Shared/Common/Search.zh.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Shared/Common/SelectLanguage.da.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Shared/Common/SelectLanguage.de.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Shared/Common/SelectLanguage.en.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Shared/Common/SelectLanguage.es.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Shared/Common/SelectLanguage.fa.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Shared/Common/SelectLanguage.fi.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Shared/Common/SelectLanguage.fr.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Shared/Common/SelectLanguage.pt.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Shared/Common/SelectLanguage.ru.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Shared/Common/SelectLanguage.sv.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Shared/Common/SelectLanguage.zh.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Shared/Components/IdentityServerLink/Default.da.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Shared/Components/IdentityServerLink/Default.de.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Shared/Components/IdentityServerLink/Default.en.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Shared/Components/IdentityServerLink/Default.es.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Shared/Components/IdentityServerLink/Default.fa.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Shared/Components/IdentityServerLink/Default.fi.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Shared/Components/IdentityServerLink/Default.fr.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Shared/Components/IdentityServerLink/Default.pt.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Shared/Components/IdentityServerLink/Default.ru.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Shared/Components/IdentityServerLink/Default.sv.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Shared/Components/IdentityServerLink/Default.zh.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Shared/_Layout.da.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Shared/_Layout.de.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Shared/_Layout.en.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Shared/_Layout.es.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Shared/_Layout.fa.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Shared/_Layout.fi.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Shared/_Layout.fr.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Shared/_Layout.pt.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Shared/_Layout.ru.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Shared/_Layout.sv.resx (100%) rename src/{Skoruba.IdentityServer4.Admin/Resources => Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI}/Views/Shared/_Layout.zh.resx (100%) rename src/{Skoruba.IdentityServer4.Admin => Skoruba.IdentityServer4.Admin.UI}/Resources/Helpers/Identity/IdentityErrorMessages.en.resx (100%) rename src/{Skoruba.IdentityServer4.Admin => Skoruba.IdentityServer4.Admin.UI}/Resources/Helpers/Identity/IdentityErrorMessages.resx (100%) rename src/{Skoruba.IdentityServer4.Admin => Skoruba.IdentityServer4.Admin.UI}/Resources/Services/ApiResourceService.da.resx (100%) rename src/{Skoruba.IdentityServer4.Admin => Skoruba.IdentityServer4.Admin.UI}/Resources/Services/ApiResourceService.de.resx (100%) rename src/{Skoruba.IdentityServer4.Admin => Skoruba.IdentityServer4.Admin.UI}/Resources/Services/ApiResourceService.en.resx (100%) rename src/{Skoruba.IdentityServer4.Admin => Skoruba.IdentityServer4.Admin.UI}/Resources/Services/ApiResourceService.es.resx (100%) rename src/{Skoruba.IdentityServer4.Admin => Skoruba.IdentityServer4.Admin.UI}/Resources/Services/ApiResourceService.fa.resx (100%) rename src/{Skoruba.IdentityServer4.Admin => Skoruba.IdentityServer4.Admin.UI}/Resources/Services/ApiResourceService.fi.resx (100%) rename src/{Skoruba.IdentityServer4.Admin => Skoruba.IdentityServer4.Admin.UI}/Resources/Services/ApiResourceService.fr.resx (100%) rename src/{Skoruba.IdentityServer4.Admin => Skoruba.IdentityServer4.Admin.UI}/Resources/Services/ApiResourceService.pt.resx (100%) rename src/{Skoruba.IdentityServer4.Admin => Skoruba.IdentityServer4.Admin.UI}/Resources/Services/ApiResourceService.ru.resx (100%) rename src/{Skoruba.IdentityServer4.Admin => Skoruba.IdentityServer4.Admin.UI}/Resources/Services/ApiResourceService.sv.resx (100%) rename src/{Skoruba.IdentityServer4.Admin => Skoruba.IdentityServer4.Admin.UI}/Resources/Services/ApiResourceService.zh.resx (100%) rename src/{Skoruba.IdentityServer4.Admin => Skoruba.IdentityServer4.Admin.UI}/Resources/Services/ClientService.da.resx (100%) rename src/{Skoruba.IdentityServer4.Admin => Skoruba.IdentityServer4.Admin.UI}/Resources/Services/ClientService.de.resx (100%) rename src/{Skoruba.IdentityServer4.Admin => Skoruba.IdentityServer4.Admin.UI}/Resources/Services/ClientService.en.resx (100%) rename src/{Skoruba.IdentityServer4.Admin => Skoruba.IdentityServer4.Admin.UI}/Resources/Services/ClientService.es.resx (100%) rename src/{Skoruba.IdentityServer4.Admin => Skoruba.IdentityServer4.Admin.UI}/Resources/Services/ClientService.fa.resx (100%) rename src/{Skoruba.IdentityServer4.Admin => Skoruba.IdentityServer4.Admin.UI}/Resources/Services/ClientService.fi.resx (100%) rename src/{Skoruba.IdentityServer4.Admin => Skoruba.IdentityServer4.Admin.UI}/Resources/Services/ClientService.fr.resx (100%) rename src/{Skoruba.IdentityServer4.Admin => Skoruba.IdentityServer4.Admin.UI}/Resources/Services/ClientService.pt.resx (100%) rename src/{Skoruba.IdentityServer4.Admin => Skoruba.IdentityServer4.Admin.UI}/Resources/Services/ClientService.ru.resx (100%) rename src/{Skoruba.IdentityServer4.Admin => Skoruba.IdentityServer4.Admin.UI}/Resources/Services/ClientService.sv.resx (100%) rename src/{Skoruba.IdentityServer4.Admin => Skoruba.IdentityServer4.Admin.UI}/Resources/Services/ClientService.zh.resx (100%) rename src/{Skoruba.IdentityServer4.Admin => Skoruba.IdentityServer4.Admin.UI}/Resources/Services/IdentityResourceService.da.resx (100%) rename src/{Skoruba.IdentityServer4.Admin => Skoruba.IdentityServer4.Admin.UI}/Resources/Services/IdentityResourceService.de.resx (100%) rename src/{Skoruba.IdentityServer4.Admin => Skoruba.IdentityServer4.Admin.UI}/Resources/Services/IdentityResourceService.en.resx (100%) rename src/{Skoruba.IdentityServer4.Admin => Skoruba.IdentityServer4.Admin.UI}/Resources/Services/IdentityResourceService.es.resx (100%) rename src/{Skoruba.IdentityServer4.Admin => Skoruba.IdentityServer4.Admin.UI}/Resources/Services/IdentityResourceService.fa.resx (100%) rename src/{Skoruba.IdentityServer4.Admin => Skoruba.IdentityServer4.Admin.UI}/Resources/Services/IdentityResourceService.fi.resx (100%) rename src/{Skoruba.IdentityServer4.Admin => Skoruba.IdentityServer4.Admin.UI}/Resources/Services/IdentityResourceService.fr.resx (100%) rename src/{Skoruba.IdentityServer4.Admin => Skoruba.IdentityServer4.Admin.UI}/Resources/Services/IdentityResourceService.pt.resx (100%) rename src/{Skoruba.IdentityServer4.Admin => Skoruba.IdentityServer4.Admin.UI}/Resources/Services/IdentityResourceService.ru.resx (100%) rename src/{Skoruba.IdentityServer4.Admin => Skoruba.IdentityServer4.Admin.UI}/Resources/Services/IdentityResourceService.sv.resx (100%) rename src/{Skoruba.IdentityServer4.Admin => Skoruba.IdentityServer4.Admin.UI}/Resources/Services/IdentityResourceService.zh.resx (100%) rename src/{Skoruba.IdentityServer4.Admin => Skoruba.IdentityServer4.Admin.UI}/Resources/Services/IdentityService.da.resx (100%) rename src/{Skoruba.IdentityServer4.Admin => Skoruba.IdentityServer4.Admin.UI}/Resources/Services/IdentityService.de.resx (100%) rename src/{Skoruba.IdentityServer4.Admin => Skoruba.IdentityServer4.Admin.UI}/Resources/Services/IdentityService.en.resx (100%) rename src/{Skoruba.IdentityServer4.Admin => Skoruba.IdentityServer4.Admin.UI}/Resources/Services/IdentityService.es.resx (100%) rename src/{Skoruba.IdentityServer4.Admin => Skoruba.IdentityServer4.Admin.UI}/Resources/Services/IdentityService.fa.resx (100%) rename src/{Skoruba.IdentityServer4.Admin => Skoruba.IdentityServer4.Admin.UI}/Resources/Services/IdentityService.fi.resx (100%) rename src/{Skoruba.IdentityServer4.Admin => Skoruba.IdentityServer4.Admin.UI}/Resources/Services/IdentityService.fr.resx (100%) rename src/{Skoruba.IdentityServer4.Admin => Skoruba.IdentityServer4.Admin.UI}/Resources/Services/IdentityService.pt.resx (100%) rename src/{Skoruba.IdentityServer4.Admin => Skoruba.IdentityServer4.Admin.UI}/Resources/Services/IdentityService.ru.resx (100%) rename src/{Skoruba.IdentityServer4.Admin => Skoruba.IdentityServer4.Admin.UI}/Resources/Services/IdentityService.sv.resx (100%) rename src/{Skoruba.IdentityServer4.Admin => Skoruba.IdentityServer4.Admin.UI}/Resources/Services/IdentityService.zh.resx (100%) rename src/{Skoruba.IdentityServer4.Admin => Skoruba.IdentityServer4.Admin.UI}/Resources/Services/PersistedGrantService.da.resx (100%) rename src/{Skoruba.IdentityServer4.Admin => Skoruba.IdentityServer4.Admin.UI}/Resources/Services/PersistedGrantService.de.resx (100%) rename src/{Skoruba.IdentityServer4.Admin => Skoruba.IdentityServer4.Admin.UI}/Resources/Services/PersistedGrantService.en.resx (100%) rename src/{Skoruba.IdentityServer4.Admin => Skoruba.IdentityServer4.Admin.UI}/Resources/Services/PersistedGrantService.es.resx (100%) rename src/{Skoruba.IdentityServer4.Admin => Skoruba.IdentityServer4.Admin.UI}/Resources/Services/PersistedGrantService.fa.resx (100%) rename src/{Skoruba.IdentityServer4.Admin => Skoruba.IdentityServer4.Admin.UI}/Resources/Services/PersistedGrantService.fi.resx (100%) rename src/{Skoruba.IdentityServer4.Admin => Skoruba.IdentityServer4.Admin.UI}/Resources/Services/PersistedGrantService.fr.resx (100%) rename src/{Skoruba.IdentityServer4.Admin => Skoruba.IdentityServer4.Admin.UI}/Resources/Services/PersistedGrantService.pt.resx (100%) rename src/{Skoruba.IdentityServer4.Admin => Skoruba.IdentityServer4.Admin.UI}/Resources/Services/PersistedGrantService.ru.resx (100%) rename src/{Skoruba.IdentityServer4.Admin => Skoruba.IdentityServer4.Admin.UI}/Resources/Services/PersistedGrantService.sv.resx (100%) rename src/{Skoruba.IdentityServer4.Admin => Skoruba.IdentityServer4.Admin.UI}/Resources/Services/PersistedGrantService.zh.resx (100%) rename src/{Skoruba.IdentityServer4.Admin => Skoruba.IdentityServer4.Admin.UI}/Scripts/App/components/DatePicker.js (100%) rename src/{Skoruba.IdentityServer4.Admin => Skoruba.IdentityServer4.Admin.UI}/Scripts/App/components/Menu.js (100%) rename src/{Skoruba.IdentityServer4.Admin => Skoruba.IdentityServer4.Admin.UI}/Scripts/App/components/Picker.es5.js (100%) rename src/{Skoruba.IdentityServer4.Admin => Skoruba.IdentityServer4.Admin.UI}/Scripts/App/components/Picker.es5.min.js (100%) rename src/{Skoruba.IdentityServer4.Admin => Skoruba.IdentityServer4.Admin.UI}/Scripts/App/components/Picker.js (100%) rename src/{Skoruba.IdentityServer4.Admin => Skoruba.IdentityServer4.Admin.UI}/Scripts/App/components/Picker.min.js (100%) rename src/{Skoruba.IdentityServer4.Admin => Skoruba.IdentityServer4.Admin.UI}/Scripts/App/components/Theme.js (100%) rename src/{Skoruba.IdentityServer4.Admin => Skoruba.IdentityServer4.Admin.UI}/Scripts/App/helpers/DateTimeHelpers.js (100%) rename src/{Skoruba.IdentityServer4.Admin => Skoruba.IdentityServer4.Admin.UI}/Scripts/App/helpers/FormMvcHelpers.js (100%) rename src/{Skoruba.IdentityServer4.Admin => Skoruba.IdentityServer4.Admin.UI}/Scripts/App/helpers/jsontree.min.js (100%) rename src/{Skoruba.IdentityServer4.Admin => Skoruba.IdentityServer4.Admin.UI}/Scripts/App/pages/AuditLog.js (100%) rename src/{Skoruba.IdentityServer4.Admin => Skoruba.IdentityServer4.Admin.UI}/Scripts/App/pages/ErrorsLog.js (100%) rename src/{Skoruba.IdentityServer4.Admin => Skoruba.IdentityServer4.Admin.UI}/Scripts/App/pages/Secrets.js (100%) create mode 100644 src/Skoruba.IdentityServer4.Admin.UI/Skoruba.IdentityServer4.Admin.UI.csproj rename src/{Skoruba.IdentityServer4.Admin => Skoruba.IdentityServer4.Admin.UI}/Styles/common/_all.scss (100%) rename src/{Skoruba.IdentityServer4.Admin => Skoruba.IdentityServer4.Admin.UI}/Styles/common/common.scss (100%) rename src/{Skoruba.IdentityServer4.Admin => Skoruba.IdentityServer4.Admin.UI}/Styles/common/fonts.scss (100%) rename src/{Skoruba.IdentityServer4.Admin => Skoruba.IdentityServer4.Admin.UI}/Styles/common/form.scss (100%) rename src/{Skoruba.IdentityServer4.Admin => Skoruba.IdentityServer4.Admin.UI}/Styles/common/margin.css (100%) rename src/{Skoruba.IdentityServer4.Admin => Skoruba.IdentityServer4.Admin.UI}/Styles/common/margin.min.css (100%) rename src/{Skoruba.IdentityServer4.Admin => Skoruba.IdentityServer4.Admin.UI}/Styles/common/margin.scss (100%) rename src/{Skoruba.IdentityServer4.Admin => Skoruba.IdentityServer4.Admin.UI}/Styles/common/padding.css (100%) rename src/{Skoruba.IdentityServer4.Admin => Skoruba.IdentityServer4.Admin.UI}/Styles/common/padding.min.css (100%) rename src/{Skoruba.IdentityServer4.Admin => Skoruba.IdentityServer4.Admin.UI}/Styles/common/padding.scss (100%) rename src/{Skoruba.IdentityServer4.Admin => Skoruba.IdentityServer4.Admin.UI}/Styles/controls/_all.scss (100%) rename src/{Skoruba.IdentityServer4.Admin => Skoruba.IdentityServer4.Admin.UI}/Styles/controls/checkbox.scss (100%) rename src/{Skoruba.IdentityServer4.Admin => Skoruba.IdentityServer4.Admin.UI}/Styles/controls/jsontree.css (100%) rename src/{Skoruba.IdentityServer4.Admin => Skoruba.IdentityServer4.Admin.UI}/Styles/controls/navbar.scss (100%) rename src/{Skoruba.IdentityServer4.Admin => Skoruba.IdentityServer4.Admin.UI}/Styles/controls/picker.scss (100%) rename src/{Skoruba.IdentityServer4.Admin => Skoruba.IdentityServer4.Admin.UI}/Styles/controls/radio.scss (100%) rename src/{Skoruba.IdentityServer4.Admin => Skoruba.IdentityServer4.Admin.UI}/Styles/controls/toastr.scss (100%) rename src/{Skoruba.IdentityServer4.Admin => Skoruba.IdentityServer4.Admin.UI}/Styles/controls/validation.summary.css (100%) rename src/{Skoruba.IdentityServer4.Admin => Skoruba.IdentityServer4.Admin.UI}/Styles/controls/validation.summary.min.css (100%) rename src/{Skoruba.IdentityServer4.Admin => Skoruba.IdentityServer4.Admin.UI}/Styles/controls/validation.summary.scss (100%) rename src/{Skoruba.IdentityServer4.Admin => Skoruba.IdentityServer4.Admin.UI}/Styles/pages/_all.scss (100%) rename src/{Skoruba.IdentityServer4.Admin => Skoruba.IdentityServer4.Admin.UI}/Styles/pages/auditlog.scss (100%) rename src/{Skoruba.IdentityServer4.Admin => Skoruba.IdentityServer4.Admin.UI}/Styles/pages/client.scss (100%) rename src/{Skoruba.IdentityServer4.Admin => Skoruba.IdentityServer4.Admin.UI}/Styles/web.css (100%) rename src/{Skoruba.IdentityServer4.Admin => Skoruba.IdentityServer4.Admin.UI}/Styles/web.min.css (100%) rename src/{Skoruba.IdentityServer4.Admin => Skoruba.IdentityServer4.Admin.UI}/Styles/web.scss (100%) create mode 100644 src/Skoruba.IdentityServer4.Admin.UI/ViewComponents/IdentityServerLinkViewComponent.cs rename src/{Skoruba.IdentityServer4.Admin => Skoruba.IdentityServer4.Admin.UI}/gulpfile.js (100%) rename src/{Skoruba.IdentityServer4.Admin => Skoruba.IdentityServer4.Admin.UI}/package-lock.json (100%) rename src/{Skoruba.IdentityServer4.Admin => Skoruba.IdentityServer4.Admin.UI}/package.json (100%) rename src/{Skoruba.IdentityServer4.Admin => Skoruba.IdentityServer4.Admin.UI}/wwwroot/dist/css/bundle.min.css (100%) rename src/{Skoruba.IdentityServer4.Admin => Skoruba.IdentityServer4.Admin.UI}/wwwroot/dist/css/themes/cerulean/bootstrap.min.css (100%) rename src/{Skoruba.IdentityServer4.Admin => Skoruba.IdentityServer4.Admin.UI}/wwwroot/dist/css/themes/cosmo/bootstrap.min.css (100%) rename src/{Skoruba.IdentityServer4.Admin => Skoruba.IdentityServer4.Admin.UI}/wwwroot/dist/css/themes/cyborg/bootstrap.min.css (100%) rename src/{Skoruba.IdentityServer4.Admin => Skoruba.IdentityServer4.Admin.UI}/wwwroot/dist/css/themes/darkly/bootstrap.min.css (100%) rename src/{Skoruba.IdentityServer4.Admin => Skoruba.IdentityServer4.Admin.UI}/wwwroot/dist/css/themes/flatly/bootstrap.min.css (100%) rename src/{Skoruba.IdentityServer4.Admin => Skoruba.IdentityServer4.Admin.UI}/wwwroot/dist/css/themes/journal/bootstrap.min.css (100%) rename src/{Skoruba.IdentityServer4.Admin => Skoruba.IdentityServer4.Admin.UI}/wwwroot/dist/css/themes/litera/bootstrap.min.css (100%) rename src/{Skoruba.IdentityServer4.Admin => Skoruba.IdentityServer4.Admin.UI}/wwwroot/dist/css/themes/lumen/bootstrap.min.css (100%) rename src/{Skoruba.IdentityServer4.Admin => Skoruba.IdentityServer4.Admin.UI}/wwwroot/dist/css/themes/lux/bootstrap.min.css (100%) rename src/{Skoruba.IdentityServer4.Admin => Skoruba.IdentityServer4.Admin.UI}/wwwroot/dist/css/themes/materia/bootstrap.min.css (100%) rename src/{Skoruba.IdentityServer4.Admin => Skoruba.IdentityServer4.Admin.UI}/wwwroot/dist/css/themes/minty/bootstrap.min.css (100%) rename src/{Skoruba.IdentityServer4.Admin => Skoruba.IdentityServer4.Admin.UI}/wwwroot/dist/css/themes/pulse/bootstrap.min.css (100%) rename src/{Skoruba.IdentityServer4.Admin => Skoruba.IdentityServer4.Admin.UI}/wwwroot/dist/css/themes/sandstone/bootstrap.min.css (100%) rename src/{Skoruba.IdentityServer4.Admin => Skoruba.IdentityServer4.Admin.UI}/wwwroot/dist/css/themes/simplex/bootstrap.min.css (100%) rename src/{Skoruba.IdentityServer4.Admin => Skoruba.IdentityServer4.Admin.UI}/wwwroot/dist/css/themes/sketchy/bootstrap.min.css (100%) rename src/{Skoruba.IdentityServer4.Admin => Skoruba.IdentityServer4.Admin.UI}/wwwroot/dist/css/themes/slate/bootstrap.min.css (100%) rename src/{Skoruba.IdentityServer4.Admin => Skoruba.IdentityServer4.Admin.UI}/wwwroot/dist/css/themes/solar/bootstrap.min.css (100%) rename src/{Skoruba.IdentityServer4.Admin => Skoruba.IdentityServer4.Admin.UI}/wwwroot/dist/css/themes/spacelab/bootstrap.min.css (100%) rename src/{Skoruba.IdentityServer4.Admin => Skoruba.IdentityServer4.Admin.UI}/wwwroot/dist/css/themes/superhero/bootstrap.min.css (100%) rename src/{Skoruba.IdentityServer4.Admin => Skoruba.IdentityServer4.Admin.UI}/wwwroot/dist/css/themes/united/bootstrap.min.css (100%) rename src/{Skoruba.IdentityServer4.Admin => Skoruba.IdentityServer4.Admin.UI}/wwwroot/dist/css/themes/yeti/bootstrap.min.css (100%) rename src/{Skoruba.IdentityServer4.Admin => Skoruba.IdentityServer4.Admin.UI}/wwwroot/dist/css/web.css (100%) rename src/{Skoruba.IdentityServer4.Admin => Skoruba.IdentityServer4.Admin.UI}/wwwroot/dist/css/web.min.css (100%) rename src/{Skoruba.IdentityServer4.Admin => Skoruba.IdentityServer4.Admin.UI}/wwwroot/dist/fonts/FontAwesome.otf (100%) rename src/{Skoruba.IdentityServer4.Admin => Skoruba.IdentityServer4.Admin.UI}/wwwroot/dist/fonts/fontawesome-webfont.eot (100%) rename src/{Skoruba.IdentityServer4.Admin => Skoruba.IdentityServer4.Admin.UI}/wwwroot/dist/fonts/fontawesome-webfont.svg (100%) rename src/{Skoruba.IdentityServer4.Admin => Skoruba.IdentityServer4.Admin.UI}/wwwroot/dist/fonts/fontawesome-webfont.ttf (100%) rename src/{Skoruba.IdentityServer4.Admin => Skoruba.IdentityServer4.Admin.UI}/wwwroot/dist/fonts/fontawesome-webfont.woff (100%) rename src/{Skoruba.IdentityServer4.Admin => Skoruba.IdentityServer4.Admin.UI}/wwwroot/dist/fonts/fontawesome-webfont.woff2 (100%) rename src/{Skoruba.IdentityServer4.Admin => Skoruba.IdentityServer4.Admin.UI}/wwwroot/dist/fonts/open-iconic.eot (100%) rename src/{Skoruba.IdentityServer4.Admin => Skoruba.IdentityServer4.Admin.UI}/wwwroot/dist/fonts/open-iconic.otf (100%) rename src/{Skoruba.IdentityServer4.Admin => Skoruba.IdentityServer4.Admin.UI}/wwwroot/dist/fonts/open-iconic.svg (100%) rename src/{Skoruba.IdentityServer4.Admin => Skoruba.IdentityServer4.Admin.UI}/wwwroot/dist/fonts/open-iconic.ttf (100%) rename src/{Skoruba.IdentityServer4.Admin => Skoruba.IdentityServer4.Admin.UI}/wwwroot/dist/fonts/open-iconic.woff (100%) rename src/{Skoruba.IdentityServer4.Admin => Skoruba.IdentityServer4.Admin.UI}/wwwroot/dist/js/bundle.min.js (100%) rename src/{Skoruba.IdentityServer4.Admin => Skoruba.IdentityServer4.Admin.UI}/wwwroot/favicon.ico (100%) rename src/{Skoruba.IdentityServer4.Admin => Skoruba.IdentityServer4.Admin.UI}/wwwroot/images/icons/device-client.png (100%) rename src/{Skoruba.IdentityServer4.Admin => Skoruba.IdentityServer4.Admin.UI}/wwwroot/images/icons/empty-client.png (100%) rename src/{Skoruba.IdentityServer4.Admin => Skoruba.IdentityServer4.Admin.UI}/wwwroot/images/icons/native-client.png (100%) rename src/{Skoruba.IdentityServer4.Admin => Skoruba.IdentityServer4.Admin.UI}/wwwroot/images/icons/server-client.png (100%) rename src/{Skoruba.IdentityServer4.Admin => Skoruba.IdentityServer4.Admin.UI}/wwwroot/images/icons/spa-client.png (100%) rename src/{Skoruba.IdentityServer4.Admin => Skoruba.IdentityServer4.Admin.UI}/wwwroot/images/icons/web-client.png (100%) rename src/{Skoruba.IdentityServer4.Admin => Skoruba.IdentityServer4.Admin.UI}/wwwroot/images/loading.gif (100%) delete mode 100644 src/Skoruba.IdentityServer4.Admin/Configuration/DatabaseMigrationsConfiguration.cs delete mode 100644 src/Skoruba.IdentityServer4.Admin/Configuration/IdentityDataConfiguration.cs delete mode 100644 src/Skoruba.IdentityServer4.Admin/Configuration/Interfaces/IRootConfiguration.cs delete mode 100644 src/Skoruba.IdentityServer4.Admin/Configuration/RootConfiguration.cs delete mode 100644 src/Skoruba.IdentityServer4.Admin/ViewComponents/IdentityServerLinkViewComponent.cs diff --git a/.gitignore b/.gitignore index 356b77737..e056f7d87 100644 --- a/.gitignore +++ b/.gitignore @@ -275,9 +275,9 @@ __pycache__/ /src/Skoruba.IdentityServer4.Admin/Data/Migrations/ # Don't ignore these log folders -!/src/Skoruba.IdentityServer4.Admin/Resources/Views/Log/ +!/src/Skoruba.IdentityServer4.Admin.UI/Resources/Views/Log/ !/src/Skoruba.IdentityServer4.Admin.BusinessLogic/Dtos/Log/ -!/src/Skoruba.IdentityServer4.Admin/Views/Log/ +!**/Views/Log/ !/src/Skoruba.IdentityServer4.Admin.BusinessLogic/Events/Log/ /src/Skoruba.IdentityServer4.Admin.Api/appsettings.Production.json diff --git a/Skoruba.IdentityServer4.Admin.sln b/Skoruba.IdentityServer4.Admin.sln index 79c9385a0..ab6296e82 100644 --- a/Skoruba.IdentityServer4.Admin.sln +++ b/Skoruba.IdentityServer4.Admin.sln @@ -51,6 +51,8 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Skoruba.IdentityServer4.Adm EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Skoruba.IdentityServer4.Shared", "src\Skoruba.IdentityServer4.Shared\Skoruba.IdentityServer4.Shared.csproj", "{61B285F0-EE06-4AEE-AAF3-71492CBD11C5}" EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Skoruba.IdentityServer4.Admin.UI", "src\Skoruba.IdentityServer4.Admin.UI\Skoruba.IdentityServer4.Admin.UI.csproj", "{6DD24C2C-0FB5-4C37-8B42-5DACA0FDE4EC}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -133,6 +135,10 @@ Global {61B285F0-EE06-4AEE-AAF3-71492CBD11C5}.Debug|Any CPU.Build.0 = Debug|Any CPU {61B285F0-EE06-4AEE-AAF3-71492CBD11C5}.Release|Any CPU.ActiveCfg = Release|Any CPU {61B285F0-EE06-4AEE-AAF3-71492CBD11C5}.Release|Any CPU.Build.0 = Release|Any CPU + {6DD24C2C-0FB5-4C37-8B42-5DACA0FDE4EC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {6DD24C2C-0FB5-4C37-8B42-5DACA0FDE4EC}.Debug|Any CPU.Build.0 = Debug|Any CPU + {6DD24C2C-0FB5-4C37-8B42-5DACA0FDE4EC}.Release|Any CPU.ActiveCfg = Release|Any CPU + {6DD24C2C-0FB5-4C37-8B42-5DACA0FDE4EC}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE @@ -156,6 +162,7 @@ Global {0A8A0DB7-0509-4DFB-9201-74398511B481} = {2A514C8F-6A53-41CA-AB41-B644E7BC92A7} {4D123ACB-ACBD-4E40-AE6B-1B0F79D703B0} = {0BC0CC4E-A0F1-45E8-B41A-AE0FA76BF3E5} {61B285F0-EE06-4AEE-AAF3-71492CBD11C5} = {EE588CE5-51D0-4E98-A2B3-40EC8E655931} + {6DD24C2C-0FB5-4C37-8B42-5DACA0FDE4EC} = {588205D4-3A30-4DA4-849D-C7422C396DAA} EndGlobalSection GlobalSection(ExtensibilityGlobals) = postSolution SolutionGuid = {B3166EDE-037B-4C68-BEBA-5DE9C5E3DB82} diff --git a/src/Skoruba.IdentityServer4.Admin.Api/Helpers/StartupHelpers.cs b/src/Skoruba.IdentityServer4.Admin.Api/Helpers/StartupHelpers.cs index 0ed50c3e6..2234a204d 100644 --- a/src/Skoruba.IdentityServer4.Admin.Api/Helpers/StartupHelpers.cs +++ b/src/Skoruba.IdentityServer4.Admin.Api/Helpers/StartupHelpers.cs @@ -145,24 +145,19 @@ public static IServiceCollection AddAdminApiCors(this IServiceCollection service where TDataProtectionDbContext : DbContext, IDataProtectionKeyContext { var databaseProvider = configuration.GetSection(nameof(DatabaseProviderConfiguration)).Get(); - - var identityConnectionString = configuration.GetConnectionString(ConfigurationConsts.IdentityDbConnectionStringKey); - var configurationConnectionString = configuration.GetConnectionString(ConfigurationConsts.ConfigurationDbConnectionStringKey); - var persistedGrantsConnectionString = configuration.GetConnectionString(ConfigurationConsts.PersistedGrantDbConnectionStringKey); - var errorLoggingConnectionString = configuration.GetConnectionString(ConfigurationConsts.AdminLogDbConnectionStringKey); - var auditLoggingConnectionString = configuration.GetConnectionString(ConfigurationConsts.AdminAuditLogDbConnectionStringKey); - var dataProtectionConnectionString = configuration.GetConnectionString(ConfigurationConsts.DataProtectionDbConnectionStringKey); + var databaseMigrations = configuration.GetSection(nameof(DatabaseMigrationsConfiguration)).Get() ?? new DatabaseMigrationsConfiguration(); + var connectionStrings = configuration.GetSection("ConnectionStrings").Get(); switch (databaseProvider.ProviderType) { case DatabaseProviderType.SqlServer: - services.RegisterSqlServerDbContexts(identityConnectionString, configurationConnectionString, persistedGrantsConnectionString, errorLoggingConnectionString, auditLoggingConnectionString, dataProtectionConnectionString); + services.RegisterSqlServerDbContexts(connectionStrings, databaseMigrations); break; case DatabaseProviderType.PostgreSQL: - services.RegisterNpgSqlDbContexts(identityConnectionString, configurationConnectionString, persistedGrantsConnectionString, errorLoggingConnectionString, auditLoggingConnectionString, dataProtectionConnectionString); + services.RegisterNpgSqlDbContexts(connectionStrings, databaseMigrations); break; case DatabaseProviderType.MySql: - services.RegisterMySqlDbContexts(identityConnectionString, configurationConnectionString, persistedGrantsConnectionString, errorLoggingConnectionString, auditLoggingConnectionString, dataProtectionConnectionString); + services.RegisterMySqlDbContexts(connectionStrings, databaseMigrations); break; default: throw new ArgumentOutOfRangeException(nameof(databaseProvider.ProviderType), $@"The value needs to be one of {string.Join(", ", Enum.GetNames(typeof(DatabaseProviderType)))}."); diff --git a/src/Skoruba.IdentityServer4.Admin.EntityFramework.MySql/Extensions/DatabaseExtensions.cs b/src/Skoruba.IdentityServer4.Admin.EntityFramework.MySql/Extensions/DatabaseExtensions.cs index 1b44f96e8..f826c1fcb 100644 --- a/src/Skoruba.IdentityServer4.Admin.EntityFramework.MySql/Extensions/DatabaseExtensions.cs +++ b/src/Skoruba.IdentityServer4.Admin.EntityFramework.MySql/Extensions/DatabaseExtensions.cs @@ -6,6 +6,7 @@ using Skoruba.AuditLogging.EntityFramework.DbContexts; using Skoruba.AuditLogging.EntityFramework.Entities; using Skoruba.IdentityServer4.Admin.EntityFramework.Interfaces; +using Skoruba.IdentityServer4.Admin.EntityFramework.Shared.Configuration; namespace Skoruba.IdentityServer4.Admin.EntityFramework.MySql.Extensions { @@ -28,9 +29,8 @@ public static class DatabaseExtensions /// public static void RegisterMySqlDbContexts(this IServiceCollection services, - string identityConnectionString, string configurationConnectionString, - string persistedGrantConnectionString, string errorLoggingConnectionString, - string auditLoggingConnectionString, string dataProtectionConnectionString = null) + ConnectionStringsConfiguration connectionStrings, + DatabaseMigrationsConfiguration databaseMigrations) where TIdentityDbContext : DbContext where TPersistedGrantDbContext : DbContext, IAdminPersistedGrantDbContext where TConfigurationDbContext : DbContext, IAdminConfigurationDbContext @@ -42,29 +42,29 @@ public static class DatabaseExtensions // Config DB for identity services.AddDbContext(options => - options.UseMySql(identityConnectionString, sql => sql.MigrationsAssembly(migrationsAssembly))); + options.UseMySql(connectionStrings.IdentityDbConnection, sql => sql.MigrationsAssembly(databaseMigrations.IdentityDbMigrationsAssembly ?? migrationsAssembly))); // Config DB from existing connection services.AddConfigurationDbContext(options => options.ConfigureDbContext = b => - b.UseMySql(configurationConnectionString, sql => sql.MigrationsAssembly(migrationsAssembly))); + b.UseMySql(connectionStrings.ConfigurationDbConnection, sql => sql.MigrationsAssembly(databaseMigrations.ConfigurationDbMigrationsAssembly ?? migrationsAssembly))); // Operational DB from existing connection services.AddOperationalDbContext(options => options.ConfigureDbContext = b => - b.UseMySql(persistedGrantConnectionString, sql => sql.MigrationsAssembly(migrationsAssembly))); + b.UseMySql(connectionStrings.PersistedGrantDbConnection, sql => sql.MigrationsAssembly(databaseMigrations.PersistedGrantDbMigrationsAssembly ?? migrationsAssembly))); // Log DB from existing connection - services.AddDbContext(options => options.UseMySql(errorLoggingConnectionString, - optionsSql => optionsSql.MigrationsAssembly(migrationsAssembly))); + services.AddDbContext(options => options.UseMySql(connectionStrings.AdminLogDbConnection, + optionsSql => optionsSql.MigrationsAssembly(databaseMigrations.AdminLogDbMigrationsAssembly ?? migrationsAssembly))); // Audit logging connection - services.AddDbContext(options => options.UseMySql(auditLoggingConnectionString, - optionsSql => optionsSql.MigrationsAssembly(migrationsAssembly))); + services.AddDbContext(options => options.UseMySql(connectionStrings.AdminAuditLogDbConnection, + optionsSql => optionsSql.MigrationsAssembly(databaseMigrations.AdminAuditLogDbMigrationsAssembly ?? migrationsAssembly))); // DataProtectionKey DB from existing connection - if(!string.IsNullOrEmpty(dataProtectionConnectionString)) - services.AddDbContext(options => options.UseMySql(dataProtectionConnectionString, - optionsSql => optionsSql.MigrationsAssembly(migrationsAssembly))); + if(!string.IsNullOrEmpty(connectionStrings.DataProtectionDbConnection)) + services.AddDbContext(options => options.UseMySql(connectionStrings.DataProtectionDbConnection, + optionsSql => optionsSql.MigrationsAssembly(databaseMigrations.DataProtectionDbMigrationsAssembly ?? migrationsAssembly))); } /// diff --git a/src/Skoruba.IdentityServer4.Admin.EntityFramework.PostgreSQL/Extensions/DatabaseExtensions.cs b/src/Skoruba.IdentityServer4.Admin.EntityFramework.PostgreSQL/Extensions/DatabaseExtensions.cs index 509f8aba0..594f8a9be 100644 --- a/src/Skoruba.IdentityServer4.Admin.EntityFramework.PostgreSQL/Extensions/DatabaseExtensions.cs +++ b/src/Skoruba.IdentityServer4.Admin.EntityFramework.PostgreSQL/Extensions/DatabaseExtensions.cs @@ -7,6 +7,7 @@ using Skoruba.AuditLogging.EntityFramework.DbContexts; using Skoruba.AuditLogging.EntityFramework.Entities; using Skoruba.IdentityServer4.Admin.EntityFramework.Interfaces; +using Skoruba.IdentityServer4.Admin.EntityFramework.Shared.Configuration; namespace Skoruba.IdentityServer4.Admin.EntityFramework.PostgreSQL.Extensions { @@ -29,9 +30,8 @@ public static class DatabaseExtensions /// public static void RegisterNpgSqlDbContexts(this IServiceCollection services, - string identityConnectionString, string configurationConnectionString, - string persistedGrantConnectionString, string errorLoggingConnectionString, - string auditLoggingConnectionString, string dataProtectionConnectionString = null) + ConnectionStringsConfiguration connectionStrings, + DatabaseMigrationsConfiguration databaseMigrations) where TIdentityDbContext : DbContext where TPersistedGrantDbContext : DbContext, IAdminPersistedGrantDbContext where TConfigurationDbContext : DbContext, IAdminConfigurationDbContext @@ -43,28 +43,28 @@ public static class DatabaseExtensions // Config DB for identity services.AddDbContext(options => - options.UseNpgsql(identityConnectionString, sql => sql.MigrationsAssembly(migrationsAssembly))); + options.UseNpgsql(connectionStrings.IdentityDbConnection, sql => sql.MigrationsAssembly(databaseMigrations.IdentityDbMigrationsAssembly ?? migrationsAssembly))); // Config DB from existing connection services.AddConfigurationDbContext(options => options.ConfigureDbContext = b => - b.UseNpgsql(configurationConnectionString, sql => sql.MigrationsAssembly(migrationsAssembly))); + b.UseNpgsql(connectionStrings.ConfigurationDbConnection, sql => sql.MigrationsAssembly(databaseMigrations.ConfigurationDbMigrationsAssembly ?? migrationsAssembly))); // Operational DB from existing connection services.AddOperationalDbContext(options => options.ConfigureDbContext = b => - b.UseNpgsql(persistedGrantConnectionString, sql => sql.MigrationsAssembly(migrationsAssembly))); + b.UseNpgsql(connectionStrings.PersistedGrantDbConnection, sql => sql.MigrationsAssembly(databaseMigrations.PersistedGrantDbMigrationsAssembly ?? migrationsAssembly))); // Log DB from existing connection - services.AddDbContext(options => options.UseNpgsql(errorLoggingConnectionString, - optionsSql => optionsSql.MigrationsAssembly(migrationsAssembly))); + services.AddDbContext(options => options.UseNpgsql(connectionStrings.AdminLogDbConnection, + optionsSql => optionsSql.MigrationsAssembly(databaseMigrations.AdminLogDbMigrationsAssembly ?? migrationsAssembly))); // Audit logging connection - services.AddDbContext(options => options.UseNpgsql(auditLoggingConnectionString, - optionsSql => optionsSql.MigrationsAssembly(migrationsAssembly))); + services.AddDbContext(options => options.UseNpgsql(connectionStrings.AdminAuditLogDbConnection, + optionsSql => optionsSql.MigrationsAssembly(databaseMigrations.AdminAuditLogDbMigrationsAssembly ?? migrationsAssembly))); // DataProtectionKey DB from existing connection - if (!string.IsNullOrEmpty(dataProtectionConnectionString)) - services.AddDbContext(options => options.UseNpgsql(dataProtectionConnectionString, sql => sql.MigrationsAssembly(migrationsAssembly))); + if (!string.IsNullOrEmpty(connectionStrings.DataProtectionDbConnection)) + services.AddDbContext(options => options.UseNpgsql(connectionStrings.DataProtectionDbConnection, sql => sql.MigrationsAssembly(databaseMigrations.DataProtectionDbMigrationsAssembly ?? migrationsAssembly))); } /// diff --git a/src/Skoruba.IdentityServer4.Admin.EntityFramework.Shared/Configuration/ConnectionStringsConfiguration.cs b/src/Skoruba.IdentityServer4.Admin.EntityFramework.Shared/Configuration/ConnectionStringsConfiguration.cs new file mode 100644 index 000000000..3135d34da --- /dev/null +++ b/src/Skoruba.IdentityServer4.Admin.EntityFramework.Shared/Configuration/ConnectionStringsConfiguration.cs @@ -0,0 +1,27 @@ +namespace Skoruba.IdentityServer4.Admin.EntityFramework.Shared.Configuration +{ + public class ConnectionStringsConfiguration + { + public string ConfigurationDbConnection { get; set; } + + public string PersistedGrantDbConnection { get; set; } + + public string AdminLogDbConnection { get; set; } + + public string IdentityDbConnection { get; set; } + + public string AdminAuditLogDbConnection { get; set; } + + public string DataProtectionDbConnection { get; set; } + + public void SetConnections(string commonConnectionString) + { + AdminAuditLogDbConnection = commonConnectionString; + AdminLogDbConnection = commonConnectionString; + ConfigurationDbConnection = commonConnectionString; + DataProtectionDbConnection = commonConnectionString; + IdentityDbConnection = commonConnectionString; + PersistedGrantDbConnection = commonConnectionString; + } + } +} diff --git a/src/Skoruba.IdentityServer4.Admin.EntityFramework.Shared/Configuration/DatabaseMigrationsConfiguration.cs b/src/Skoruba.IdentityServer4.Admin.EntityFramework.Shared/Configuration/DatabaseMigrationsConfiguration.cs new file mode 100644 index 000000000..846374303 --- /dev/null +++ b/src/Skoruba.IdentityServer4.Admin.EntityFramework.Shared/Configuration/DatabaseMigrationsConfiguration.cs @@ -0,0 +1,29 @@ +namespace Skoruba.IdentityServer4.Admin.EntityFramework.Shared.Configuration +{ + public class DatabaseMigrationsConfiguration + { + public bool ApplyDatabaseMigrations { get; set; } = false; + + public string ConfigurationDbMigrationsAssembly { get; set; } + + public string PersistedGrantDbMigrationsAssembly { get; set; } + + public string AdminLogDbMigrationsAssembly { get; set; } + + public string IdentityDbMigrationsAssembly { get; set; } + + public string AdminAuditLogDbMigrationsAssembly { get; set; } + + public string DataProtectionDbMigrationsAssembly { get; set; } + + public void SetMigrationsAssemblies(string commonMigrationsAssembly) + { + AdminAuditLogDbMigrationsAssembly = commonMigrationsAssembly; + AdminLogDbMigrationsAssembly = commonMigrationsAssembly; + ConfigurationDbMigrationsAssembly = commonMigrationsAssembly; + DataProtectionDbMigrationsAssembly = commonMigrationsAssembly; + IdentityDbMigrationsAssembly = commonMigrationsAssembly; + PersistedGrantDbMigrationsAssembly = commonMigrationsAssembly; + } + } +} \ No newline at end of file diff --git a/src/Skoruba.IdentityServer4.Admin/Configuration/Identity/Claim.cs b/src/Skoruba.IdentityServer4.Admin.EntityFramework.Shared/Configuration/Identity/Claim.cs similarity index 57% rename from src/Skoruba.IdentityServer4.Admin/Configuration/Identity/Claim.cs rename to src/Skoruba.IdentityServer4.Admin.EntityFramework.Shared/Configuration/Identity/Claim.cs index 0336d4ae9..a63b3a95e 100644 --- a/src/Skoruba.IdentityServer4.Admin/Configuration/Identity/Claim.cs +++ b/src/Skoruba.IdentityServer4.Admin.EntityFramework.Shared/Configuration/Identity/Claim.cs @@ -1,4 +1,4 @@ -namespace Skoruba.IdentityServer4.Admin.Configuration.Identity +namespace Skoruba.IdentityServer4.Admin.EntityFramework.Shared.Configuration.Identity { public class Claim { diff --git a/src/Skoruba.IdentityServer4.Admin/Configuration/Identity/Role.cs b/src/Skoruba.IdentityServer4.Admin.EntityFramework.Shared/Configuration/Identity/Role.cs similarity index 68% rename from src/Skoruba.IdentityServer4.Admin/Configuration/Identity/Role.cs rename to src/Skoruba.IdentityServer4.Admin.EntityFramework.Shared/Configuration/Identity/Role.cs index c4757232e..d19ddc716 100644 --- a/src/Skoruba.IdentityServer4.Admin/Configuration/Identity/Role.cs +++ b/src/Skoruba.IdentityServer4.Admin.EntityFramework.Shared/Configuration/Identity/Role.cs @@ -1,6 +1,6 @@ using System.Collections.Generic; -namespace Skoruba.IdentityServer4.Admin.Configuration.Identity +namespace Skoruba.IdentityServer4.Admin.EntityFramework.Shared.Configuration.Identity { public class Role { diff --git a/src/Skoruba.IdentityServer4.Admin/Configuration/Identity/User.cs b/src/Skoruba.IdentityServer4.Admin.EntityFramework.Shared/Configuration/Identity/User.cs similarity index 80% rename from src/Skoruba.IdentityServer4.Admin/Configuration/Identity/User.cs rename to src/Skoruba.IdentityServer4.Admin.EntityFramework.Shared/Configuration/Identity/User.cs index 5d71184bd..18d6f4cdf 100644 --- a/src/Skoruba.IdentityServer4.Admin/Configuration/Identity/User.cs +++ b/src/Skoruba.IdentityServer4.Admin.EntityFramework.Shared/Configuration/Identity/User.cs @@ -1,6 +1,6 @@ using System.Collections.Generic; -namespace Skoruba.IdentityServer4.Admin.Configuration.Identity +namespace Skoruba.IdentityServer4.Admin.EntityFramework.Shared.Configuration.Identity { public class User { diff --git a/src/Skoruba.IdentityServer4.Admin.EntityFramework.Shared/Configuration/IdentityData.cs b/src/Skoruba.IdentityServer4.Admin.EntityFramework.Shared/Configuration/IdentityData.cs new file mode 100644 index 000000000..b0b159e1a --- /dev/null +++ b/src/Skoruba.IdentityServer4.Admin.EntityFramework.Shared/Configuration/IdentityData.cs @@ -0,0 +1,11 @@ +using Skoruba.IdentityServer4.Admin.EntityFramework.Shared.Configuration.Identity; +using System.Collections.Generic; + +namespace Skoruba.IdentityServer4.Admin.EntityFramework.Shared.Configuration +{ + public class IdentityData + { + public List Roles { get; set; } + public List Users { get; set; } + } +} diff --git a/src/Skoruba.IdentityServer4.Admin/Configuration/IdentityServer/Client.cs b/src/Skoruba.IdentityServer4.Admin.EntityFramework.Shared/Configuration/IdentityServer/Client.cs similarity index 52% rename from src/Skoruba.IdentityServer4.Admin/Configuration/IdentityServer/Client.cs rename to src/Skoruba.IdentityServer4.Admin.EntityFramework.Shared/Configuration/IdentityServer/Client.cs index dfd80e838..ed484cb17 100644 --- a/src/Skoruba.IdentityServer4.Admin/Configuration/IdentityServer/Client.cs +++ b/src/Skoruba.IdentityServer4.Admin.EntityFramework.Shared/Configuration/IdentityServer/Client.cs @@ -1,7 +1,7 @@ using System.Collections.Generic; -using Skoruba.IdentityServer4.Admin.Configuration.Identity; +using Skoruba.IdentityServer4.Admin.EntityFramework.Shared.Configuration.Identity; -namespace Skoruba.IdentityServer4.Admin.Configuration.IdentityServer +namespace Skoruba.IdentityServer4.Admin.EntityFramework.Shared.Configuration.IdentityServer { public class Client : global::IdentityServer4.Models.Client { diff --git a/src/Skoruba.IdentityServer4.Admin/Configuration/IdentityServerDataConfiguration.cs b/src/Skoruba.IdentityServer4.Admin.EntityFramework.Shared/Configuration/IdentityServerData.cs similarity index 65% rename from src/Skoruba.IdentityServer4.Admin/Configuration/IdentityServerDataConfiguration.cs rename to src/Skoruba.IdentityServer4.Admin.EntityFramework.Shared/Configuration/IdentityServerData.cs index 57679aee1..54af37338 100644 --- a/src/Skoruba.IdentityServer4.Admin/Configuration/IdentityServerDataConfiguration.cs +++ b/src/Skoruba.IdentityServer4.Admin.EntityFramework.Shared/Configuration/IdentityServerData.cs @@ -1,10 +1,10 @@ using IdentityServer4.Models; using System.Collections.Generic; -using Client = Skoruba.IdentityServer4.Admin.Configuration.IdentityServer.Client; +using Client = Skoruba.IdentityServer4.Admin.EntityFramework.Shared.Configuration.IdentityServer.Client; -namespace Skoruba.IdentityServer4.Admin.Configuration +namespace Skoruba.IdentityServer4.Admin.EntityFramework.Shared.Configuration { - public class IdentityServerDataConfiguration + public class IdentityServerData { public List Clients { get; set; } = new List(); public List IdentityResources { get; set; } = new List(); diff --git a/src/Skoruba.IdentityServer4.Admin/Configuration/SeedConfiguration.cs b/src/Skoruba.IdentityServer4.Admin.EntityFramework.Shared/Configuration/SeedConfiguration.cs similarity index 56% rename from src/Skoruba.IdentityServer4.Admin/Configuration/SeedConfiguration.cs rename to src/Skoruba.IdentityServer4.Admin.EntityFramework.Shared/Configuration/SeedConfiguration.cs index df333aea3..dd000d9a8 100644 --- a/src/Skoruba.IdentityServer4.Admin/Configuration/SeedConfiguration.cs +++ b/src/Skoruba.IdentityServer4.Admin.EntityFramework.Shared/Configuration/SeedConfiguration.cs @@ -1,4 +1,4 @@ -namespace Skoruba.IdentityServer4.Admin.Configuration +namespace Skoruba.IdentityServer4.Admin.EntityFramework.Shared.Configuration { public class SeedConfiguration { diff --git a/src/Skoruba.IdentityServer4.Admin/Helpers/DbMigrationHelpers.cs b/src/Skoruba.IdentityServer4.Admin.EntityFramework.Shared/Helpers/DbMigrationHelpers.cs similarity index 94% rename from src/Skoruba.IdentityServer4.Admin/Helpers/DbMigrationHelpers.cs rename to src/Skoruba.IdentityServer4.Admin.EntityFramework.Shared/Helpers/DbMigrationHelpers.cs index e33e9639b..c41dbcf03 100644 --- a/src/Skoruba.IdentityServer4.Admin/Helpers/DbMigrationHelpers.cs +++ b/src/Skoruba.IdentityServer4.Admin.EntityFramework.Shared/Helpers/DbMigrationHelpers.cs @@ -11,13 +11,12 @@ using Microsoft.Extensions.Hosting; using Skoruba.AuditLogging.EntityFramework.DbContexts; using Skoruba.AuditLogging.EntityFramework.Entities; -using Skoruba.IdentityServer4.Admin.Configuration; -using Skoruba.IdentityServer4.Admin.Configuration.Interfaces; using Skoruba.IdentityServer4.Admin.EntityFramework.Interfaces; +using Skoruba.IdentityServer4.Admin.EntityFramework.Shared.Configuration; -namespace Skoruba.IdentityServer4.Admin.Helpers +namespace Skoruba.IdentityServer4.Admin.EntityFramework.Shared.Helpers { - public static class DbMigrationHelpers + public static class DbMigrationHelpers { /// /// Generate migrations before running this method, you can use these steps bellow: @@ -110,10 +109,11 @@ public static async Task EnsureSeedDataAsync(); var userManager = scope.ServiceProvider.GetRequiredService>(); var roleManager = scope.ServiceProvider.GetRequiredService>(); - var rootConfiguration = scope.ServiceProvider.GetRequiredService(); + var idsDataConfiguration = scope.ServiceProvider.GetRequiredService(); + var idDataConfiguration = scope.ServiceProvider.GetRequiredService(); - await EnsureSeedIdentityServerData(context, rootConfiguration.IdentityServerDataConfiguration); - await EnsureSeedIdentityData(userManager, roleManager, rootConfiguration.IdentityDataConfiguration); + await EnsureSeedIdentityServerData(context, idsDataConfiguration); + await EnsureSeedIdentityData(userManager, roleManager, idDataConfiguration); } } @@ -121,7 +121,7 @@ public static async Task EnsureSeedDataAsync private static async Task EnsureSeedIdentityData(UserManager userManager, - RoleManager roleManager, IdentityDataConfiguration identityDataConfiguration) + RoleManager roleManager, IdentityData identityDataConfiguration) where TUser : IdentityUser, new() where TRole : IdentityRole, new() { @@ -190,7 +190,7 @@ private static async Task EnsureSeedIdentityData(UserManager /// Generate default clients, identity and api resources /// - private static async Task EnsureSeedIdentityServerData(TIdentityServerDbContext context, IdentityServerDataConfiguration identityServerDataConfiguration) + private static async Task EnsureSeedIdentityServerData(TIdentityServerDbContext context, IdentityServerData identityServerDataConfiguration) where TIdentityServerDbContext : DbContext, IAdminConfigurationDbContext { foreach (var resource in identityServerDataConfiguration.IdentityResources) diff --git a/src/Skoruba.IdentityServer4.Admin.EntityFramework.SqlServer/Extensions/DatabaseExtensions.cs b/src/Skoruba.IdentityServer4.Admin.EntityFramework.SqlServer/Extensions/DatabaseExtensions.cs index 1825ebea9..4b4e6a00a 100644 --- a/src/Skoruba.IdentityServer4.Admin.EntityFramework.SqlServer/Extensions/DatabaseExtensions.cs +++ b/src/Skoruba.IdentityServer4.Admin.EntityFramework.SqlServer/Extensions/DatabaseExtensions.cs @@ -6,6 +6,7 @@ using Skoruba.AuditLogging.EntityFramework.DbContexts; using Skoruba.AuditLogging.EntityFramework.Entities; using Skoruba.IdentityServer4.Admin.EntityFramework.Interfaces; +using Skoruba.IdentityServer4.Admin.EntityFramework.Shared.Configuration; namespace Skoruba.IdentityServer4.Admin.EntityFramework.SqlServer.Extensions { @@ -26,7 +27,9 @@ public static class DatabaseExtensions /// /// /// - public static void RegisterSqlServerDbContexts(this IServiceCollection services, string identityConnectionString, string configurationConnectionString, string persistedGrantConnectionString, string errorLoggingConnectionString, string auditLoggingConnectionString, string dataProtectionConnectionString = null) + public static void RegisterSqlServerDbContexts(this IServiceCollection services, + ConnectionStringsConfiguration connectionStrings, + DatabaseMigrationsConfiguration databaseMigrations) where TIdentityDbContext : DbContext where TPersistedGrantDbContext : DbContext, IAdminPersistedGrantDbContext where TConfigurationDbContext : DbContext, IAdminConfigurationDbContext @@ -37,23 +40,26 @@ public static void RegisterSqlServerDbContexts(options => options.UseSqlServer(identityConnectionString, sql => sql.MigrationsAssembly(migrationsAssembly))); + services.AddDbContext(options => options.UseSqlServer(connectionStrings.IdentityDbConnection, sql => sql.MigrationsAssembly(databaseMigrations.IdentityDbMigrationsAssembly ?? migrationsAssembly))); // Config DB from existing connection - services.AddConfigurationDbContext(options => options.ConfigureDbContext = b => b.UseSqlServer(configurationConnectionString, sql => sql.MigrationsAssembly(migrationsAssembly))); + services.AddConfigurationDbContext(options => options.ConfigureDbContext = b => b.UseSqlServer(connectionStrings.ConfigurationDbConnection, sql => sql.MigrationsAssembly(databaseMigrations.ConfigurationDbMigrationsAssembly ?? migrationsAssembly))); // Operational DB from existing connection - services.AddOperationalDbContext(options => options.ConfigureDbContext = b => b.UseSqlServer(persistedGrantConnectionString, sql => sql.MigrationsAssembly(migrationsAssembly))); + services.AddOperationalDbContext(options => options.ConfigureDbContext = b => b.UseSqlServer(connectionStrings.PersistedGrantDbConnection, sql => sql.MigrationsAssembly(databaseMigrations.PersistedGrantDbMigrationsAssembly ?? migrationsAssembly))); // Log DB from existing connection - services.AddDbContext(options => options.UseSqlServer(errorLoggingConnectionString, optionsSql => optionsSql.MigrationsAssembly(migrationsAssembly))); + services.AddDbContext(options => options.UseSqlServer(connectionStrings.AdminLogDbConnection, + optionsSql => optionsSql.MigrationsAssembly(databaseMigrations.AdminLogDbMigrationsAssembly ?? migrationsAssembly))); // Audit logging connection - services.AddDbContext(options => options.UseSqlServer(auditLoggingConnectionString, optionsSql => optionsSql.MigrationsAssembly(migrationsAssembly))); + services.AddDbContext(options => options.UseSqlServer(connectionStrings.AdminAuditLogDbConnection, + optionsSql => optionsSql.MigrationsAssembly(databaseMigrations.AdminAuditLogDbMigrationsAssembly ?? migrationsAssembly))); // DataProtectionKey DB from existing connection - if(!string.IsNullOrEmpty(dataProtectionConnectionString)) - services.AddDbContext(options => options.UseSqlServer(dataProtectionConnectionString, sql => sql.MigrationsAssembly(migrationsAssembly))); + if (!string.IsNullOrEmpty(connectionStrings.DataProtectionDbConnection)) + services.AddDbContext(options => options.UseSqlServer(connectionStrings.DataProtectionDbConnection, + optionsSql => optionsSql.MigrationsAssembly(databaseMigrations.DataProtectionDbMigrationsAssembly ?? migrationsAssembly))); } /// diff --git a/src/Skoruba.IdentityServer4.Admin/Controllers/AccountController.cs b/src/Skoruba.IdentityServer4.Admin.UI/Areas/AdminUI/Controllers/AccountController.cs similarity index 80% rename from src/Skoruba.IdentityServer4.Admin/Controllers/AccountController.cs rename to src/Skoruba.IdentityServer4.Admin.UI/Areas/AdminUI/Controllers/AccountController.cs index 659e6caca..a8e9bb62f 100644 --- a/src/Skoruba.IdentityServer4.Admin/Controllers/AccountController.cs +++ b/src/Skoruba.IdentityServer4.Admin.UI/Areas/AdminUI/Controllers/AccountController.cs @@ -1,26 +1,27 @@ -using Microsoft.AspNetCore.Authorization; -using Microsoft.AspNetCore.Mvc; -using Microsoft.Extensions.Logging; -using Skoruba.IdentityServer4.Admin.Configuration.Constants; -using System.Collections.Generic; - -namespace Skoruba.IdentityServer4.Admin.Controllers -{ - [Authorize] - public class AccountController : BaseController - { - public AccountController(ILogger logger) : base(logger) - { - } - - public IActionResult AccessDenied() - { - return View(); - } - - public IActionResult Logout() - { - return new SignOutResult(new List { AuthenticationConsts.SignInScheme, AuthenticationConsts.OidcAuthenticationScheme }); - } - } -} +using Microsoft.AspNetCore.Authorization; +using Microsoft.AspNetCore.Mvc; +using Microsoft.Extensions.Logging; +using Skoruba.IdentityServer4.Admin.UI.Configuration.Constants; +using System.Collections.Generic; + +namespace Skoruba.IdentityServer4.Admin.UI.Areas.AdminUI.Controllers +{ + [Authorize] + [Area("AdminUI")] + public class AccountController : BaseController + { + public AccountController(ILogger logger) : base(logger) + { + } + + public IActionResult AccessDenied() + { + return View(); + } + + public IActionResult Logout() + { + return new SignOutResult(new List { AuthenticationConsts.SignInScheme, AuthenticationConsts.OidcAuthenticationScheme }); + } + } +} diff --git a/src/Skoruba.IdentityServer4.Admin/Controllers/BaseController.cs b/src/Skoruba.IdentityServer4.Admin.UI/Areas/AdminUI/Controllers/BaseController.cs similarity index 94% rename from src/Skoruba.IdentityServer4.Admin/Controllers/BaseController.cs rename to src/Skoruba.IdentityServer4.Admin.UI/Areas/AdminUI/Controllers/BaseController.cs index 8c1f1e415..8fbedddf4 100644 --- a/src/Skoruba.IdentityServer4.Admin/Controllers/BaseController.cs +++ b/src/Skoruba.IdentityServer4.Admin.UI/Areas/AdminUI/Controllers/BaseController.cs @@ -3,10 +3,11 @@ using Microsoft.AspNetCore.Mvc.Filters; using Microsoft.Extensions.Logging; using Newtonsoft.Json; -using Skoruba.IdentityServer4.Admin.Helpers; +using Skoruba.IdentityServer4.Admin.UI.Helpers; -namespace Skoruba.IdentityServer4.Admin.Controllers +namespace Skoruba.IdentityServer4.Admin.UI.Areas.AdminUI.Controllers { + [Area("AdminUI")] public class BaseController : Controller { private readonly ILogger _logger; diff --git a/src/Skoruba.IdentityServer4.Admin/Controllers/ConfigurationController.cs b/src/Skoruba.IdentityServer4.Admin.UI/Areas/AdminUI/Controllers/ConfigurationController.cs similarity index 99% rename from src/Skoruba.IdentityServer4.Admin/Controllers/ConfigurationController.cs rename to src/Skoruba.IdentityServer4.Admin.UI/Areas/AdminUI/Controllers/ConfigurationController.cs index afb97bab9..ff489ddfe 100644 --- a/src/Skoruba.IdentityServer4.Admin/Controllers/ConfigurationController.cs +++ b/src/Skoruba.IdentityServer4.Admin.UI/Areas/AdminUI/Controllers/ConfigurationController.cs @@ -7,13 +7,14 @@ using Skoruba.IdentityServer4.Admin.BusinessLogic.Dtos.Configuration; using Skoruba.IdentityServer4.Admin.BusinessLogic.Helpers; using Skoruba.IdentityServer4.Admin.BusinessLogic.Services.Interfaces; -using Skoruba.IdentityServer4.Admin.Configuration.Constants; -using Skoruba.IdentityServer4.Admin.ExceptionHandling; +using Skoruba.IdentityServer4.Admin.UI.Configuration.Constants; +using Skoruba.IdentityServer4.Admin.UI.ExceptionHandling; -namespace Skoruba.IdentityServer4.Admin.Controllers +namespace Skoruba.IdentityServer4.Admin.UI.Areas.AdminUI.Controllers { [Authorize(Policy = AuthorizationConsts.AdministrationPolicy)] [TypeFilter(typeof(ControllerExceptionFilterAttribute))] + [Area("AdminUI")] public class ConfigurationController : BaseController { private readonly IIdentityResourceService _identityResourceService; diff --git a/src/Skoruba.IdentityServer4.Admin/Controllers/GrantController.cs b/src/Skoruba.IdentityServer4.Admin.UI/Areas/AdminUI/Controllers/GrantController.cs similarity index 91% rename from src/Skoruba.IdentityServer4.Admin/Controllers/GrantController.cs rename to src/Skoruba.IdentityServer4.Admin.UI/Areas/AdminUI/Controllers/GrantController.cs index 30df8486d..2c9303760 100644 --- a/src/Skoruba.IdentityServer4.Admin/Controllers/GrantController.cs +++ b/src/Skoruba.IdentityServer4.Admin.UI/Areas/AdminUI/Controllers/GrantController.cs @@ -5,14 +5,15 @@ using Microsoft.Extensions.Logging; using Skoruba.IdentityServer4.Admin.BusinessLogic.Identity.Dtos.Grant; using Skoruba.IdentityServer4.Admin.BusinessLogic.Identity.Services.Interfaces; -using Skoruba.IdentityServer4.Admin.ExceptionHandling; -using Skoruba.IdentityServer4.Admin.Helpers; -using Skoruba.IdentityServer4.Admin.Configuration.Constants; +using Skoruba.IdentityServer4.Admin.UI.ExceptionHandling; +using Skoruba.IdentityServer4.Admin.UI.Helpers; +using Skoruba.IdentityServer4.Admin.UI.Configuration.Constants; -namespace Skoruba.IdentityServer4.Admin.Controllers +namespace Skoruba.IdentityServer4.Admin.UI.Areas.AdminUI.Controllers { [Authorize(Policy = AuthorizationConsts.AdministrationPolicy)] [TypeFilter(typeof(ControllerExceptionFilterAttribute))] + [Area("AdminUI")] public class GrantController : BaseController { private readonly IPersistedGrantAspNetIdentityService _persistedGrantService; diff --git a/src/Skoruba.IdentityServer4.Admin/Controllers/HomeController.cs b/src/Skoruba.IdentityServer4.Admin.UI/Areas/AdminUI/Controllers/HomeController.cs similarity index 89% rename from src/Skoruba.IdentityServer4.Admin/Controllers/HomeController.cs rename to src/Skoruba.IdentityServer4.Admin.UI/Areas/AdminUI/Controllers/HomeController.cs index a26268aae..4529ac417 100644 --- a/src/Skoruba.IdentityServer4.Admin/Controllers/HomeController.cs +++ b/src/Skoruba.IdentityServer4.Admin.UI/Areas/AdminUI/Controllers/HomeController.cs @@ -5,13 +5,14 @@ using Microsoft.AspNetCore.Localization; using Microsoft.AspNetCore.Mvc; using Microsoft.Extensions.Logging; -using Skoruba.IdentityServer4.Admin.Configuration.Constants; -using Skoruba.IdentityServer4.Admin.ExceptionHandling; +using Skoruba.IdentityServer4.Admin.UI.Configuration.Constants; +using Skoruba.IdentityServer4.Admin.UI.ExceptionHandling; -namespace Skoruba.IdentityServer4.Admin.Controllers +namespace Skoruba.IdentityServer4.Admin.UI.Areas.AdminUI.Controllers { [Authorize(Policy = AuthorizationConsts.AdministrationPolicy)] [TypeFilter(typeof(ControllerExceptionFilterAttribute))] + [Area("AdminUI")] public class HomeController : BaseController { private readonly ILogger _logger; diff --git a/src/Skoruba.IdentityServer4.Admin/Controllers/IdentityController.cs b/src/Skoruba.IdentityServer4.Admin.UI/Areas/AdminUI/Controllers/IdentityController.cs similarity index 98% rename from src/Skoruba.IdentityServer4.Admin/Controllers/IdentityController.cs rename to src/Skoruba.IdentityServer4.Admin.UI/Areas/AdminUI/Controllers/IdentityController.cs index 5060873bf..f5e37b095 100644 --- a/src/Skoruba.IdentityServer4.Admin/Controllers/IdentityController.cs +++ b/src/Skoruba.IdentityServer4.Admin.UI/Areas/AdminUI/Controllers/IdentityController.cs @@ -10,14 +10,15 @@ using Skoruba.IdentityServer4.Admin.BusinessLogic.Identity.Dtos.Identity; using Skoruba.IdentityServer4.Admin.BusinessLogic.Identity.Services.Interfaces; using Skoruba.IdentityServer4.Admin.BusinessLogic.Shared.Dtos.Common; -using Skoruba.IdentityServer4.Admin.Configuration.Constants; -using Skoruba.IdentityServer4.Admin.ExceptionHandling; -using Skoruba.IdentityServer4.Admin.Helpers.Localization; +using Skoruba.IdentityServer4.Admin.UI.Configuration.Constants; +using Skoruba.IdentityServer4.Admin.UI.ExceptionHandling; +using Skoruba.IdentityServer4.Admin.UI.Helpers.Localization; -namespace Skoruba.IdentityServer4.Admin.Controllers +namespace Skoruba.IdentityServer4.Admin.UI.Areas.AdminUI.Controllers { [Authorize(Policy = AuthorizationConsts.AdministrationPolicy)] [TypeFilter(typeof(ControllerExceptionFilterAttribute))] + [Area("AdminUI")] public class IdentityController : BaseController diff --git a/src/Skoruba.IdentityServer4.Admin/Controllers/LogController.cs b/src/Skoruba.IdentityServer4.Admin.UI/Areas/AdminUI/Controllers/LogController.cs similarity index 93% rename from src/Skoruba.IdentityServer4.Admin/Controllers/LogController.cs rename to src/Skoruba.IdentityServer4.Admin.UI/Areas/AdminUI/Controllers/LogController.cs index 4599af6a7..5bac163bf 100644 --- a/src/Skoruba.IdentityServer4.Admin/Controllers/LogController.cs +++ b/src/Skoruba.IdentityServer4.Admin.UI/Areas/AdminUI/Controllers/LogController.cs @@ -4,11 +4,12 @@ using Microsoft.Extensions.Logging; using Skoruba.IdentityServer4.Admin.BusinessLogic.Dtos.Log; using Skoruba.IdentityServer4.Admin.BusinessLogic.Services.Interfaces; -using Skoruba.IdentityServer4.Admin.Configuration.Constants; +using Skoruba.IdentityServer4.Admin.UI.Configuration.Constants; -namespace Skoruba.IdentityServer4.Admin.Controllers +namespace Skoruba.IdentityServer4.Admin.UI.Areas.AdminUI.Controllers { [Authorize(Policy = AuthorizationConsts.AdministrationPolicy)] + [Area("AdminUI")] public class LogController : BaseController { private readonly ILogService _logService; diff --git a/src/Skoruba.IdentityServer4.Admin/Views/Account/AccessDenied.cshtml b/src/Skoruba.IdentityServer4.Admin.UI/Areas/AdminUI/Views/Account/AccessDenied.cshtml similarity index 84% rename from src/Skoruba.IdentityServer4.Admin/Views/Account/AccessDenied.cshtml rename to src/Skoruba.IdentityServer4.Admin.UI/Areas/AdminUI/Views/Account/AccessDenied.cshtml index 54ddc7acc..a92dd2314 100644 --- a/src/Skoruba.IdentityServer4.Admin/Views/Account/AccessDenied.cshtml +++ b/src/Skoruba.IdentityServer4.Admin.UI/Areas/AdminUI/Views/Account/AccessDenied.cshtml @@ -1,15 +1,15 @@ @using Microsoft.AspNetCore.Mvc.Localization -@using Skoruba.IdentityServer4.Admin.Configuration.Interfaces +@using Skoruba.IdentityServer4.Admin.UI.Configuration @inject IViewLocalizer Localizer -@inject IRootConfiguration RootConfiguration +@inject AdminConfiguration AdminConfiguration @{ Layout = null; } - - + + @Localizer["PageTitle"] @@ -34,7 +34,7 @@

- @Localizer["ReturnToIdentityServer"] + @Localizer["ReturnToIdentityServer"] @Localizer["Logout"] diff --git a/src/Skoruba.IdentityServer4.Admin/Views/Configuration/ApiResource.cshtml b/src/Skoruba.IdentityServer4.Admin.UI/Areas/AdminUI/Views/Configuration/ApiResource.cshtml similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Views/Configuration/ApiResource.cshtml rename to src/Skoruba.IdentityServer4.Admin.UI/Areas/AdminUI/Views/Configuration/ApiResource.cshtml diff --git a/src/Skoruba.IdentityServer4.Admin/Views/Configuration/ApiResource/Section/Label.cshtml b/src/Skoruba.IdentityServer4.Admin.UI/Areas/AdminUI/Views/Configuration/ApiResource/Section/Label.cshtml similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Views/Configuration/ApiResource/Section/Label.cshtml rename to src/Skoruba.IdentityServer4.Admin.UI/Areas/AdminUI/Views/Configuration/ApiResource/Section/Label.cshtml diff --git a/src/Skoruba.IdentityServer4.Admin/Views/Configuration/ApiResourceDelete.cshtml b/src/Skoruba.IdentityServer4.Admin.UI/Areas/AdminUI/Views/Configuration/ApiResourceDelete.cshtml similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Views/Configuration/ApiResourceDelete.cshtml rename to src/Skoruba.IdentityServer4.Admin.UI/Areas/AdminUI/Views/Configuration/ApiResourceDelete.cshtml diff --git a/src/Skoruba.IdentityServer4.Admin/Views/Configuration/ApiResourceProperties.cshtml b/src/Skoruba.IdentityServer4.Admin.UI/Areas/AdminUI/Views/Configuration/ApiResourceProperties.cshtml similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Views/Configuration/ApiResourceProperties.cshtml rename to src/Skoruba.IdentityServer4.Admin.UI/Areas/AdminUI/Views/Configuration/ApiResourceProperties.cshtml diff --git a/src/Skoruba.IdentityServer4.Admin/Views/Configuration/ApiResourcePropertyDelete.cshtml b/src/Skoruba.IdentityServer4.Admin.UI/Areas/AdminUI/Views/Configuration/ApiResourcePropertyDelete.cshtml similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Views/Configuration/ApiResourcePropertyDelete.cshtml rename to src/Skoruba.IdentityServer4.Admin.UI/Areas/AdminUI/Views/Configuration/ApiResourcePropertyDelete.cshtml diff --git a/src/Skoruba.IdentityServer4.Admin/Views/Configuration/ApiResources.cshtml b/src/Skoruba.IdentityServer4.Admin.UI/Areas/AdminUI/Views/Configuration/ApiResources.cshtml similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Views/Configuration/ApiResources.cshtml rename to src/Skoruba.IdentityServer4.Admin.UI/Areas/AdminUI/Views/Configuration/ApiResources.cshtml diff --git a/src/Skoruba.IdentityServer4.Admin/Views/Configuration/ApiScope.cshtml b/src/Skoruba.IdentityServer4.Admin.UI/Areas/AdminUI/Views/Configuration/ApiScope.cshtml similarity index 90% rename from src/Skoruba.IdentityServer4.Admin/Views/Configuration/ApiScope.cshtml rename to src/Skoruba.IdentityServer4.Admin.UI/Areas/AdminUI/Views/Configuration/ApiScope.cshtml index c97e36787..25ae4abe3 100644 --- a/src/Skoruba.IdentityServer4.Admin/Views/Configuration/ApiScope.cshtml +++ b/src/Skoruba.IdentityServer4.Admin.UI/Areas/AdminUI/Views/Configuration/ApiScope.cshtml @@ -15,12 +15,12 @@ @if (Model.Id != 0) { - + } else { - + } @@ -31,7 +31,7 @@ -
+
@@ -128,7 +128,7 @@ @await Html.PartialAsync("ApiResource/Section/Label", "Properties") } diff --git a/src/Skoruba.IdentityServer4.Admin/Views/Configuration/ApiScope/Section/Label.cshtml b/src/Skoruba.IdentityServer4.Admin.UI/Areas/AdminUI/Views/Configuration/ApiScope/Section/Label.cshtml similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Views/Configuration/ApiScope/Section/Label.cshtml rename to src/Skoruba.IdentityServer4.Admin.UI/Areas/AdminUI/Views/Configuration/ApiScope/Section/Label.cshtml diff --git a/src/Skoruba.IdentityServer4.Admin/Views/Configuration/ApiScopeDelete.cshtml b/src/Skoruba.IdentityServer4.Admin.UI/Areas/AdminUI/Views/Configuration/ApiScopeDelete.cshtml similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Views/Configuration/ApiScopeDelete.cshtml rename to src/Skoruba.IdentityServer4.Admin.UI/Areas/AdminUI/Views/Configuration/ApiScopeDelete.cshtml diff --git a/src/Skoruba.IdentityServer4.Admin/Views/Configuration/ApiScopeProperties.cshtml b/src/Skoruba.IdentityServer4.Admin.UI/Areas/AdminUI/Views/Configuration/ApiScopeProperties.cshtml similarity index 83% rename from src/Skoruba.IdentityServer4.Admin/Views/Configuration/ApiScopeProperties.cshtml rename to src/Skoruba.IdentityServer4.Admin.UI/Areas/AdminUI/Views/Configuration/ApiScopeProperties.cshtml index b90e3e6a5..b6acc4c9f 100644 --- a/src/Skoruba.IdentityServer4.Admin/Views/Configuration/ApiScopeProperties.cshtml +++ b/src/Skoruba.IdentityServer4.Admin.UI/Areas/AdminUI/Views/Configuration/ApiScopeProperties.cshtml @@ -8,14 +8,14 @@ Layout = "_Layout"; } - +
@@ -93,7 +93,7 @@ @apiResourceProperty.Key @apiResourceProperty.Value - @Localizer["TableDelete"] + @Localizer["TableDelete"] } diff --git a/src/Skoruba.IdentityServer4.Admin/Views/Configuration/ApiScopePropertyDelete.cshtml b/src/Skoruba.IdentityServer4.Admin.UI/Areas/AdminUI/Views/Configuration/ApiScopePropertyDelete.cshtml similarity index 73% rename from src/Skoruba.IdentityServer4.Admin/Views/Configuration/ApiScopePropertyDelete.cshtml rename to src/Skoruba.IdentityServer4.Admin.UI/Areas/AdminUI/Views/Configuration/ApiScopePropertyDelete.cshtml index f8d517820..5f624bd5f 100644 --- a/src/Skoruba.IdentityServer4.Admin/Views/Configuration/ApiScopePropertyDelete.cshtml +++ b/src/Skoruba.IdentityServer4.Admin.UI/Areas/AdminUI/Views/Configuration/ApiScopePropertyDelete.cshtml @@ -7,15 +7,15 @@ Layout = "_Layout"; } - +
diff --git a/src/Skoruba.IdentityServer4.Admin/Views/Configuration/ApiScopes.cshtml b/src/Skoruba.IdentityServer4.Admin.UI/Areas/AdminUI/Views/Configuration/ApiScopes.cshtml similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Views/Configuration/ApiScopes.cshtml rename to src/Skoruba.IdentityServer4.Admin.UI/Areas/AdminUI/Views/Configuration/ApiScopes.cshtml diff --git a/src/Skoruba.IdentityServer4.Admin/Views/Configuration/ApiSecretDelete.cshtml b/src/Skoruba.IdentityServer4.Admin.UI/Areas/AdminUI/Views/Configuration/ApiSecretDelete.cshtml similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Views/Configuration/ApiSecretDelete.cshtml rename to src/Skoruba.IdentityServer4.Admin.UI/Areas/AdminUI/Views/Configuration/ApiSecretDelete.cshtml diff --git a/src/Skoruba.IdentityServer4.Admin/Views/Configuration/ApiSecrets.cshtml b/src/Skoruba.IdentityServer4.Admin.UI/Areas/AdminUI/Views/Configuration/ApiSecrets.cshtml similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Views/Configuration/ApiSecrets.cshtml rename to src/Skoruba.IdentityServer4.Admin.UI/Areas/AdminUI/Views/Configuration/ApiSecrets.cshtml diff --git a/src/Skoruba.IdentityServer4.Admin/Views/Configuration/Client.cshtml b/src/Skoruba.IdentityServer4.Admin.UI/Areas/AdminUI/Views/Configuration/Client.cshtml similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Views/Configuration/Client.cshtml rename to src/Skoruba.IdentityServer4.Admin.UI/Areas/AdminUI/Views/Configuration/Client.cshtml diff --git a/src/Skoruba.IdentityServer4.Admin/Views/Configuration/Client/Section/ActionButtons.cshtml b/src/Skoruba.IdentityServer4.Admin.UI/Areas/AdminUI/Views/Configuration/Client/Section/ActionButtons.cshtml similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Views/Configuration/Client/Section/ActionButtons.cshtml rename to src/Skoruba.IdentityServer4.Admin.UI/Areas/AdminUI/Views/Configuration/Client/Section/ActionButtons.cshtml diff --git a/src/Skoruba.IdentityServer4.Admin/Views/Configuration/Client/Section/Authentication.cshtml b/src/Skoruba.IdentityServer4.Admin.UI/Areas/AdminUI/Views/Configuration/Client/Section/Authentication.cshtml similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Views/Configuration/Client/Section/Authentication.cshtml rename to src/Skoruba.IdentityServer4.Admin.UI/Areas/AdminUI/Views/Configuration/Client/Section/Authentication.cshtml diff --git a/src/Skoruba.IdentityServer4.Admin/Views/Configuration/Client/Section/Basics.cshtml b/src/Skoruba.IdentityServer4.Admin.UI/Areas/AdminUI/Views/Configuration/Client/Section/Basics.cshtml similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Views/Configuration/Client/Section/Basics.cshtml rename to src/Skoruba.IdentityServer4.Admin.UI/Areas/AdminUI/Views/Configuration/Client/Section/Basics.cshtml diff --git a/src/Skoruba.IdentityServer4.Admin/Views/Configuration/Client/Section/Consent.cshtml b/src/Skoruba.IdentityServer4.Admin.UI/Areas/AdminUI/Views/Configuration/Client/Section/Consent.cshtml similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Views/Configuration/Client/Section/Consent.cshtml rename to src/Skoruba.IdentityServer4.Admin.UI/Areas/AdminUI/Views/Configuration/Client/Section/Consent.cshtml diff --git a/src/Skoruba.IdentityServer4.Admin/Views/Configuration/Client/Section/DeviceFlow.cshtml b/src/Skoruba.IdentityServer4.Admin.UI/Areas/AdminUI/Views/Configuration/Client/Section/DeviceFlow.cshtml similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Views/Configuration/Client/Section/DeviceFlow.cshtml rename to src/Skoruba.IdentityServer4.Admin.UI/Areas/AdminUI/Views/Configuration/Client/Section/DeviceFlow.cshtml diff --git a/src/Skoruba.IdentityServer4.Admin/Views/Configuration/Client/Section/Label.cshtml b/src/Skoruba.IdentityServer4.Admin.UI/Areas/AdminUI/Views/Configuration/Client/Section/Label.cshtml similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Views/Configuration/Client/Section/Label.cshtml rename to src/Skoruba.IdentityServer4.Admin.UI/Areas/AdminUI/Views/Configuration/Client/Section/Label.cshtml diff --git a/src/Skoruba.IdentityServer4.Admin/Views/Configuration/Client/Section/Name.cshtml b/src/Skoruba.IdentityServer4.Admin.UI/Areas/AdminUI/Views/Configuration/Client/Section/Name.cshtml similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Views/Configuration/Client/Section/Name.cshtml rename to src/Skoruba.IdentityServer4.Admin.UI/Areas/AdminUI/Views/Configuration/Client/Section/Name.cshtml diff --git a/src/Skoruba.IdentityServer4.Admin/Views/Configuration/Client/Section/Token.cshtml b/src/Skoruba.IdentityServer4.Admin.UI/Areas/AdminUI/Views/Configuration/Client/Section/Token.cshtml similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Views/Configuration/Client/Section/Token.cshtml rename to src/Skoruba.IdentityServer4.Admin.UI/Areas/AdminUI/Views/Configuration/Client/Section/Token.cshtml diff --git a/src/Skoruba.IdentityServer4.Admin/Views/Configuration/Client/Settings.cshtml b/src/Skoruba.IdentityServer4.Admin.UI/Areas/AdminUI/Views/Configuration/Client/Settings.cshtml similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Views/Configuration/Client/Settings.cshtml rename to src/Skoruba.IdentityServer4.Admin.UI/Areas/AdminUI/Views/Configuration/Client/Settings.cshtml diff --git a/src/Skoruba.IdentityServer4.Admin/Views/Configuration/ClientClaimDelete.cshtml b/src/Skoruba.IdentityServer4.Admin.UI/Areas/AdminUI/Views/Configuration/ClientClaimDelete.cshtml similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Views/Configuration/ClientClaimDelete.cshtml rename to src/Skoruba.IdentityServer4.Admin.UI/Areas/AdminUI/Views/Configuration/ClientClaimDelete.cshtml diff --git a/src/Skoruba.IdentityServer4.Admin/Views/Configuration/ClientClaims.cshtml b/src/Skoruba.IdentityServer4.Admin.UI/Areas/AdminUI/Views/Configuration/ClientClaims.cshtml similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Views/Configuration/ClientClaims.cshtml rename to src/Skoruba.IdentityServer4.Admin.UI/Areas/AdminUI/Views/Configuration/ClientClaims.cshtml diff --git a/src/Skoruba.IdentityServer4.Admin/Views/Configuration/ClientClone.cshtml b/src/Skoruba.IdentityServer4.Admin.UI/Areas/AdminUI/Views/Configuration/ClientClone.cshtml similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Views/Configuration/ClientClone.cshtml rename to src/Skoruba.IdentityServer4.Admin.UI/Areas/AdminUI/Views/Configuration/ClientClone.cshtml diff --git a/src/Skoruba.IdentityServer4.Admin/Views/Configuration/ClientDelete.cshtml b/src/Skoruba.IdentityServer4.Admin.UI/Areas/AdminUI/Views/Configuration/ClientDelete.cshtml similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Views/Configuration/ClientDelete.cshtml rename to src/Skoruba.IdentityServer4.Admin.UI/Areas/AdminUI/Views/Configuration/ClientDelete.cshtml diff --git a/src/Skoruba.IdentityServer4.Admin/Views/Configuration/ClientProperties.cshtml b/src/Skoruba.IdentityServer4.Admin.UI/Areas/AdminUI/Views/Configuration/ClientProperties.cshtml similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Views/Configuration/ClientProperties.cshtml rename to src/Skoruba.IdentityServer4.Admin.UI/Areas/AdminUI/Views/Configuration/ClientProperties.cshtml diff --git a/src/Skoruba.IdentityServer4.Admin/Views/Configuration/ClientPropertyDelete.cshtml b/src/Skoruba.IdentityServer4.Admin.UI/Areas/AdminUI/Views/Configuration/ClientPropertyDelete.cshtml similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Views/Configuration/ClientPropertyDelete.cshtml rename to src/Skoruba.IdentityServer4.Admin.UI/Areas/AdminUI/Views/Configuration/ClientPropertyDelete.cshtml diff --git a/src/Skoruba.IdentityServer4.Admin/Views/Configuration/ClientSecretDelete.cshtml b/src/Skoruba.IdentityServer4.Admin.UI/Areas/AdminUI/Views/Configuration/ClientSecretDelete.cshtml similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Views/Configuration/ClientSecretDelete.cshtml rename to src/Skoruba.IdentityServer4.Admin.UI/Areas/AdminUI/Views/Configuration/ClientSecretDelete.cshtml diff --git a/src/Skoruba.IdentityServer4.Admin/Views/Configuration/ClientSecrets.cshtml b/src/Skoruba.IdentityServer4.Admin.UI/Areas/AdminUI/Views/Configuration/ClientSecrets.cshtml similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Views/Configuration/ClientSecrets.cshtml rename to src/Skoruba.IdentityServer4.Admin.UI/Areas/AdminUI/Views/Configuration/ClientSecrets.cshtml diff --git a/src/Skoruba.IdentityServer4.Admin/Views/Configuration/Clients.cshtml b/src/Skoruba.IdentityServer4.Admin.UI/Areas/AdminUI/Views/Configuration/Clients.cshtml similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Views/Configuration/Clients.cshtml rename to src/Skoruba.IdentityServer4.Admin.UI/Areas/AdminUI/Views/Configuration/Clients.cshtml diff --git a/src/Skoruba.IdentityServer4.Admin/Views/Configuration/IdentityResource.cshtml b/src/Skoruba.IdentityServer4.Admin.UI/Areas/AdminUI/Views/Configuration/IdentityResource.cshtml similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Views/Configuration/IdentityResource.cshtml rename to src/Skoruba.IdentityServer4.Admin.UI/Areas/AdminUI/Views/Configuration/IdentityResource.cshtml diff --git a/src/Skoruba.IdentityServer4.Admin/Views/Configuration/IdentityResource/Section/Label.cshtml b/src/Skoruba.IdentityServer4.Admin.UI/Areas/AdminUI/Views/Configuration/IdentityResource/Section/Label.cshtml similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Views/Configuration/IdentityResource/Section/Label.cshtml rename to src/Skoruba.IdentityServer4.Admin.UI/Areas/AdminUI/Views/Configuration/IdentityResource/Section/Label.cshtml diff --git a/src/Skoruba.IdentityServer4.Admin/Views/Configuration/IdentityResourceDelete.cshtml b/src/Skoruba.IdentityServer4.Admin.UI/Areas/AdminUI/Views/Configuration/IdentityResourceDelete.cshtml similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Views/Configuration/IdentityResourceDelete.cshtml rename to src/Skoruba.IdentityServer4.Admin.UI/Areas/AdminUI/Views/Configuration/IdentityResourceDelete.cshtml diff --git a/src/Skoruba.IdentityServer4.Admin/Views/Configuration/IdentityResourceProperties.cshtml b/src/Skoruba.IdentityServer4.Admin.UI/Areas/AdminUI/Views/Configuration/IdentityResourceProperties.cshtml similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Views/Configuration/IdentityResourceProperties.cshtml rename to src/Skoruba.IdentityServer4.Admin.UI/Areas/AdminUI/Views/Configuration/IdentityResourceProperties.cshtml diff --git a/src/Skoruba.IdentityServer4.Admin/Views/Configuration/IdentityResourcePropertyDelete.cshtml b/src/Skoruba.IdentityServer4.Admin.UI/Areas/AdminUI/Views/Configuration/IdentityResourcePropertyDelete.cshtml similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Views/Configuration/IdentityResourcePropertyDelete.cshtml rename to src/Skoruba.IdentityServer4.Admin.UI/Areas/AdminUI/Views/Configuration/IdentityResourcePropertyDelete.cshtml diff --git a/src/Skoruba.IdentityServer4.Admin/Views/Configuration/IdentityResources.cshtml b/src/Skoruba.IdentityServer4.Admin.UI/Areas/AdminUI/Views/Configuration/IdentityResources.cshtml similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Views/Configuration/IdentityResources.cshtml rename to src/Skoruba.IdentityServer4.Admin.UI/Areas/AdminUI/Views/Configuration/IdentityResources.cshtml diff --git a/src/Skoruba.IdentityServer4.Admin/Views/Grant/PersistedGrant.cshtml b/src/Skoruba.IdentityServer4.Admin.UI/Areas/AdminUI/Views/Grant/PersistedGrant.cshtml similarity index 98% rename from src/Skoruba.IdentityServer4.Admin/Views/Grant/PersistedGrant.cshtml rename to src/Skoruba.IdentityServer4.Admin.UI/Areas/AdminUI/Views/Grant/PersistedGrant.cshtml index 55109f990..b99cf975e 100644 --- a/src/Skoruba.IdentityServer4.Admin/Views/Grant/PersistedGrant.cshtml +++ b/src/Skoruba.IdentityServer4.Admin.UI/Areas/AdminUI/Views/Grant/PersistedGrant.cshtml @@ -1,6 +1,6 @@ @using Microsoft.AspNetCore.Mvc.Localization @using Skoruba.IdentityServer4.Admin.BusinessLogic.Identity.Dtos.Grant -@using Skoruba.IdentityServer4.Admin.Helpers +@using Skoruba.IdentityServer4.Admin.UI.Helpers @using Skoruba.IdentityServer4.Admin.BusinessLogic.Shared.Dtos.Common @model PersistedGrantsDto @inject IViewLocalizer Localizer diff --git a/src/Skoruba.IdentityServer4.Admin/Views/Grant/PersistedGrantDelete.cshtml b/src/Skoruba.IdentityServer4.Admin.UI/Areas/AdminUI/Views/Grant/PersistedGrantDelete.cshtml similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Views/Grant/PersistedGrantDelete.cshtml rename to src/Skoruba.IdentityServer4.Admin.UI/Areas/AdminUI/Views/Grant/PersistedGrantDelete.cshtml diff --git a/src/Skoruba.IdentityServer4.Admin/Views/Grant/PersistedGrants.cshtml b/src/Skoruba.IdentityServer4.Admin.UI/Areas/AdminUI/Views/Grant/PersistedGrants.cshtml similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Views/Grant/PersistedGrants.cshtml rename to src/Skoruba.IdentityServer4.Admin.UI/Areas/AdminUI/Views/Grant/PersistedGrants.cshtml diff --git a/src/Skoruba.IdentityServer4.Admin/Views/Home/Error.cshtml b/src/Skoruba.IdentityServer4.Admin.UI/Areas/AdminUI/Views/Home/Error.cshtml similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Views/Home/Error.cshtml rename to src/Skoruba.IdentityServer4.Admin.UI/Areas/AdminUI/Views/Home/Error.cshtml diff --git a/src/Skoruba.IdentityServer4.Admin/Views/Home/Index.cshtml b/src/Skoruba.IdentityServer4.Admin.UI/Areas/AdminUI/Views/Home/Index.cshtml similarity index 93% rename from src/Skoruba.IdentityServer4.Admin/Views/Home/Index.cshtml rename to src/Skoruba.IdentityServer4.Admin.UI/Areas/AdminUI/Views/Home/Index.cshtml index 3ea73219a..d7ab51e10 100644 --- a/src/Skoruba.IdentityServer4.Admin/Views/Home/Index.cshtml +++ b/src/Skoruba.IdentityServer4.Admin.UI/Areas/AdminUI/Views/Home/Index.cshtml @@ -1,16 +1,16 @@ @using Microsoft.AspNetCore.Mvc.Localization -@using Skoruba.IdentityServer4.Admin.Configuration.Interfaces -@inject IRootConfiguration RootConfiguration +@using Skoruba.IdentityServer4.Admin.UI.Configuration +@inject AdminConfiguration AdminConfiguration @inject IViewLocalizer Localizer @{ - ViewBag.Title = RootConfiguration.AdminConfiguration.PageTitle; - Layout = "_Layout"; + ViewBag.Title = AdminConfiguration.PageTitle; + Layout = "_Layout"; }
-

@RootConfiguration.AdminConfiguration.PageTitle

-

@Localizer["PageSubTitle"]

+

@AdminConfiguration.PageTitle

+

@Localizer["PageSubTitle"]

diff --git a/src/Skoruba.IdentityServer4.Admin/Views/Identity/Role.cshtml b/src/Skoruba.IdentityServer4.Admin.UI/Areas/AdminUI/Views/Identity/Role.cshtml similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Views/Identity/Role.cshtml rename to src/Skoruba.IdentityServer4.Admin.UI/Areas/AdminUI/Views/Identity/Role.cshtml diff --git a/src/Skoruba.IdentityServer4.Admin/Views/Identity/Role/Section/Label.cshtml b/src/Skoruba.IdentityServer4.Admin.UI/Areas/AdminUI/Views/Identity/Role/Section/Label.cshtml similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Views/Identity/Role/Section/Label.cshtml rename to src/Skoruba.IdentityServer4.Admin.UI/Areas/AdminUI/Views/Identity/Role/Section/Label.cshtml diff --git a/src/Skoruba.IdentityServer4.Admin/Views/Identity/RoleClaims.cshtml b/src/Skoruba.IdentityServer4.Admin.UI/Areas/AdminUI/Views/Identity/RoleClaims.cshtml similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Views/Identity/RoleClaims.cshtml rename to src/Skoruba.IdentityServer4.Admin.UI/Areas/AdminUI/Views/Identity/RoleClaims.cshtml diff --git a/src/Skoruba.IdentityServer4.Admin/Views/Identity/RoleClaimsDelete.cshtml b/src/Skoruba.IdentityServer4.Admin.UI/Areas/AdminUI/Views/Identity/RoleClaimsDelete.cshtml similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Views/Identity/RoleClaimsDelete.cshtml rename to src/Skoruba.IdentityServer4.Admin.UI/Areas/AdminUI/Views/Identity/RoleClaimsDelete.cshtml diff --git a/src/Skoruba.IdentityServer4.Admin/Views/Identity/RoleDelete.cshtml b/src/Skoruba.IdentityServer4.Admin.UI/Areas/AdminUI/Views/Identity/RoleDelete.cshtml similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Views/Identity/RoleDelete.cshtml rename to src/Skoruba.IdentityServer4.Admin.UI/Areas/AdminUI/Views/Identity/RoleDelete.cshtml diff --git a/src/Skoruba.IdentityServer4.Admin/Views/Identity/RoleUsers.cshtml b/src/Skoruba.IdentityServer4.Admin.UI/Areas/AdminUI/Views/Identity/RoleUsers.cshtml similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Views/Identity/RoleUsers.cshtml rename to src/Skoruba.IdentityServer4.Admin.UI/Areas/AdminUI/Views/Identity/RoleUsers.cshtml diff --git a/src/Skoruba.IdentityServer4.Admin/Views/Identity/Roles.cshtml b/src/Skoruba.IdentityServer4.Admin.UI/Areas/AdminUI/Views/Identity/Roles.cshtml similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Views/Identity/Roles.cshtml rename to src/Skoruba.IdentityServer4.Admin.UI/Areas/AdminUI/Views/Identity/Roles.cshtml diff --git a/src/Skoruba.IdentityServer4.Admin/Views/Identity/User/Section/Label.cshtml b/src/Skoruba.IdentityServer4.Admin.UI/Areas/AdminUI/Views/Identity/User/Section/Label.cshtml similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Views/Identity/User/Section/Label.cshtml rename to src/Skoruba.IdentityServer4.Admin.UI/Areas/AdminUI/Views/Identity/User/Section/Label.cshtml diff --git a/src/Skoruba.IdentityServer4.Admin/Views/Identity/UserChangePassword.cshtml b/src/Skoruba.IdentityServer4.Admin.UI/Areas/AdminUI/Views/Identity/UserChangePassword.cshtml similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Views/Identity/UserChangePassword.cshtml rename to src/Skoruba.IdentityServer4.Admin.UI/Areas/AdminUI/Views/Identity/UserChangePassword.cshtml diff --git a/src/Skoruba.IdentityServer4.Admin/Views/Identity/UserClaims.cshtml b/src/Skoruba.IdentityServer4.Admin.UI/Areas/AdminUI/Views/Identity/UserClaims.cshtml similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Views/Identity/UserClaims.cshtml rename to src/Skoruba.IdentityServer4.Admin.UI/Areas/AdminUI/Views/Identity/UserClaims.cshtml diff --git a/src/Skoruba.IdentityServer4.Admin/Views/Identity/UserClaimsDelete.cshtml b/src/Skoruba.IdentityServer4.Admin.UI/Areas/AdminUI/Views/Identity/UserClaimsDelete.cshtml similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Views/Identity/UserClaimsDelete.cshtml rename to src/Skoruba.IdentityServer4.Admin.UI/Areas/AdminUI/Views/Identity/UserClaimsDelete.cshtml diff --git a/src/Skoruba.IdentityServer4.Admin/Views/Identity/UserDelete.cshtml b/src/Skoruba.IdentityServer4.Admin.UI/Areas/AdminUI/Views/Identity/UserDelete.cshtml similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Views/Identity/UserDelete.cshtml rename to src/Skoruba.IdentityServer4.Admin.UI/Areas/AdminUI/Views/Identity/UserDelete.cshtml diff --git a/src/Skoruba.IdentityServer4.Admin/Views/Identity/UserProfile.cshtml b/src/Skoruba.IdentityServer4.Admin.UI/Areas/AdminUI/Views/Identity/UserProfile.cshtml similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Views/Identity/UserProfile.cshtml rename to src/Skoruba.IdentityServer4.Admin.UI/Areas/AdminUI/Views/Identity/UserProfile.cshtml diff --git a/src/Skoruba.IdentityServer4.Admin/Views/Identity/UserProviders.cshtml b/src/Skoruba.IdentityServer4.Admin.UI/Areas/AdminUI/Views/Identity/UserProviders.cshtml similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Views/Identity/UserProviders.cshtml rename to src/Skoruba.IdentityServer4.Admin.UI/Areas/AdminUI/Views/Identity/UserProviders.cshtml diff --git a/src/Skoruba.IdentityServer4.Admin/Views/Identity/UserProvidersDelete.cshtml b/src/Skoruba.IdentityServer4.Admin.UI/Areas/AdminUI/Views/Identity/UserProvidersDelete.cshtml similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Views/Identity/UserProvidersDelete.cshtml rename to src/Skoruba.IdentityServer4.Admin.UI/Areas/AdminUI/Views/Identity/UserProvidersDelete.cshtml diff --git a/src/Skoruba.IdentityServer4.Admin/Views/Identity/UserRoles.cshtml b/src/Skoruba.IdentityServer4.Admin.UI/Areas/AdminUI/Views/Identity/UserRoles.cshtml similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Views/Identity/UserRoles.cshtml rename to src/Skoruba.IdentityServer4.Admin.UI/Areas/AdminUI/Views/Identity/UserRoles.cshtml diff --git a/src/Skoruba.IdentityServer4.Admin/Views/Identity/UserRolesDelete.cshtml b/src/Skoruba.IdentityServer4.Admin.UI/Areas/AdminUI/Views/Identity/UserRolesDelete.cshtml similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Views/Identity/UserRolesDelete.cshtml rename to src/Skoruba.IdentityServer4.Admin.UI/Areas/AdminUI/Views/Identity/UserRolesDelete.cshtml diff --git a/src/Skoruba.IdentityServer4.Admin/Views/Identity/Users.cshtml b/src/Skoruba.IdentityServer4.Admin.UI/Areas/AdminUI/Views/Identity/Users.cshtml similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Views/Identity/Users.cshtml rename to src/Skoruba.IdentityServer4.Admin.UI/Areas/AdminUI/Views/Identity/Users.cshtml diff --git a/src/Skoruba.IdentityServer4.Admin/Views/Log/AuditLog.cshtml b/src/Skoruba.IdentityServer4.Admin.UI/Areas/AdminUI/Views/Log/AuditLog.cshtml similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Views/Log/AuditLog.cshtml rename to src/Skoruba.IdentityServer4.Admin.UI/Areas/AdminUI/Views/Log/AuditLog.cshtml diff --git a/src/Skoruba.IdentityServer4.Admin/Views/Log/ErrorsLog.cshtml b/src/Skoruba.IdentityServer4.Admin.UI/Areas/AdminUI/Views/Log/ErrorsLog.cshtml similarity index 98% rename from src/Skoruba.IdentityServer4.Admin/Views/Log/ErrorsLog.cshtml rename to src/Skoruba.IdentityServer4.Admin.UI/Areas/AdminUI/Views/Log/ErrorsLog.cshtml index f5bfd4ae0..1f21b77b8 100644 --- a/src/Skoruba.IdentityServer4.Admin/Views/Log/ErrorsLog.cshtml +++ b/src/Skoruba.IdentityServer4.Admin.UI/Areas/AdminUI/Views/Log/ErrorsLog.cshtml @@ -1,6 +1,6 @@ @using Microsoft.AspNetCore.Mvc.Localization @using Skoruba.IdentityServer4.Admin.BusinessLogic.Shared.Dtos.Common -@using Skoruba.IdentityServer4.Admin.Helpers +@using Skoruba.IdentityServer4.Admin.UI.Helpers @model Skoruba.IdentityServer4.Admin.BusinessLogic.Dtos.Log.LogsDto @inject IViewLocalizer Localizer diff --git a/src/Skoruba.IdentityServer4.Admin/Views/Shared/Common/ApplicationVersion.cshtml b/src/Skoruba.IdentityServer4.Admin.UI/Areas/AdminUI/Views/Shared/Common/ApplicationVersion.cshtml similarity index 68% rename from src/Skoruba.IdentityServer4.Admin/Views/Shared/Common/ApplicationVersion.cshtml rename to src/Skoruba.IdentityServer4.Admin.UI/Areas/AdminUI/Views/Shared/Common/ApplicationVersion.cshtml index 958644c3f..80b90117d 100644 --- a/src/Skoruba.IdentityServer4.Admin/Views/Shared/Common/ApplicationVersion.cshtml +++ b/src/Skoruba.IdentityServer4.Admin.UI/Areas/AdminUI/Views/Shared/Common/ApplicationVersion.cshtml @@ -2,9 +2,7 @@ @using Skoruba.IdentityServer4.Admin @{ - var runtimeVersion = typeof(Startup) - .GetTypeInfo() - .Assembly + var runtimeVersion = Assembly.GetExecutingAssembly() .GetCustomAttribute()?.InformationalVersion; } diff --git a/src/Skoruba.IdentityServer4.Admin/Views/Shared/Common/ErrorPage.cshtml b/src/Skoruba.IdentityServer4.Admin.UI/Areas/AdminUI/Views/Shared/Common/ErrorPage.cshtml similarity index 91% rename from src/Skoruba.IdentityServer4.Admin/Views/Shared/Common/ErrorPage.cshtml rename to src/Skoruba.IdentityServer4.Admin.UI/Areas/AdminUI/Views/Shared/Common/ErrorPage.cshtml index 8bfc61a88..844927018 100644 --- a/src/Skoruba.IdentityServer4.Admin/Views/Shared/Common/ErrorPage.cshtml +++ b/src/Skoruba.IdentityServer4.Admin.UI/Areas/AdminUI/Views/Shared/Common/ErrorPage.cshtml @@ -1,6 +1,6 @@ @using Microsoft.AspNetCore.Mvc.Localization @using Newtonsoft.Json -@using Skoruba.IdentityServer4.Admin.Helpers +@using Skoruba.IdentityServer4.Admin.UI.Helpers @inject IViewLocalizer Localizer @{ ViewData["Title"] = "Error"; diff --git a/src/Skoruba.IdentityServer4.Admin/Views/Shared/Common/Notification.cshtml b/src/Skoruba.IdentityServer4.Admin.UI/Areas/AdminUI/Views/Shared/Common/Notification.cshtml similarity index 95% rename from src/Skoruba.IdentityServer4.Admin/Views/Shared/Common/Notification.cshtml rename to src/Skoruba.IdentityServer4.Admin.UI/Areas/AdminUI/Views/Shared/Common/Notification.cshtml index ff49daed6..8d2fe75a2 100644 --- a/src/Skoruba.IdentityServer4.Admin/Views/Shared/Common/Notification.cshtml +++ b/src/Skoruba.IdentityServer4.Admin.UI/Areas/AdminUI/Views/Shared/Common/Notification.cshtml @@ -1,5 +1,5 @@ @using Newtonsoft.Json -@using Skoruba.IdentityServer4.Admin.Helpers +@using Skoruba.IdentityServer4.Admin.UI.Helpers @if (ViewBag.Notifications != null) { var settings = new JsonSerializerSettings diff --git a/src/Skoruba.IdentityServer4.Admin/Views/Shared/Common/Pager.cshtml b/src/Skoruba.IdentityServer4.Admin.UI/Areas/AdminUI/Views/Shared/Common/Pager.cshtml similarity index 98% rename from src/Skoruba.IdentityServer4.Admin/Views/Shared/Common/Pager.cshtml rename to src/Skoruba.IdentityServer4.Admin.UI/Areas/AdminUI/Views/Shared/Common/Pager.cshtml index c8374d814..8c9e52e72 100644 --- a/src/Skoruba.IdentityServer4.Admin/Views/Shared/Common/Pager.cshtml +++ b/src/Skoruba.IdentityServer4.Admin.UI/Areas/AdminUI/Views/Shared/Common/Pager.cshtml @@ -1,5 +1,5 @@ @using Microsoft.AspNetCore.Mvc.Localization -@using Skoruba.IdentityServer4.Admin.Helpers +@using Skoruba.IdentityServer4.Admin.UI.Helpers @model Skoruba.IdentityServer4.Admin.BusinessLogic.Shared.Dtos.Common.Pager @inject IViewLocalizer Localizer @{ diff --git a/src/Skoruba.IdentityServer4.Admin/Views/Shared/Common/PagerDynamic.cshtml b/src/Skoruba.IdentityServer4.Admin.UI/Areas/AdminUI/Views/Shared/Common/PagerDynamic.cshtml similarity index 97% rename from src/Skoruba.IdentityServer4.Admin/Views/Shared/Common/PagerDynamic.cshtml rename to src/Skoruba.IdentityServer4.Admin.UI/Areas/AdminUI/Views/Shared/Common/PagerDynamic.cshtml index 154cc2dbf..943a71104 100644 --- a/src/Skoruba.IdentityServer4.Admin/Views/Shared/Common/PagerDynamic.cshtml +++ b/src/Skoruba.IdentityServer4.Admin.UI/Areas/AdminUI/Views/Shared/Common/PagerDynamic.cshtml @@ -1,5 +1,5 @@ @using Microsoft.AspNetCore.Mvc.Localization -@using Skoruba.IdentityServer4.Admin.Helpers +@using Skoruba.IdentityServer4.Admin.UI.Helpers @model Skoruba.IdentityServer4.Admin.BusinessLogic.Shared.Dtos.Common.Pager @inject IViewLocalizer Localizer @{ diff --git a/src/Skoruba.IdentityServer4.Admin/Views/Shared/Common/Search.cshtml b/src/Skoruba.IdentityServer4.Admin.UI/Areas/AdminUI/Views/Shared/Common/Search.cshtml similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Views/Shared/Common/Search.cshtml rename to src/Skoruba.IdentityServer4.Admin.UI/Areas/AdminUI/Views/Shared/Common/Search.cshtml diff --git a/src/Skoruba.IdentityServer4.Admin/Views/Shared/Common/SelectLanguage.cshtml b/src/Skoruba.IdentityServer4.Admin.UI/Areas/AdminUI/Views/Shared/Common/SelectLanguage.cshtml similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Views/Shared/Common/SelectLanguage.cshtml rename to src/Skoruba.IdentityServer4.Admin.UI/Areas/AdminUI/Views/Shared/Common/SelectLanguage.cshtml diff --git a/src/Skoruba.IdentityServer4.Admin/Views/Shared/Components/IdentityServerLink/Default.cshtml b/src/Skoruba.IdentityServer4.Admin.UI/Areas/AdminUI/Views/Shared/Components/IdentityServerLink/Default.cshtml similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Views/Shared/Components/IdentityServerLink/Default.cshtml rename to src/Skoruba.IdentityServer4.Admin.UI/Areas/AdminUI/Views/Shared/Components/IdentityServerLink/Default.cshtml diff --git a/src/Skoruba.IdentityServer4.Admin/Views/Shared/Error.cshtml b/src/Skoruba.IdentityServer4.Admin.UI/Areas/AdminUI/Views/Shared/Error.cshtml similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Views/Shared/Error.cshtml rename to src/Skoruba.IdentityServer4.Admin.UI/Areas/AdminUI/Views/Shared/Error.cshtml diff --git a/src/Skoruba.IdentityServer4.Admin/Views/Shared/_Layout.cshtml b/src/Skoruba.IdentityServer4.Admin.UI/Areas/AdminUI/Views/Shared/_Layout.cshtml similarity index 63% rename from src/Skoruba.IdentityServer4.Admin/Views/Shared/_Layout.cshtml rename to src/Skoruba.IdentityServer4.Admin.UI/Areas/AdminUI/Views/Shared/_Layout.cshtml index 96b15e07d..35c15df0f 100644 --- a/src/Skoruba.IdentityServer4.Admin/Views/Shared/_Layout.cshtml +++ b/src/Skoruba.IdentityServer4.Admin.UI/Areas/AdminUI/Views/Shared/_Layout.cshtml @@ -1,38 +1,38 @@ @using IdentityServer4.Extensions @using Microsoft.AspNetCore.Mvc.Localization -@using Skoruba.IdentityServer4.Admin.Configuration.Interfaces +@using Skoruba.IdentityServer4.Admin.UI.Configuration @inject IViewLocalizer Localizer -@inject IRootConfiguration RootConfiguration +@inject AdminConfiguration AdminConfiguration - - - @ViewData["Title"] - @RootConfiguration.AdminConfiguration.PageTitle + + + @ViewData["Title"] - @AdminConfiguration.PageTitle - @if (!string.IsNullOrEmpty(RootConfiguration.AdminConfiguration.Theme)) + @if (!string.IsNullOrEmpty(AdminConfiguration.Theme)) { - + } - @if (!string.IsNullOrEmpty(RootConfiguration.AdminConfiguration.Theme)) + @if (!string.IsNullOrEmpty(AdminConfiguration.Theme)) { - + } - @if (!string.IsNullOrEmpty(RootConfiguration.AdminConfiguration.CustomThemeCss)) + @if (!string.IsNullOrEmpty(AdminConfiguration.CustomThemeCss)) { - + } @await RenderSectionAsync("styles", required: false) @@ -41,7 +41,7 @@ @@ -69,8 +68,8 @@ @Localizer["TitleUsermanagement"]
@@ -80,11 +79,11 @@ @Localizer["TitleLogs"]
@@ -92,7 +91,7 @@ @if (User.Identity.IsAuthenticated) { - @User.GetDisplayName() - @Localizer["LinkLogout"] + @User.GetDisplayName() - @Localizer["LinkLogout"] } @@ -107,7 +106,7 @@
- @RootConfiguration.AdminConfiguration.PageTitle + @AdminConfiguration.PageTitle @Localizer["FooterCopyright"] @DateTime.Now.Year - @await Html.PartialAsync("Common/ApplicationVersion")
diff --git a/src/Skoruba.IdentityServer4.Admin/Views/_ViewImports.cshtml b/src/Skoruba.IdentityServer4.Admin.UI/Areas/AdminUI/Views/_ViewImports.cshtml similarity index 62% rename from src/Skoruba.IdentityServer4.Admin/Views/_ViewImports.cshtml rename to src/Skoruba.IdentityServer4.Admin.UI/Areas/AdminUI/Views/_ViewImports.cshtml index be8765009..88776f1a8 100644 --- a/src/Skoruba.IdentityServer4.Admin/Views/_ViewImports.cshtml +++ b/src/Skoruba.IdentityServer4.Admin.UI/Areas/AdminUI/Views/_ViewImports.cshtml @@ -1,3 +1,3 @@ @addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers -@addTagHelper *, Skoruba.IdentityServer4.Admin +@addTagHelper *, Skoruba.IdentityServer4.Admin.UI @inject IUrlHelper UrlHelper \ No newline at end of file diff --git a/src/Skoruba.IdentityServer4.Admin/Views/_ViewStart.cshtml b/src/Skoruba.IdentityServer4.Admin.UI/Areas/AdminUI/Views/_ViewStart.cshtml similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Views/_ViewStart.cshtml rename to src/Skoruba.IdentityServer4.Admin.UI/Areas/AdminUI/Views/_ViewStart.cshtml diff --git a/src/Skoruba.IdentityServer4.Admin/Configuration/AdminConfiguration.cs b/src/Skoruba.IdentityServer4.Admin.UI/Configuration/AdminConfiguration.cs similarity index 94% rename from src/Skoruba.IdentityServer4.Admin/Configuration/AdminConfiguration.cs rename to src/Skoruba.IdentityServer4.Admin.UI/Configuration/AdminConfiguration.cs index 4477df05b..8b6e16417 100644 --- a/src/Skoruba.IdentityServer4.Admin/Configuration/AdminConfiguration.cs +++ b/src/Skoruba.IdentityServer4.Admin.UI/Configuration/AdminConfiguration.cs @@ -1,4 +1,4 @@ -namespace Skoruba.IdentityServer4.Admin.Configuration +namespace Skoruba.IdentityServer4.Admin.UI.Configuration { public class AdminConfiguration { diff --git a/src/Skoruba.IdentityServer4.Admin/Configuration/ApplicationParts/GenericControllerRouteConvention.cs b/src/Skoruba.IdentityServer4.Admin.UI/Configuration/ApplicationParts/GenericControllerRouteConvention.cs similarity index 89% rename from src/Skoruba.IdentityServer4.Admin/Configuration/ApplicationParts/GenericControllerRouteConvention.cs rename to src/Skoruba.IdentityServer4.Admin.UI/Configuration/ApplicationParts/GenericControllerRouteConvention.cs index 2f0d0adb8..8e9dba2aa 100644 --- a/src/Skoruba.IdentityServer4.Admin/Configuration/ApplicationParts/GenericControllerRouteConvention.cs +++ b/src/Skoruba.IdentityServer4.Admin.UI/Configuration/ApplicationParts/GenericControllerRouteConvention.cs @@ -1,6 +1,6 @@ using Microsoft.AspNetCore.Mvc.ApplicationModels; -namespace Skoruba.IdentityServer4.Admin.Configuration.ApplicationParts +namespace Skoruba.IdentityServer4.Admin.UI.Configuration.ApplicationParts { public class GenericControllerRouteConvention : IControllerModelConvention { diff --git a/src/Skoruba.IdentityServer4.Admin/Configuration/ApplicationParts/GenericTypeControllerFeatureProvider.cs b/src/Skoruba.IdentityServer4.Admin.UI/Configuration/ApplicationParts/GenericTypeControllerFeatureProvider.cs similarity index 97% rename from src/Skoruba.IdentityServer4.Admin/Configuration/ApplicationParts/GenericTypeControllerFeatureProvider.cs rename to src/Skoruba.IdentityServer4.Admin.UI/Configuration/ApplicationParts/GenericTypeControllerFeatureProvider.cs index 335d0f9f1..f49430f8d 100644 --- a/src/Skoruba.IdentityServer4.Admin/Configuration/ApplicationParts/GenericTypeControllerFeatureProvider.cs +++ b/src/Skoruba.IdentityServer4.Admin.UI/Configuration/ApplicationParts/GenericTypeControllerFeatureProvider.cs @@ -8,7 +8,7 @@ using Microsoft.AspNetCore.Mvc.Controllers; using Skoruba.IdentityServer4.Admin.BusinessLogic.Identity.Dtos.Identity; -namespace Skoruba.IdentityServer4.Admin.Configuration.ApplicationParts +namespace Skoruba.IdentityServer4.Admin.UI.Configuration.ApplicationParts { public class GenericTypeControllerFeatureProvider + /// The trusted domains from which content can be downloaded. + ///
+ public List CspTrustedDomains { get; set; } = new List(); + + /// + /// Use the developer exception page instead of the Identity error handler. + /// + public bool UseDeveloperExceptionPage { get; set; } = false; + + /// + /// Enable HSTS in responses. + /// + public bool UseHsts { get; set; } = true; + + /// + /// An action to configure the HSTS pipeline. + /// + public Action HstsConfigureAction { get; set; } + + /// + /// An action to add further authentication providers to the builder. + /// + public Action AuthenticationBuilderAction { get; set; } + + /// + /// An action to configure the authorization pipeline. + /// + public Action AuthorizationConfigureAction { get; set; } + } +} diff --git a/src/Skoruba.IdentityServer4.Admin.UI/Configuration/TestingConfiguration.cs b/src/Skoruba.IdentityServer4.Admin.UI/Configuration/TestingConfiguration.cs new file mode 100644 index 000000000..3127db20c --- /dev/null +++ b/src/Skoruba.IdentityServer4.Admin.UI/Configuration/TestingConfiguration.cs @@ -0,0 +1,10 @@ +namespace Skoruba.IdentityServer4.Admin.UI.Configuration +{ + public class TestingConfiguration + { + /// + /// Use test instead of production services and pipelines. + /// + public bool IsStaging { get; set; } + } +} diff --git a/src/Skoruba.IdentityServer4.Admin/ExceptionHandling/ControllerExceptionFilterAttribute.cs b/src/Skoruba.IdentityServer4.Admin.UI/ExceptionHandling/ControllerExceptionFilterAttribute.cs similarity index 97% rename from src/Skoruba.IdentityServer4.Admin/ExceptionHandling/ControllerExceptionFilterAttribute.cs rename to src/Skoruba.IdentityServer4.Admin.UI/ExceptionHandling/ControllerExceptionFilterAttribute.cs index 9fa6e9990..b6e586f5f 100644 --- a/src/Skoruba.IdentityServer4.Admin/ExceptionHandling/ControllerExceptionFilterAttribute.cs +++ b/src/Skoruba.IdentityServer4.Admin.UI/ExceptionHandling/ControllerExceptionFilterAttribute.cs @@ -7,9 +7,9 @@ using Microsoft.AspNetCore.Mvc.ViewFeatures; using Newtonsoft.Json; using Skoruba.IdentityServer4.Admin.BusinessLogic.Shared.ExceptionHandling; -using Skoruba.IdentityServer4.Admin.Helpers; +using Skoruba.IdentityServer4.Admin.UI.Helpers; -namespace Skoruba.IdentityServer4.Admin.ExceptionHandling +namespace Skoruba.IdentityServer4.Admin.UI.ExceptionHandling { public class ControllerExceptionFilterAttribute : ExceptionFilterAttribute { diff --git a/src/Skoruba.IdentityServer4.Admin.UI/Helpers/ApplicationBuilder/AdminUIApplicationBuilderExtensions.cs b/src/Skoruba.IdentityServer4.Admin.UI/Helpers/ApplicationBuilder/AdminUIApplicationBuilderExtensions.cs new file mode 100644 index 000000000..d12665aeb --- /dev/null +++ b/src/Skoruba.IdentityServer4.Admin.UI/Helpers/ApplicationBuilder/AdminUIApplicationBuilderExtensions.cs @@ -0,0 +1,52 @@ +using HealthChecks.UI.Client; +using Microsoft.AspNetCore.Diagnostics.HealthChecks; +using Microsoft.AspNetCore.Routing; +using Microsoft.Extensions.DependencyInjection; +using Skoruba.IdentityServer4.Admin.UI.Configuration; +using Skoruba.IdentityServer4.Admin.UI.Helpers; +using Skoruba.IdentityServer4.Admin.UI.Middlewares; +using System; + +namespace Microsoft.AspNetCore.Builder +{ + public static class AdminUIApplicationBuilderExtensions + { + /// + /// Adds the Skoruba IdentityServer4 Admin UI to the pipeline of this application. This method must be called + /// between UseRouting() and UseEndpoints(). + /// + /// + /// + public static IApplicationBuilder UseIdentityServer4AdminUI(this IApplicationBuilder app) + { + app.UseRoutingDependentMiddleware(app.ApplicationServices.GetRequiredService()); + + return app; + } + + /// + /// Maps the Skoruba IdentityServer4 Admin UI to the routes of this application. + /// + /// + public static IEndpointConventionBuilder MapIdentityServer4AdminUI(this IEndpointRouteBuilder endpoint, string patternPrefix = "/") + { + return endpoint.MapAreaControllerRoute("AdminUI", "AdminUI", patternPrefix + "{controller=Home}/{action=Index}/{id?}"); + } + + /// + /// Maps the Skoruba IdentityServer4 Admin UI health checks to the routes of this application. + /// + /// + public static IEndpointConventionBuilder MapIdentityServer4AdminUIHealthChecks(this IEndpointRouteBuilder endpoint, string pattern = "/health", Action configureAction = null) + { + var options = new HealthCheckOptions + { + ResponseWriter = UIResponseWriter.WriteHealthCheckUIResponse + }; + + configureAction?.Invoke(options); + + return endpoint.MapHealthChecks(pattern, options); + } + } +} diff --git a/src/Skoruba.IdentityServer4.Admin/Helpers/DateTimeHelpers.cs b/src/Skoruba.IdentityServer4.Admin.UI/Helpers/DateTimeHelpers.cs similarity index 86% rename from src/Skoruba.IdentityServer4.Admin/Helpers/DateTimeHelpers.cs rename to src/Skoruba.IdentityServer4.Admin.UI/Helpers/DateTimeHelpers.cs index 52f0bba78..25a42d60e 100644 --- a/src/Skoruba.IdentityServer4.Admin/Helpers/DateTimeHelpers.cs +++ b/src/Skoruba.IdentityServer4.Admin.UI/Helpers/DateTimeHelpers.cs @@ -1,6 +1,6 @@ using System; -namespace Skoruba.IdentityServer4.Admin.Helpers +namespace Skoruba.IdentityServer4.Admin.UI.Helpers { public static class DateTimeHelpers { diff --git a/src/Skoruba.IdentityServer4.Admin.UI/Helpers/DependencyInjection/AdminUIServiceCollectionExtensions.cs b/src/Skoruba.IdentityServer4.Admin.UI/Helpers/DependencyInjection/AdminUIServiceCollectionExtensions.cs new file mode 100644 index 000000000..942d2494c --- /dev/null +++ b/src/Skoruba.IdentityServer4.Admin.UI/Helpers/DependencyInjection/AdminUIServiceCollectionExtensions.cs @@ -0,0 +1,181 @@ +using Microsoft.AspNetCore.Builder; +using Microsoft.AspNetCore.Hosting; +using Microsoft.AspNetCore.Identity; +using Microsoft.AspNetCore.Identity.EntityFrameworkCore; +using Skoruba.AuditLogging.EntityFramework.Entities; +using Skoruba.IdentityServer4.Admin.BusinessLogic.Identity.Dtos.Identity; +using Skoruba.IdentityServer4.Admin.EntityFramework.Shared.DbContexts; +using Skoruba.IdentityServer4.Admin.EntityFramework.Shared.Entities.Identity; +using Skoruba.IdentityServer4.Admin.UI.Configuration; +using Skoruba.IdentityServer4.Admin.UI.Helpers; +using Skoruba.IdentityServer4.Shared.Dtos; +using Skoruba.IdentityServer4.Shared.Dtos.Identity; +using Skoruba.IdentityServer4.Shared.Helpers; +using System; +using static Skoruba.IdentityServer4.Admin.UI.Helpers.StartupHelpers; + +namespace Microsoft.Extensions.DependencyInjection +{ + public static class AdminUIServiceCollectionExtensions + { + /// + /// Adds the Skoruba IdentityServer4 Admin UI with the default entity model. + /// + /// + /// + /// + public static IServiceCollection AddIdentityServer4AdminUI(this IServiceCollection services, Action optionsAction) + => AddIdentityServer4AdminUI(services, optionsAction); + + /// + /// Adds the Skoruba IdentityServer4 Admin UI with a custom user model and database context. + /// + /// + /// + /// + /// + /// + public static IServiceCollection AddIdentityServer4AdminUI(this IServiceCollection services, Action optionsAction) + where TIdentityDbContext : IdentityDbContext, + IdentityUserRole, IdentityUserLogin, IdentityRoleClaim, + IdentityUserToken> + where TUser : IdentityUser + => AddIdentityServer4AdminUI, + IdentityUserRole, IdentityUserLogin, IdentityRoleClaim, + IdentityUserToken, string, IdentityUserDto, IdentityRoleDto, IdentityUsersDto, IdentityRolesDto, + IdentityUserRolesDto, IdentityUserClaimsDto, IdentityUserProviderDto, IdentityUserProvidersDto, + IdentityUserChangePasswordDto, IdentityRoleClaimsDto, IdentityUserClaimDto, IdentityRoleClaimDto>(services, optionsAction); + + /// + /// Adds the Skoruba IdentityServer4 Admin UI with a fully custom entity model and database contexts. + /// + /// + /// + /// + public static IServiceCollection AddIdentityServer4AdminUI + (this IServiceCollection services, Action optionsAction) + where TIdentityDbContext : IdentityDbContext + where TUser : IdentityUser + where TRole : IdentityRole + where TUserClaim : IdentityUserClaim + where TUserRole : IdentityUserRole + where TUserLogin : IdentityUserLogin + where TRoleClaim : IdentityRoleClaim + where TUserToken : IdentityUserToken + where TKey : IEquatable + where TUserDto : UserDto, new() + where TRoleDto : RoleDto, new() + where TUsersDto : UsersDto + where TRolesDto : RolesDto + where TUserRolesDto : UserRolesDto + where TUserClaimsDto : UserClaimsDto + where TUserProviderDto : UserProviderDto + where TUserProvidersDto : UserProvidersDto + where TUserChangePasswordDto : UserChangePasswordDto + where TRoleClaimsDto : RoleClaimsDto + where TUserClaimDto : UserClaimDto + where TRoleClaimDto : RoleClaimDto + { + // Builds the options from user preferences or configuration. + IdentityServer4AdminUIOptions options = new IdentityServer4AdminUIOptions(); + optionsAction(options); + + // Adds root configuration to the DI. + services.AddSingleton(options.Admin); + services.AddSingleton(options.IdentityServerData); + services.AddSingleton(options.IdentityData); + + // Add DbContexts for Asp.Net Core Identity, Logging and IdentityServer - Configuration store and Operational store + if (!options.Testing.IsStaging) + { + services.RegisterDbContexts(options.ConnectionStrings, options.DatabaseProvider, options.DatabaseMigrations); + } + else + { + services.RegisterDbContextsStaging(); + } + + + // Save data protection keys to db, using a common application name shared between Admin and STS + services.AddDataProtection(options.DataProtection, options.AzureKeyVault); + + // Add Asp.Net Core Identity Configuration and OpenIdConnect auth as well + if (!options.Testing.IsStaging) + { + services.AddAuthenticationServices + (options.Admin, options.IdentityConfigureAction, options.Security.AuthenticationBuilderAction); + } + else + { + services.AddAuthenticationServicesStaging(); + } + + // Add HSTS options + if (options.Security.UseHsts) + { + services.AddHsts(opt => + { + opt.Preload = true; + opt.IncludeSubDomains = true; + opt.MaxAge = TimeSpan.FromDays(365); + + options.Security.HstsConfigureAction?.Invoke(opt); + }); + } + + // Add exception filters in MVC + services.AddMvcExceptionFilters(); + + // Add all dependencies for IdentityServer Admin + services.AddAdminServices(); + + // Add all dependencies for Asp.Net Core Identity + // If you want to change primary keys or use another db model for Asp.Net Core Identity: + services.AddAdminAspNetIdentityServices(); + + // Add all dependencies for Asp.Net Core Identity in MVC - these dependencies are injected into generic Controllers + // Including settings for MVC and Localization + services.AddMvcWithLocalization(options.Culture); + + // Add authorization policies for MVC + services.AddAuthorizationPolicies(options.Admin, options.Security.AuthorizationConfigureAction); + + // Add audit logging + services.AddAuditEventLogging(options.AuditLogging); + + // Add health checks. + var healthChecksBuilder = options.HealthChecksBuilderFactory?.Invoke(services) ?? services.AddHealthChecks(); + healthChecksBuilder.AddIdSHealthChecks(options.Admin, options.ConnectionStrings, options.DatabaseProvider); + + // Adds a startup filter for further middleware configuration. + services.AddSingleton(options.Testing); + services.AddSingleton(options.Security); + services.AddSingleton(options.Http); + services.AddTransient(); + + return services; + } + } +} diff --git a/src/Skoruba.IdentityServer4.Admin.UI/Helpers/DependencyInjection/IdentityServer4AdminUIOptions.cs b/src/Skoruba.IdentityServer4.Admin.UI/Helpers/DependencyInjection/IdentityServer4AdminUIOptions.cs new file mode 100644 index 000000000..c269af9d7 --- /dev/null +++ b/src/Skoruba.IdentityServer4.Admin.UI/Helpers/DependencyInjection/IdentityServer4AdminUIOptions.cs @@ -0,0 +1,113 @@ +using Microsoft.AspNetCore.Identity; +using Microsoft.Extensions.Configuration; +using Skoruba.IdentityServer4.Admin.UI.Configuration; +using Skoruba.IdentityServer4.Admin.UI.Configuration.Constants; +using Skoruba.IdentityServer4.Admin.EntityFramework.Shared.Configuration; +using Skoruba.IdentityServer4.Shared.Configuration.Common; +using System; +using System.Collections.Generic; +using Microsoft.AspNetCore.Hosting; +using Microsoft.Extensions.Hosting; + +namespace Microsoft.Extensions.DependencyInjection +{ + public class IdentityServer4AdminUIOptions + { + /// + /// The settings for test deployments. + /// + public TestingConfiguration Testing { get; set; } = new TestingConfiguration(); + + /// + /// The database connection strings and settings. + /// + public ConnectionStringsConfiguration ConnectionStrings { get; set; } = new ConnectionStringsConfiguration(); + + /// + /// The settings for the admin services. + /// + public AdminConfiguration Admin { get; set; } = new AdminConfiguration(); + + /// + /// The settings for the database provider. + /// + public DatabaseProviderConfiguration DatabaseProvider { get; set; } = new DatabaseProviderConfiguration(); + + /// + /// The settings for database migrations. + /// + public DatabaseMigrationsConfiguration DatabaseMigrations { get; set; } = new DatabaseMigrationsConfiguration(); + + /// + /// The settings for audit logging. + /// + public AuditLoggingConfiguration AuditLogging { get; set; } = new AuditLoggingConfiguration(); + + /// + /// The settings for globalization. + /// + public CultureConfiguration Culture { get; set; } = new CultureConfiguration(); + + /// + /// An action to configure ASP.NET Core Identity. + /// + public Action IdentityConfigureAction { get; set; } = options => { }; + + /// + /// The settings for data protection. + /// + public DataProtectionConfiguration DataProtection { get; set; } = new DataProtectionConfiguration(); + + /// + /// The settings for Azure key vault. + /// + public AzureKeyVaultConfiguration AzureKeyVault { get; set; } = new AzureKeyVaultConfiguration(); + + /// + /// Identity data to seed the databases. + /// + public IdentityData IdentityData { get; set; } = new IdentityData(); + + /// + /// Identity server data to seed the databases. + /// + public IdentityServerData IdentityServerData { get; set; } = new IdentityServerData(); + + /// + /// The settings for security features. + /// + public SecurityConfiguration Security { get; set; } = new SecurityConfiguration(); + + /// + /// The settings for the HTTP hosting environment. + /// + public HttpConfiguration Http { get; set; } = new HttpConfiguration(); + + /// + /// Customizes the health checks builder used to add health checks. + /// + public Func HealthChecksBuilderFactory { get; set; } + + /// + /// Applies configuration parsed from an appsettings file into these options. + /// + /// The configuration to bind into this instance. + public void BindConfiguration(IConfiguration configuration) + { + configuration.GetSection(nameof(TestingConfiguration)).Bind(Testing); + configuration.GetSection(ConfigurationConsts.ConnectionStringsKey).Bind(ConnectionStrings); + configuration.GetSection(nameof(AdminConfiguration)).Bind(Admin); + configuration.GetSection(nameof(DatabaseProviderConfiguration)).Bind(DatabaseProvider); + configuration.GetSection(nameof(DatabaseMigrationsConfiguration)).Bind(DatabaseMigrations); + configuration.GetSection(nameof(AuditLoggingConfiguration)).Bind(AuditLogging); + configuration.GetSection(nameof(CultureConfiguration)).Bind(Culture); + configuration.GetSection(nameof(DataProtectionConfiguration)).Bind(DataProtection); + configuration.GetSection(nameof(AzureKeyVaultConfiguration)).Bind(AzureKeyVault); + IdentityConfigureAction = options => configuration.GetSection(nameof(IdentityOptions)).Bind(options); + configuration.GetSection(nameof(SecurityConfiguration)).Bind(Security); + configuration.GetSection(nameof(HttpConfiguration)).Bind(Http); + configuration.GetSection(nameof(Skoruba.IdentityServer4.Admin.EntityFramework.Shared.Configuration.IdentityServerData)).Bind(IdentityServerData); + configuration.GetSection(nameof(Skoruba.IdentityServer4.Admin.EntityFramework.Shared.Configuration.IdentityData)).Bind(IdentityData); + } + } +} diff --git a/src/Skoruba.IdentityServer4.Admin/Helpers/Identity/IdentityErrorMessages.cs b/src/Skoruba.IdentityServer4.Admin.UI/Helpers/Identity/IdentityErrorMessages.cs similarity index 99% rename from src/Skoruba.IdentityServer4.Admin/Helpers/Identity/IdentityErrorMessages.cs rename to src/Skoruba.IdentityServer4.Admin.UI/Helpers/Identity/IdentityErrorMessages.cs index 84c219cca..c1facfa59 100644 --- a/src/Skoruba.IdentityServer4.Admin/Helpers/Identity/IdentityErrorMessages.cs +++ b/src/Skoruba.IdentityServer4.Admin.UI/Helpers/Identity/IdentityErrorMessages.cs @@ -1,7 +1,7 @@ using Microsoft.AspNetCore.Identity; using Microsoft.Extensions.Localization; -namespace Skoruba.IdentityServer4.Admin.Helpers.Identity +namespace Skoruba.IdentityServer4.Admin.UI.Helpers.Identity { /// /// diff --git a/src/Skoruba.IdentityServer4.Admin/Helpers/Localization/GenericServiceLocalizer.cs b/src/Skoruba.IdentityServer4.Admin.UI/Helpers/Localization/GenericServiceLocalizer.cs similarity index 97% rename from src/Skoruba.IdentityServer4.Admin/Helpers/Localization/GenericServiceLocalizer.cs rename to src/Skoruba.IdentityServer4.Admin.UI/Helpers/Localization/GenericServiceLocalizer.cs index 05976bf30..25acd4366 100644 --- a/src/Skoruba.IdentityServer4.Admin/Helpers/Localization/GenericServiceLocalizer.cs +++ b/src/Skoruba.IdentityServer4.Admin.UI/Helpers/Localization/GenericServiceLocalizer.cs @@ -9,7 +9,7 @@ using System.Reflection; using Microsoft.Extensions.Localization; -namespace Skoruba.IdentityServer4.Admin.Helpers.Localization +namespace Skoruba.IdentityServer4.Admin.UI.Helpers.Localization { public class GenericControllerLocalizer : IGenericControllerLocalizer { diff --git a/src/Skoruba.IdentityServer4.Admin/Helpers/Localization/IGenericControllerLocalizer.cs b/src/Skoruba.IdentityServer4.Admin.UI/Helpers/Localization/IGenericControllerLocalizer.cs similarity index 84% rename from src/Skoruba.IdentityServer4.Admin/Helpers/Localization/IGenericControllerLocalizer.cs rename to src/Skoruba.IdentityServer4.Admin.UI/Helpers/Localization/IGenericControllerLocalizer.cs index 5419cb4e4..a56b414b3 100644 --- a/src/Skoruba.IdentityServer4.Admin/Helpers/Localization/IGenericControllerLocalizer.cs +++ b/src/Skoruba.IdentityServer4.Admin.UI/Helpers/Localization/IGenericControllerLocalizer.cs @@ -1,7 +1,7 @@ using System.Collections.Generic; using Microsoft.Extensions.Localization; -namespace Skoruba.IdentityServer4.Admin.Helpers.Localization +namespace Skoruba.IdentityServer4.Admin.UI.Helpers.Localization { public interface IGenericControllerLocalizer { diff --git a/src/Skoruba.IdentityServer4.Admin.UI/Helpers/Localization/ResourceViewLocalizer.cs b/src/Skoruba.IdentityServer4.Admin.UI/Helpers/Localization/ResourceViewLocalizer.cs new file mode 100644 index 000000000..cc82c42e8 --- /dev/null +++ b/src/Skoruba.IdentityServer4.Admin.UI/Helpers/Localization/ResourceViewLocalizer.cs @@ -0,0 +1,118 @@ +using Microsoft.AspNetCore.Hosting; +using Microsoft.AspNetCore.Mvc.Localization; +using Microsoft.AspNetCore.Mvc.Rendering; +using Microsoft.AspNetCore.Mvc.ViewFeatures; +using Microsoft.Extensions.FileProviders; +using Microsoft.Extensions.Localization; +using System; +using System.Collections.Generic; +using System.Globalization; +using System.Linq; +using System.Reflection; + +namespace Skoruba.IdentityServer4.Admin.UI.Helpers.Localization +{ + public class ResourceViewLocalizer : IViewLocalizer, IViewContextAware + { + // This class helps working around https://github.com/aspnet/Localization/issues/328: + // Somehow the resources in this library project fail to be resolved by the default view localizer (which + // relies on the hosting environment's application name as a root path for the resources). + // We override this behaviour by forcing .NET to look into our assembly's Resources and fallback to the default + // view localizer for localization requests related to views outside of this library. + + private class MockEnvironment : IWebHostEnvironment + { + // This fake environment implementation helps us leveraging .NET's default ViewLocalizer implementation + // without having to rewrite it completely. The only used property is ApplicationName. The other properties + // should be unused. + + public string ApplicationName { get; set; } + + #region Unused + public IFileProvider WebRootFileProvider { get => throw new NotImplementedException(); set => throw new NotImplementedException(); } + public string WebRootPath { get => throw new NotImplementedException(); set => throw new NotImplementedException(); } + public string EnvironmentName { get => throw new NotImplementedException(); set => throw new NotImplementedException(); } + public string ContentRootPath { get => throw new NotImplementedException(); set => throw new NotImplementedException(); } + public IFileProvider ContentRootFileProvider { get => throw new NotImplementedException(); set => throw new NotImplementedException(); } + + #endregion + } + + private readonly ViewLocalizer _internalViewLocalizer; + private readonly ViewLocalizer _defaultViewLocalizer; + private readonly string _assemblyName; + + public ResourceViewLocalizer(IHtmlLocalizerFactory localizerFactory, IWebHostEnvironment hostingEnvironment) + { + if (localizerFactory == null) + { + throw new ArgumentNullException(nameof(localizerFactory)); + } + + if (hostingEnvironment == null) + { + throw new ArgumentNullException(nameof(hostingEnvironment)); + } + + _assemblyName = Assembly.GetExecutingAssembly().GetName().Name; + _defaultViewLocalizer = new ViewLocalizer(localizerFactory, hostingEnvironment); + _internalViewLocalizer = new ViewLocalizer(localizerFactory, new MockEnvironment() { ApplicationName = _assemblyName }); + } + + public LocalizedHtmlString this[string name] + { + get + { + // Resolves the resources into the default localizer first (to allow resource overriding by library + // consumers). + LocalizedHtmlString str = _defaultViewLocalizer[name]; + return str.IsResourceNotFound ? _internalViewLocalizer[name] : str; + } + } + + public LocalizedHtmlString this[string name, params object[] arguments] + { + get + { + // Resolves the resources into the default localizer first (to allow resource overriding by library + // consumers). + LocalizedHtmlString str = _defaultViewLocalizer[name, arguments]; + return str.IsResourceNotFound ? _internalViewLocalizer[name, arguments] : str; + } + } + + public void Contextualize(ViewContext viewContext) + { + _internalViewLocalizer.Contextualize(viewContext); + _defaultViewLocalizer.Contextualize(viewContext); + } + + public IEnumerable GetAllStrings(bool includeParentCultures) + { + return _defaultViewLocalizer.GetAllStrings(includeParentCultures) + .Union(_internalViewLocalizer.GetAllStrings(includeParentCultures)); + } + + public LocalizedString GetString(string name) + { + // Resolves the resources into the default localizer first (to allow resource overriding by library + // consumers). + LocalizedString str = _defaultViewLocalizer.GetString(name); + return str.ResourceNotFound ? _internalViewLocalizer.GetString(name) : str; + } + + public LocalizedString GetString(string name, params object[] arguments) + { + // Resolves the resources into the default localizer first (to allow resource overriding by library + // consumers). + LocalizedString str = _defaultViewLocalizer.GetString(name, arguments); + return str.ResourceNotFound ? _internalViewLocalizer.GetString(name, arguments) : str; + } + + [Obsolete("This method is obsolete. Use `CurrentCulture` and `CurrentUICulture` instead.")] + public IHtmlLocalizer WithCulture(CultureInfo culture) + { + throw new NotImplementedException(); + } + } +} diff --git a/src/Skoruba.IdentityServer4.Admin/Helpers/MD5HashHelper.cs b/src/Skoruba.IdentityServer4.Admin.UI/Helpers/MD5HashHelper.cs similarity index 94% rename from src/Skoruba.IdentityServer4.Admin/Helpers/MD5HashHelper.cs rename to src/Skoruba.IdentityServer4.Admin.UI/Helpers/MD5HashHelper.cs index f68ed7ebe..df244fcc4 100644 --- a/src/Skoruba.IdentityServer4.Admin/Helpers/MD5HashHelper.cs +++ b/src/Skoruba.IdentityServer4.Admin.UI/Helpers/MD5HashHelper.cs @@ -2,7 +2,7 @@ using System.Security.Cryptography; using System.Text; -namespace Skoruba.IdentityServer4.Admin.Helpers +namespace Skoruba.IdentityServer4.Admin.UI.Helpers { /// /// Helper-class to create Md5hashes from strings diff --git a/src/Skoruba.IdentityServer4.Admin/Helpers/NotificationHelpers.cs b/src/Skoruba.IdentityServer4.Admin.UI/Helpers/NotificationHelpers.cs similarity index 89% rename from src/Skoruba.IdentityServer4.Admin/Helpers/NotificationHelpers.cs rename to src/Skoruba.IdentityServer4.Admin.UI/Helpers/NotificationHelpers.cs index 53515bd4d..98011310f 100644 --- a/src/Skoruba.IdentityServer4.Admin/Helpers/NotificationHelpers.cs +++ b/src/Skoruba.IdentityServer4.Admin.UI/Helpers/NotificationHelpers.cs @@ -1,4 +1,4 @@ -namespace Skoruba.IdentityServer4.Admin.Helpers +namespace Skoruba.IdentityServer4.Admin.UI.Helpers { public class NotificationHelpers { diff --git a/src/Skoruba.IdentityServer4.Admin/Helpers/PagerHelpers.cs b/src/Skoruba.IdentityServer4.Admin.UI/Helpers/PagerHelpers.cs similarity index 98% rename from src/Skoruba.IdentityServer4.Admin/Helpers/PagerHelpers.cs rename to src/Skoruba.IdentityServer4.Admin.UI/Helpers/PagerHelpers.cs index d51851727..291b7ebaf 100644 --- a/src/Skoruba.IdentityServer4.Admin/Helpers/PagerHelpers.cs +++ b/src/Skoruba.IdentityServer4.Admin.UI/Helpers/PagerHelpers.cs @@ -4,7 +4,7 @@ using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Http.Extensions; -namespace Skoruba.IdentityServer4.Admin.Helpers +namespace Skoruba.IdentityServer4.Admin.UI.Helpers { public static class PagerHelpers { diff --git a/src/Skoruba.IdentityServer4.Admin/Helpers/StartupHelpers.cs b/src/Skoruba.IdentityServer4.Admin.UI/Helpers/StartupHelpers.cs similarity index 73% rename from src/Skoruba.IdentityServer4.Admin/Helpers/StartupHelpers.cs rename to src/Skoruba.IdentityServer4.Admin.UI/Helpers/StartupHelpers.cs index d8b54bfca..bf48e5ef1 100644 --- a/src/Skoruba.IdentityServer4.Admin/Helpers/StartupHelpers.cs +++ b/src/Skoruba.IdentityServer4.Admin.UI/Helpers/StartupHelpers.cs @@ -1,14 +1,10 @@ -using System; -using System.Collections.Generic; -using System.Globalization; -using System.Threading.Tasks; -using IdentityServer4.EntityFramework.Options; +using IdentityServer4.EntityFramework.Options; using Microsoft.AspNetCore.Authentication; using Microsoft.AspNetCore.Authentication.Cookies; using Microsoft.AspNetCore.Authentication.OpenIdConnect; using Microsoft.AspNetCore.Builder; +using Microsoft.AspNetCore.DataProtection.EntityFrameworkCore; using Microsoft.AspNetCore.Http; -using Microsoft.AspNetCore.HttpOverrides; using Microsoft.AspNetCore.Identity; using Microsoft.AspNetCore.Localization; using Microsoft.AspNetCore.Mvc.Razor; @@ -27,40 +23,68 @@ using Skoruba.IdentityServer4.Admin.BusinessLogic.Identity.Dtos.Identity; using Skoruba.IdentityServer4.Admin.BusinessLogic.Services; using Skoruba.IdentityServer4.Admin.BusinessLogic.Services.Interfaces; -using Skoruba.IdentityServer4.Admin.ExceptionHandling; -using Skoruba.IdentityServer4.Admin.Configuration; -using Skoruba.IdentityServer4.Admin.Configuration.ApplicationParts; -using Skoruba.IdentityServer4.Admin.Configuration.Constants; -using Skoruba.IdentityServer4.Admin.Configuration.Interfaces; +using Skoruba.IdentityServer4.Admin.UI.Configuration; +using Skoruba.IdentityServer4.Admin.UI.Configuration.ApplicationParts; +using Skoruba.IdentityServer4.Admin.UI.Configuration.Constants; +using Skoruba.IdentityServer4.Admin.EntityFramework.Helpers; using Skoruba.IdentityServer4.Admin.EntityFramework.Interfaces; +using Skoruba.IdentityServer4.Admin.EntityFramework.MySql.Extensions; +using Skoruba.IdentityServer4.Admin.EntityFramework.PostgreSQL.Extensions; using Skoruba.IdentityServer4.Admin.EntityFramework.Repositories; using Skoruba.IdentityServer4.Admin.EntityFramework.Repositories.Interfaces; -using Skoruba.IdentityServer4.Admin.Helpers.Localization; -using System.Linq; -using Skoruba.IdentityServer4.Admin.EntityFramework.MySql.Extensions; using Skoruba.IdentityServer4.Admin.EntityFramework.Shared.Configuration; using Skoruba.IdentityServer4.Admin.EntityFramework.SqlServer.Extensions; -using Skoruba.IdentityServer4.Admin.EntityFramework.PostgreSQL.Extensions; -using Skoruba.IdentityServer4.Admin.EntityFramework.Helpers; -using Microsoft.AspNetCore.DataProtection.EntityFrameworkCore; +using Skoruba.IdentityServer4.Admin.UI.ExceptionHandling; +using Skoruba.IdentityServer4.Admin.UI.Helpers.Localization; using Skoruba.IdentityServer4.Shared.Authentication; +using System; +using System.Globalization; +using System.Linq; +using System.Threading.Tasks; +using Microsoft.AspNetCore.HttpOverrides; +using System.Collections.Generic; +using Microsoft.AspNetCore.Mvc.Localization; +using Microsoft.AspNetCore.Hosting; +using Skoruba.IdentityServer4.Admin.UI.Middlewares; +using Microsoft.AspNetCore.Authorization; -namespace Skoruba.IdentityServer4.Admin.Helpers +namespace Skoruba.IdentityServer4.Admin.UI.Helpers { - public static class StartupHelpers - { - public static IServiceCollection AddAuditEventLogging(this IServiceCollection services, IConfiguration configuration) + public static class StartupHelpers + { + /// + /// A helper to inject common middleware into the application pipeline, without having to invoke Use*() methods. + /// + internal class StartupFilter : IStartupFilter + { + public Action Configure(Action next) + { + return builder => + { + // Adds our required middlewares to the beginning of the app pipeline. + // This does not include the middleware that is required to go between UseRouting and UseEndpoints. + builder.UseCommonMiddleware( + builder.ApplicationServices.GetRequiredService(), + builder.ApplicationServices.GetRequiredService()); + + next(builder); + + // Routing-dependent middleware needs to go in between UseRouting and UseEndpoints and therefore + // needs to be handled by the user using UseIdentityServer4AdminUI(). + }; + } + } + + public static IServiceCollection AddAuditEventLogging(this IServiceCollection services, AuditLoggingConfiguration auditLoggingConfiguration) where TAuditLog : AuditLog, new() where TAuditLoggingDbContext : IAuditLoggingDbContext { - var auditLoggingConfiguration = configuration.GetSection(nameof(AuditLoggingConfiguration)).Get(); - services.AddAuditLogging(options => { options.Source = auditLoggingConfiguration.Source; }) .AddDefaultHttpEventData(subjectOptions => - { - subjectOptions.SubjectIdentifierClaim = auditLoggingConfiguration.SubjectIdentifierClaim; - subjectOptions.SubjectNameClaim = auditLoggingConfiguration.SubjectNameClaim; - }, + { + subjectOptions.SubjectIdentifierClaim = auditLoggingConfiguration.SubjectIdentifierClaim; + subjectOptions.SubjectNameClaim = auditLoggingConfiguration.SubjectNameClaim; + }, actionOptions => { actionOptions.IncludeFormVariables = auditLoggingConfiguration.IncludeFormVariables; @@ -88,7 +112,12 @@ public static IServiceCollection AddAuditEventLogging /// /// - public static void RegisterDbContexts(this IServiceCollection services, IConfiguration configuration) + public static void RegisterDbContexts( + this IServiceCollection services, + ConnectionStringsConfiguration connectionStrings, + DatabaseProviderConfiguration databaseProvider, + DatabaseMigrationsConfiguration databaseMigrations) where TIdentityDbContext : DbContext where TPersistedGrantDbContext : DbContext, IAdminPersistedGrantDbContext where TConfigurationDbContext : DbContext, IAdminConfigurationDbContext @@ -96,25 +125,16 @@ public static void RegisterDbContexts where TDataProtectionDbContext : DbContext, IDataProtectionKeyContext { - var databaseProvider = configuration.GetSection(nameof(DatabaseProviderConfiguration)).Get(); - - var identityConnectionString = configuration.GetConnectionString(ConfigurationConsts.IdentityDbConnectionStringKey); - var configurationConnectionString = configuration.GetConnectionString(ConfigurationConsts.ConfigurationDbConnectionStringKey); - var persistedGrantsConnectionString = configuration.GetConnectionString(ConfigurationConsts.PersistedGrantDbConnectionStringKey); - var errorLoggingConnectionString = configuration.GetConnectionString(ConfigurationConsts.AdminLogDbConnectionStringKey); - var auditLoggingConnectionString = configuration.GetConnectionString(ConfigurationConsts.AdminAuditLogDbConnectionStringKey); - var dataProtectionConnectionString = configuration.GetConnectionString(ConfigurationConsts.DataProtectionDbConnectionStringKey); - switch (databaseProvider.ProviderType) { case DatabaseProviderType.SqlServer: - services.RegisterSqlServerDbContexts(identityConnectionString, configurationConnectionString, persistedGrantsConnectionString, errorLoggingConnectionString, auditLoggingConnectionString, dataProtectionConnectionString); + services.RegisterSqlServerDbContexts(connectionStrings, databaseMigrations); break; case DatabaseProviderType.PostgreSQL: - services.RegisterNpgSqlDbContexts(identityConnectionString, configurationConnectionString, persistedGrantsConnectionString, errorLoggingConnectionString, auditLoggingConnectionString, dataProtectionConnectionString); + services.RegisterNpgSqlDbContexts(connectionStrings, databaseMigrations); break; case DatabaseProviderType.MySql: - services.RegisterMySqlDbContexts(identityConnectionString, configurationConnectionString, persistedGrantsConnectionString, errorLoggingConnectionString, auditLoggingConnectionString, dataProtectionConnectionString); + services.RegisterMySqlDbContexts(connectionStrings, databaseMigrations); break; default: throw new ArgumentOutOfRangeException(nameof(databaseProvider.ProviderType), $@"The value needs to be one of {string.Join(", ", Enum.GetNames(typeof(DatabaseProviderType)))}."); @@ -160,71 +180,6 @@ public static void RegisterDbContextsStaging(optionsBuilder => optionsBuilder.UseInMemoryDatabase(dataProtectionDatabaseName)); } - /// - /// Using of Forwarded Headers, Hsts, XXssProtection and Csp - /// - /// - /// - public static void UseSecurityHeaders(this IApplicationBuilder app, IConfiguration configuration) - { - var forwardingOptions = new ForwardedHeadersOptions() - { - ForwardedHeaders = ForwardedHeaders.All - }; - - forwardingOptions.KnownNetworks.Clear(); - forwardingOptions.KnownProxies.Clear(); - - app.UseForwardedHeaders(forwardingOptions); - - app.UseXXssProtection(options => options.EnabledWithBlockMode()); - app.UseXContentTypeOptions(); - app.UseXfo(options => options.SameOrigin()); - app.UseReferrerPolicy(options => options.NoReferrer()); - - // CSP Configuration to be able to use external resources - var cspTrustedDomains = new List(); - configuration.GetSection(ConfigurationConsts.CspTrustedDomainsKey).Bind(cspTrustedDomains); - if (cspTrustedDomains.Any()) - { - app.UseCsp(csp => - { - csp.ImageSources(options => - { - options.SelfSrc = true; - options.CustomSources = cspTrustedDomains; - options.Enabled = true; - }); - csp.FontSources(options => - { - options.SelfSrc = true; - options.CustomSources = cspTrustedDomains; - options.Enabled = true; - }); - csp.ScriptSources(options => - { - options.SelfSrc = true; - options.CustomSources = cspTrustedDomains; - options.Enabled = true; - options.UnsafeInlineSrc = true; - options.UnsafeEvalSrc = true; - }); - csp.StyleSources(options => - { - options.SelfSrc = true; - options.CustomSources = cspTrustedDomains; - options.Enabled = true; - options.UnsafeInlineSrc = true; - }); - csp.DefaultSources(options => - { - options.SelfSrc = true; - options.CustomSources = cspTrustedDomains; - options.Enabled = true; - }); - }); - } - } /// /// Add middleware for localization @@ -240,12 +195,15 @@ public static void ConfigureLocalization(this IApplicationBuilder app) /// Add authorization policies /// /// - public static void AddAuthorizationPolicies(this IServiceCollection services, IRootConfiguration rootConfiguration) + public static void AddAuthorizationPolicies(this IServiceCollection services, AdminConfiguration adminConfiguration, + Action authorizationAction) { services.AddAuthorization(options => { options.AddPolicy(AuthorizationConsts.AdministrationPolicy, - policy => policy.RequireRole(rootConfiguration.AdminConfiguration.AdministrationRole)); + policy => policy.RequireRole(adminConfiguration.AdministrationRole)); + + authorizationAction?.Invoke(options); }); } @@ -265,7 +223,8 @@ public static void AddMvcExceptionFilters(this IServiceCollection services) /// public static void AddMvcWithLocalization(this IServiceCollection services, IConfiguration configuration) + TUserProviderDto, TUserProvidersDto, TUserChangePasswordDto, TRoleClaimsDto, TUserClaimDto, TRoleClaimDto> + (this IServiceCollection services, CultureConfiguration cultureConfiguration) where TUserDto : UserDto, new() where TRoleDto : RoleDto, new() where TUser : IdentityUser @@ -285,7 +244,7 @@ public static void AddMvcExceptionFilters(this IServiceCollection services) where TUserChangePasswordDto : UserChangePasswordDto where TRoleClaimsDto : RoleClaimsDto where TUserClaimDto : UserClaimDto - where TRoleClaimDto: RoleClaimDto + where TRoleClaimDto : RoleClaimDto { services.AddSingleton(); @@ -293,6 +252,8 @@ public static void AddMvcExceptionFilters(this IServiceCollection services) services.TryAddTransient(typeof(IGenericControllerLocalizer<>), typeof(GenericControllerLocalizer<>)); + services.AddTransient(); + services.AddControllersWithViews(o => { o.Conventions.Add(new GenericControllerRouteConvention()); @@ -312,30 +273,29 @@ public static void AddMvcExceptionFilters(this IServiceCollection services) TUserProviderDto, TUserProvidersDto, TUserChangePasswordDto, TRoleClaimsDto, TUserClaimDto, TRoleClaimDto>()); }); - var cultureConfiguration = configuration.GetSection(nameof(CultureConfiguration)).Get(); services.Configure( - opts => - { - // If cultures are specified in the configuration, use them (making sure they are among the available cultures), - // otherwise use all the available cultures - var supportedCultureCodes = (cultureConfiguration?.Cultures?.Count > 0 ? - cultureConfiguration.Cultures.Intersect(CultureConfiguration.AvailableCultures) : - CultureConfiguration.AvailableCultures).ToArray(); + opts => + { + // If cultures are specified in the configuration, use them (making sure they are among the available cultures), + // otherwise use all the available cultures + var supportedCultureCodes = (cultureConfiguration?.Cultures?.Count > 0 ? + cultureConfiguration.Cultures.Intersect(CultureConfiguration.AvailableCultures) : + CultureConfiguration.AvailableCultures).ToArray(); - if (!supportedCultureCodes.Any()) supportedCultureCodes = CultureConfiguration.AvailableCultures; - var supportedCultures = supportedCultureCodes.Select(c => new CultureInfo(c)).ToList(); + if (!supportedCultureCodes.Any()) supportedCultureCodes = CultureConfiguration.AvailableCultures; + var supportedCultures = supportedCultureCodes.Select(c => new CultureInfo(c)).ToList(); - // If the default culture is specified use it, otherwise use CultureConfiguration.DefaultRequestCulture ("en") - var defaultCultureCode = string.IsNullOrEmpty(cultureConfiguration?.DefaultCulture) ? - CultureConfiguration.DefaultRequestCulture : cultureConfiguration?.DefaultCulture; + // If the default culture is specified use it, otherwise use CultureConfiguration.DefaultRequestCulture ("en") + var defaultCultureCode = string.IsNullOrEmpty(cultureConfiguration?.DefaultCulture) ? + CultureConfiguration.DefaultRequestCulture : cultureConfiguration?.DefaultCulture; - // If the default culture is not among the supported cultures, use the first supported culture as default - if (!supportedCultureCodes.Contains(defaultCultureCode)) defaultCultureCode = supportedCultureCodes.FirstOrDefault(); + // If the default culture is not among the supported cultures, use the first supported culture as default + if (!supportedCultureCodes.Contains(defaultCultureCode)) defaultCultureCode = supportedCultureCodes.FirstOrDefault(); - opts.DefaultRequestCulture = new RequestCulture(defaultCultureCode); - opts.SupportedCultures = supportedCultures; - opts.SupportedUICultures = supportedCultures; - }); + opts.DefaultRequestCulture = new RequestCulture(defaultCultureCode); + opts.SupportedCultures = supportedCultures; + opts.SupportedUICultures = supportedCultures; + }); } public static void AddAuthenticationServicesStaging( @@ -343,22 +303,22 @@ public static void AddAuthenticationServicesStaging(options => - { - options.User.RequireUniqueEmail = true; - }) + { + options.User.RequireUniqueEmail = true; + }) .AddEntityFrameworkStores() .AddDefaultTokenProviders(); services.AddAuthentication(options => - { - options.DefaultScheme = CookieAuthenticationDefaults.AuthenticationScheme; - options.DefaultChallengeScheme = CookieAuthenticationDefaults.AuthenticationScheme; - - options.DefaultAuthenticateScheme = CookieAuthenticationDefaults.AuthenticationScheme; - options.DefaultForbidScheme = CookieAuthenticationDefaults.AuthenticationScheme; - options.DefaultSignInScheme = CookieAuthenticationDefaults.AuthenticationScheme; - options.DefaultSignOutScheme = CookieAuthenticationDefaults.AuthenticationScheme; - }) + { + options.DefaultScheme = CookieAuthenticationDefaults.AuthenticationScheme; + options.DefaultChallengeScheme = CookieAuthenticationDefaults.AuthenticationScheme; + + options.DefaultAuthenticateScheme = CookieAuthenticationDefaults.AuthenticationScheme; + options.DefaultForbidScheme = CookieAuthenticationDefaults.AuthenticationScheme; + options.DefaultSignInScheme = CookieAuthenticationDefaults.AuthenticationScheme; + options.DefaultSignOutScheme = CookieAuthenticationDefaults.AuthenticationScheme; + }) .AddCookie(CookieAuthenticationDefaults.AuthenticationScheme); } @@ -372,11 +332,10 @@ public static void AddAuthenticationServicesStaging /// /// - public static void AddAuthenticationServices(this IServiceCollection services, IConfiguration configuration) + public static void AddAuthenticationServices(this IServiceCollection services, + AdminConfiguration adminConfiguration, Action identityOptionsAction, Action authenticationBuilderAction) where TContext : DbContext where TUserIdentity : class where TUserIdentityRole : class { - var adminConfiguration = configuration.GetSection(nameof(AdminConfiguration)).Get(); - services.Configure(options => { options.MinimumSameSitePolicy = SameSiteMode.Unspecified; @@ -388,20 +347,20 @@ public static void AddAuthenticationServices(options => configuration.GetSection(nameof(IdentityOptions)).Bind(options)) + .AddIdentity(identityOptionsAction) .AddEntityFrameworkStores() .AddDefaultTokenProviders(); - services.AddAuthentication(options => - { - options.DefaultScheme = CookieAuthenticationDefaults.AuthenticationScheme; - options.DefaultChallengeScheme = AuthenticationConsts.OidcAuthenticationScheme; - - options.DefaultAuthenticateScheme = CookieAuthenticationDefaults.AuthenticationScheme; - options.DefaultForbidScheme = CookieAuthenticationDefaults.AuthenticationScheme; - options.DefaultSignInScheme = CookieAuthenticationDefaults.AuthenticationScheme; - options.DefaultSignOutScheme = CookieAuthenticationDefaults.AuthenticationScheme; - }) + var authenticationBuilder = services.AddAuthentication(options => + { + options.DefaultScheme = CookieAuthenticationDefaults.AuthenticationScheme; + options.DefaultChallengeScheme = AuthenticationConsts.OidcAuthenticationScheme; + + options.DefaultAuthenticateScheme = CookieAuthenticationDefaults.AuthenticationScheme; + options.DefaultForbidScheme = CookieAuthenticationDefaults.AuthenticationScheme; + options.DefaultSignInScheme = CookieAuthenticationDefaults.AuthenticationScheme; + options.DefaultSignOutScheme = CookieAuthenticationDefaults.AuthenticationScheme; + }) .AddCookie(CookieAuthenticationDefaults.AuthenticationScheme, options => { @@ -439,8 +398,11 @@ public static void AddAuthenticationServices OnRedirectToIdentityProvider(context, adminConfiguration) }; }); + + authenticationBuilderAction?.Invoke(authenticationBuilder); } + private static Task OnMessageReceived(MessageReceivedContext context, AdminConfiguration adminConfiguration) { context.Properties.IsPersistent = true; @@ -456,7 +418,10 @@ private static Task OnRedirectToIdentityProvider(RedirectContext n, AdminConfigu return Task.FromResult(0); } - public static void AddIdSHealthChecks(this IServiceCollection services, IConfiguration configuration, AdminConfiguration adminConfiguration) + public static void AddIdSHealthChecks + (this IHealthChecksBuilder healthChecksBuilder, AdminConfiguration adminConfiguration, + ConnectionStringsConfiguration connectionStringsConfiguration, DatabaseProviderConfiguration databaseProviderConfiguration) where TConfigurationDbContext : DbContext, IAdminConfigurationDbContext where TPersistedGrantDbContext : DbContext, IAdminPersistedGrantDbContext where TIdentityDbContext : DbContext @@ -464,15 +429,15 @@ public static void AddIdSHealthChecks where TDataProtectionDbContext : DbContext, IDataProtectionKeyContext { - var configurationDbConnectionString = configuration.GetConnectionString(ConfigurationConsts.ConfigurationDbConnectionStringKey); - var persistedGrantsDbConnectionString = configuration.GetConnectionString(ConfigurationConsts.PersistedGrantDbConnectionStringKey); - var identityDbConnectionString = configuration.GetConnectionString(ConfigurationConsts.IdentityDbConnectionStringKey); - var logDbConnectionString = configuration.GetConnectionString(ConfigurationConsts.AdminLogDbConnectionStringKey); - var auditLogDbConnectionString = configuration.GetConnectionString(ConfigurationConsts.AdminAuditLogDbConnectionStringKey); - var dataProtectionDbConnectionString = configuration.GetConnectionString(ConfigurationConsts.DataProtectionDbConnectionStringKey); + var configurationDbConnectionString = connectionStringsConfiguration.ConfigurationDbConnection; + var persistedGrantsDbConnectionString = connectionStringsConfiguration.PersistedGrantDbConnection; + var identityDbConnectionString = connectionStringsConfiguration.IdentityDbConnection; + var logDbConnectionString = connectionStringsConfiguration.AdminLogDbConnection; + var auditLogDbConnectionString = connectionStringsConfiguration.AdminAuditLogDbConnection; + var dataProtectionDbConnectionString = connectionStringsConfiguration.DataProtectionDbConnection; var identityServerUri = adminConfiguration.IdentityServerBaseUrl; - var healthChecksBuilder = services.AddHealthChecks() + healthChecksBuilder = healthChecksBuilder .AddDbContextCheck("ConfigurationDbContext") .AddDbContextCheck("PersistedGrantsDbContext") .AddDbContextCheck("IdentityDbContext") @@ -482,7 +447,7 @@ public static void AddIdSHealthChecks(); using (var scope = scopeFactory.CreateScope()) { @@ -493,8 +458,7 @@ public static void AddIdSHealthChecks(scope.ServiceProvider); var dataProtectionTableName = DbContextHelpers.GetEntityTable(scope.ServiceProvider); - var databaseProvider = configuration.GetSection(nameof(DatabaseProviderConfiguration)).Get(); - switch (databaseProvider.ProviderType) + switch (databaseProviderConfiguration.ProviderType) { case DatabaseProviderType.SqlServer: healthChecksBuilder @@ -536,9 +500,113 @@ public static void AddIdSHealthChecks + /// Using of Forwarded Headers, Hsts, XXssProtection and Csp + /// + /// + /// + public static void UseSecurityHeaders(this IApplicationBuilder app, List cspTrustedDomains) + { + var forwardingOptions = new ForwardedHeadersOptions() + { + ForwardedHeaders = ForwardedHeaders.All + }; + + forwardingOptions.KnownNetworks.Clear(); + forwardingOptions.KnownProxies.Clear(); + + app.UseForwardedHeaders(forwardingOptions); + + app.UseXXssProtection(options => options.EnabledWithBlockMode()); + app.UseXContentTypeOptions(); + app.UseXfo(options => options.SameOrigin()); + app.UseReferrerPolicy(options => options.NoReferrer()); + + // CSP Configuration to be able to use external resources + if (cspTrustedDomains != null && cspTrustedDomains.Any()) + { + app.UseCsp(csp => + { + csp.ImageSources(options => + { + options.SelfSrc = true; + options.CustomSources = cspTrustedDomains; + options.Enabled = true; + }); + csp.FontSources(options => + { + options.SelfSrc = true; + options.CustomSources = cspTrustedDomains; + options.Enabled = true; + }); + csp.ScriptSources(options => + { + options.SelfSrc = true; + options.CustomSources = cspTrustedDomains; + options.Enabled = true; + options.UnsafeInlineSrc = true; + options.UnsafeEvalSrc = true; + }); + csp.StyleSources(options => + { + options.SelfSrc = true; + options.CustomSources = cspTrustedDomains; + options.Enabled = true; + options.UnsafeInlineSrc = true; + }); + csp.DefaultSources(options => + { + options.SelfSrc = true; + options.CustomSources = cspTrustedDomains; + options.Enabled = true; + }); + }); + } + } + + public static void UseCommonMiddleware(this IApplicationBuilder app, SecurityConfiguration securityConfiguration, HttpConfiguration httpConfiguration) + { + app.UseCookiePolicy(); + + if (securityConfiguration.UseDeveloperExceptionPage) + { + app.UseDeveloperExceptionPage(); + } + else + { + app.UseExceptionHandler("/Home/Error"); + } + + if (securityConfiguration.UseHsts) + { + app.UseHsts(); + } + + app.UsePathBase(httpConfiguration.BasePath); + + // Add custom security headers + app.UseSecurityHeaders(securityConfiguration.CspTrustedDomains); + + app.UseStaticFiles(); + + // Use Localization + app.ConfigureLocalization(); + } + + public static void UseRoutingDependentMiddleware(this IApplicationBuilder app, TestingConfiguration testingConfiguration) + { + app.UseAuthentication(); + if (testingConfiguration.IsStaging) + { + app.UseMiddleware(); + } + + app.UseAuthorization(); + } } } diff --git a/src/Skoruba.IdentityServer4.Admin/Helpers/TagHelpers/GravatarTagHelper.cs b/src/Skoruba.IdentityServer4.Admin.UI/Helpers/TagHelpers/GravatarTagHelper.cs similarity index 95% rename from src/Skoruba.IdentityServer4.Admin/Helpers/TagHelpers/GravatarTagHelper.cs rename to src/Skoruba.IdentityServer4.Admin.UI/Helpers/TagHelpers/GravatarTagHelper.cs index 9d07b36f1..cf5b35e23 100644 --- a/src/Skoruba.IdentityServer4.Admin/Helpers/TagHelpers/GravatarTagHelper.cs +++ b/src/Skoruba.IdentityServer4.Admin.UI/Helpers/TagHelpers/GravatarTagHelper.cs @@ -1,6 +1,6 @@ using Microsoft.AspNetCore.Razor.TagHelpers; -namespace Skoruba.IdentityServer4.Admin.Helpers.TagHelpers +namespace Skoruba.IdentityServer4.Admin.UI.Helpers.TagHelpers { [HtmlTargetElement("img-gravatar")] public class GravatarTagHelper : TagHelper diff --git a/src/Skoruba.IdentityServer4.Admin/Helpers/TagHelpers/PickerTagHelper.cs b/src/Skoruba.IdentityServer4.Admin.UI/Helpers/TagHelpers/PickerTagHelper.cs similarity index 98% rename from src/Skoruba.IdentityServer4.Admin/Helpers/TagHelpers/PickerTagHelper.cs rename to src/Skoruba.IdentityServer4.Admin.UI/Helpers/TagHelpers/PickerTagHelper.cs index b17ae42a3..87f2a5c6c 100644 --- a/src/Skoruba.IdentityServer4.Admin/Helpers/TagHelpers/PickerTagHelper.cs +++ b/src/Skoruba.IdentityServer4.Admin.UI/Helpers/TagHelpers/PickerTagHelper.cs @@ -5,7 +5,7 @@ using Microsoft.AspNetCore.Razor.TagHelpers; using Newtonsoft.Json; -namespace Skoruba.IdentityServer4.Admin.Helpers.TagHelpers +namespace Skoruba.IdentityServer4.Admin.UI.Helpers.TagHelpers { [HtmlTargetElement("picker")] public class PickerTagHelper : TagHelper diff --git a/src/Skoruba.IdentityServer4.Admin/Helpers/TagHelpers/SwitchTagHelper.cs b/src/Skoruba.IdentityServer4.Admin.UI/Helpers/TagHelpers/SwitchTagHelper.cs similarity index 92% rename from src/Skoruba.IdentityServer4.Admin/Helpers/TagHelpers/SwitchTagHelper.cs rename to src/Skoruba.IdentityServer4.Admin.UI/Helpers/TagHelpers/SwitchTagHelper.cs index 7ddf9a66b..1c4c13953 100644 --- a/src/Skoruba.IdentityServer4.Admin/Helpers/TagHelpers/SwitchTagHelper.cs +++ b/src/Skoruba.IdentityServer4.Admin.UI/Helpers/TagHelpers/SwitchTagHelper.cs @@ -2,7 +2,7 @@ using Microsoft.AspNetCore.Mvc.Rendering; using Microsoft.AspNetCore.Razor.TagHelpers; -namespace Skoruba.IdentityServer4.Admin.Helpers.TagHelpers +namespace Skoruba.IdentityServer4.Admin.UI.Helpers.TagHelpers { [HtmlTargetElement("toggle-button")] public class SwitchTagHelper : TagHelper diff --git a/src/Skoruba.IdentityServer4.Admin/Helpers/UrlHelpers.cs b/src/Skoruba.IdentityServer4.Admin.UI/Helpers/UrlHelpers.cs similarity index 87% rename from src/Skoruba.IdentityServer4.Admin/Helpers/UrlHelpers.cs rename to src/Skoruba.IdentityServer4.Admin.UI/Helpers/UrlHelpers.cs index 71d22425b..d7dc7cc60 100644 --- a/src/Skoruba.IdentityServer4.Admin/Helpers/UrlHelpers.cs +++ b/src/Skoruba.IdentityServer4.Admin.UI/Helpers/UrlHelpers.cs @@ -1,4 +1,4 @@ -namespace Skoruba.IdentityServer4.Admin.Helpers +namespace Skoruba.IdentityServer4.Admin.UI.Helpers { public static class UrlHelpers { diff --git a/src/Skoruba.IdentityServer4.Admin/Middlewares/AuthenticatedTestRequestMiddleware.cs b/src/Skoruba.IdentityServer4.Admin.UI/Middlewares/AuthenticatedTestRequestMiddleware.cs similarity index 94% rename from src/Skoruba.IdentityServer4.Admin/Middlewares/AuthenticatedTestRequestMiddleware.cs rename to src/Skoruba.IdentityServer4.Admin.UI/Middlewares/AuthenticatedTestRequestMiddleware.cs index 9e9971f09..c873ccee9 100644 --- a/src/Skoruba.IdentityServer4.Admin/Middlewares/AuthenticatedTestRequestMiddleware.cs +++ b/src/Skoruba.IdentityServer4.Admin.UI/Middlewares/AuthenticatedTestRequestMiddleware.cs @@ -4,7 +4,7 @@ using System.Threading.Tasks; using Microsoft.AspNetCore.Http; -namespace Skoruba.IdentityServer4.Admin.Middlewares +namespace Skoruba.IdentityServer4.Admin.UI.Middlewares { public class AuthenticatedTestRequestMiddleware { diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Controllers/ConfigurationController.da.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Controllers/ConfigurationController.da.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Controllers/ConfigurationController.da.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Controllers/ConfigurationController.da.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Controllers/ConfigurationController.de.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Controllers/ConfigurationController.de.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Controllers/ConfigurationController.de.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Controllers/ConfigurationController.de.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Controllers/ConfigurationController.en.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Controllers/ConfigurationController.en.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Controllers/ConfigurationController.en.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Controllers/ConfigurationController.en.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Controllers/ConfigurationController.es.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Controllers/ConfigurationController.es.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Controllers/ConfigurationController.es.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Controllers/ConfigurationController.es.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Controllers/ConfigurationController.fa.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Controllers/ConfigurationController.fa.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Controllers/ConfigurationController.fa.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Controllers/ConfigurationController.fa.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Controllers/ConfigurationController.fi.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Controllers/ConfigurationController.fi.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Controllers/ConfigurationController.fi.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Controllers/ConfigurationController.fi.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Controllers/ConfigurationController.fr.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Controllers/ConfigurationController.fr.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Controllers/ConfigurationController.fr.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Controllers/ConfigurationController.fr.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Controllers/ConfigurationController.pt.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Controllers/ConfigurationController.pt.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Controllers/ConfigurationController.pt.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Controllers/ConfigurationController.pt.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Controllers/ConfigurationController.ru.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Controllers/ConfigurationController.ru.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Controllers/ConfigurationController.ru.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Controllers/ConfigurationController.ru.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Controllers/ConfigurationController.sv.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Controllers/ConfigurationController.sv.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Controllers/ConfigurationController.sv.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Controllers/ConfigurationController.sv.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Controllers/ConfigurationController.zh.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Controllers/ConfigurationController.zh.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Controllers/ConfigurationController.zh.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Controllers/ConfigurationController.zh.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Controllers/GrantController.da.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Controllers/GrantController.da.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Controllers/GrantController.da.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Controllers/GrantController.da.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Controllers/GrantController.de.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Controllers/GrantController.de.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Controllers/GrantController.de.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Controllers/GrantController.de.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Controllers/GrantController.en.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Controllers/GrantController.en.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Controllers/GrantController.en.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Controllers/GrantController.en.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Controllers/GrantController.es.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Controllers/GrantController.es.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Controllers/GrantController.es.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Controllers/GrantController.es.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Controllers/GrantController.fa.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Controllers/GrantController.fa.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Controllers/GrantController.fa.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Controllers/GrantController.fa.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Controllers/GrantController.fi.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Controllers/GrantController.fi.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Controllers/GrantController.fi.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Controllers/GrantController.fi.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Controllers/GrantController.fr.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Controllers/GrantController.fr.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Controllers/GrantController.fr.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Controllers/GrantController.fr.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Controllers/GrantController.pt.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Controllers/GrantController.pt.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Controllers/GrantController.pt.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Controllers/GrantController.pt.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Controllers/GrantController.ru.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Controllers/GrantController.ru.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Controllers/GrantController.ru.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Controllers/GrantController.ru.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Controllers/GrantController.sv.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Controllers/GrantController.sv.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Controllers/GrantController.sv.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Controllers/GrantController.sv.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Controllers/GrantController.zh.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Controllers/GrantController.zh.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Controllers/GrantController.zh.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Controllers/GrantController.zh.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Controllers/IdentityController.da.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Controllers/IdentityController.da.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Controllers/IdentityController.da.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Controllers/IdentityController.da.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Controllers/IdentityController.de.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Controllers/IdentityController.de.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Controllers/IdentityController.de.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Controllers/IdentityController.de.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Controllers/IdentityController.en.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Controllers/IdentityController.en.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Controllers/IdentityController.en.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Controllers/IdentityController.en.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Controllers/IdentityController.es.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Controllers/IdentityController.es.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Controllers/IdentityController.es.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Controllers/IdentityController.es.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Controllers/IdentityController.fa.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Controllers/IdentityController.fa.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Controllers/IdentityController.fa.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Controllers/IdentityController.fa.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Controllers/IdentityController.fi.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Controllers/IdentityController.fi.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Controllers/IdentityController.fi.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Controllers/IdentityController.fi.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Controllers/IdentityController.fr.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Controllers/IdentityController.fr.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Controllers/IdentityController.fr.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Controllers/IdentityController.fr.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Controllers/IdentityController.pt.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Controllers/IdentityController.pt.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Controllers/IdentityController.pt.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Controllers/IdentityController.pt.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Controllers/IdentityController.ru.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Controllers/IdentityController.ru.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Controllers/IdentityController.ru.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Controllers/IdentityController.ru.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Controllers/IdentityController.sv.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Controllers/IdentityController.sv.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Controllers/IdentityController.sv.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Controllers/IdentityController.sv.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Controllers/IdentityController.zh.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Controllers/IdentityController.zh.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Controllers/IdentityController.zh.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Controllers/IdentityController.zh.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Account/AccessDenied.da.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Account/AccessDenied.da.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Account/AccessDenied.da.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Account/AccessDenied.da.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Account/AccessDenied.de.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Account/AccessDenied.de.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Account/AccessDenied.de.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Account/AccessDenied.de.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Account/AccessDenied.en.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Account/AccessDenied.en.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Account/AccessDenied.en.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Account/AccessDenied.en.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Account/AccessDenied.es.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Account/AccessDenied.es.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Account/AccessDenied.es.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Account/AccessDenied.es.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Account/AccessDenied.fa.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Account/AccessDenied.fa.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Account/AccessDenied.fa.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Account/AccessDenied.fa.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Account/AccessDenied.fi.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Account/AccessDenied.fi.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Account/AccessDenied.fi.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Account/AccessDenied.fi.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Account/AccessDenied.fr.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Account/AccessDenied.fr.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Account/AccessDenied.fr.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Account/AccessDenied.fr.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Account/AccessDenied.pt.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Account/AccessDenied.pt.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Account/AccessDenied.pt.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Account/AccessDenied.pt.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Account/AccessDenied.ru.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Account/AccessDenied.ru.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Account/AccessDenied.ru.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Account/AccessDenied.ru.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Account/AccessDenied.sv.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Account/AccessDenied.sv.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Account/AccessDenied.sv.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Account/AccessDenied.sv.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Account/AccessDenied.zh.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Account/AccessDenied.zh.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Account/AccessDenied.zh.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Account/AccessDenied.zh.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiResource.da.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiResource.da.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiResource.da.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiResource.da.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiResource.de.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiResource.de.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiResource.de.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiResource.de.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiResource.en.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiResource.en.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiResource.en.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiResource.en.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiResource.es.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiResource.es.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiResource.es.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiResource.es.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiResource.fa.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiResource.fa.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiResource.fa.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiResource.fa.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiResource.fi.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiResource.fi.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiResource.fi.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiResource.fi.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiResource.fr.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiResource.fr.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiResource.fr.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiResource.fr.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiResource.pt.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiResource.pt.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiResource.pt.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiResource.pt.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiResource.ru.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiResource.ru.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiResource.ru.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiResource.ru.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiResource.sv.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiResource.sv.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiResource.sv.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiResource.sv.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiResource.zh.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiResource.zh.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiResource.zh.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiResource.zh.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiResource/Section/Label.da.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiResource/Section/Label.da.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiResource/Section/Label.da.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiResource/Section/Label.da.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiResource/Section/Label.de.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiResource/Section/Label.de.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiResource/Section/Label.de.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiResource/Section/Label.de.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiResource/Section/Label.en.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiResource/Section/Label.en.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiResource/Section/Label.en.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiResource/Section/Label.en.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiResource/Section/Label.es.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiResource/Section/Label.es.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiResource/Section/Label.es.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiResource/Section/Label.es.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiResource/Section/Label.fa.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiResource/Section/Label.fa.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiResource/Section/Label.fa.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiResource/Section/Label.fa.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiResource/Section/Label.fi.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiResource/Section/Label.fi.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiResource/Section/Label.fi.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiResource/Section/Label.fi.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiResource/Section/Label.fr.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiResource/Section/Label.fr.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiResource/Section/Label.fr.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiResource/Section/Label.fr.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiResource/Section/Label.pt.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiResource/Section/Label.pt.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiResource/Section/Label.pt.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiResource/Section/Label.pt.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiResource/Section/Label.ru.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiResource/Section/Label.ru.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiResource/Section/Label.ru.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiResource/Section/Label.ru.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiResource/Section/Label.sv.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiResource/Section/Label.sv.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiResource/Section/Label.sv.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiResource/Section/Label.sv.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiResource/Section/Label.zh.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiResource/Section/Label.zh.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiResource/Section/Label.zh.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiResource/Section/Label.zh.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiResourceDelete.da.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiResourceDelete.da.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiResourceDelete.da.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiResourceDelete.da.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiResourceDelete.de.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiResourceDelete.de.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiResourceDelete.de.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiResourceDelete.de.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiResourceDelete.en.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiResourceDelete.en.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiResourceDelete.en.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiResourceDelete.en.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiResourceDelete.es.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiResourceDelete.es.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiResourceDelete.es.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiResourceDelete.es.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiResourceDelete.fa.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiResourceDelete.fa.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiResourceDelete.fa.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiResourceDelete.fa.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiResourceDelete.fi.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiResourceDelete.fi.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiResourceDelete.fi.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiResourceDelete.fi.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiResourceDelete.fr.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiResourceDelete.fr.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiResourceDelete.fr.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiResourceDelete.fr.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiResourceDelete.pt.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiResourceDelete.pt.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiResourceDelete.pt.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiResourceDelete.pt.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiResourceDelete.ru.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiResourceDelete.ru.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiResourceDelete.ru.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiResourceDelete.ru.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiResourceDelete.sv.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiResourceDelete.sv.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiResourceDelete.sv.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiResourceDelete.sv.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiResourceDelete.zh.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiResourceDelete.zh.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiResourceDelete.zh.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiResourceDelete.zh.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiResourceProperties.da.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiResourceProperties.da.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiResourceProperties.da.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiResourceProperties.da.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiResourceProperties.de.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiResourceProperties.de.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiResourceProperties.de.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiResourceProperties.de.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiResourceProperties.en.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiResourceProperties.en.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiResourceProperties.en.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiResourceProperties.en.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiResourceProperties.es.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiResourceProperties.es.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiResourceProperties.es.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiResourceProperties.es.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiResourceProperties.fa.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiResourceProperties.fa.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiResourceProperties.fa.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiResourceProperties.fa.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiResourceProperties.fi.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiResourceProperties.fi.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiResourceProperties.fi.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiResourceProperties.fi.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiResourceProperties.fr.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiResourceProperties.fr.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiResourceProperties.fr.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiResourceProperties.fr.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiResourceProperties.pt.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiResourceProperties.pt.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiResourceProperties.pt.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiResourceProperties.pt.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiResourceProperties.ru.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiResourceProperties.ru.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiResourceProperties.ru.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiResourceProperties.ru.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiResourceProperties.sv.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiResourceProperties.sv.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiResourceProperties.sv.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiResourceProperties.sv.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiResourceProperties.zh.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiResourceProperties.zh.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiResourceProperties.zh.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiResourceProperties.zh.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiResourcePropertyDelete.da.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiResourcePropertyDelete.da.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiResourcePropertyDelete.da.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiResourcePropertyDelete.da.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiResourcePropertyDelete.de.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiResourcePropertyDelete.de.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiResourcePropertyDelete.de.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiResourcePropertyDelete.de.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiResourcePropertyDelete.en.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiResourcePropertyDelete.en.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiResourcePropertyDelete.en.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiResourcePropertyDelete.en.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiResourcePropertyDelete.es.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiResourcePropertyDelete.es.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiResourcePropertyDelete.es.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiResourcePropertyDelete.es.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiResourcePropertyDelete.fa.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiResourcePropertyDelete.fa.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiResourcePropertyDelete.fa.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiResourcePropertyDelete.fa.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiResourcePropertyDelete.fi.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiResourcePropertyDelete.fi.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiResourcePropertyDelete.fi.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiResourcePropertyDelete.fi.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiResourcePropertyDelete.fr.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiResourcePropertyDelete.fr.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiResourcePropertyDelete.fr.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiResourcePropertyDelete.fr.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiResourcePropertyDelete.pt.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiResourcePropertyDelete.pt.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiResourcePropertyDelete.pt.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiResourcePropertyDelete.pt.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiResourcePropertyDelete.ru.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiResourcePropertyDelete.ru.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiResourcePropertyDelete.ru.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiResourcePropertyDelete.ru.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiResourcePropertyDelete.sv.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiResourcePropertyDelete.sv.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiResourcePropertyDelete.sv.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiResourcePropertyDelete.sv.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiResourcePropertyDelete.zh.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiResourcePropertyDelete.zh.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiResourcePropertyDelete.zh.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiResourcePropertyDelete.zh.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiResources.da.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiResources.da.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiResources.da.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiResources.da.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiResources.de.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiResources.de.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiResources.de.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiResources.de.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiResources.en.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiResources.en.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiResources.en.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiResources.en.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiResources.es.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiResources.es.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiResources.es.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiResources.es.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiResources.fa.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiResources.fa.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiResources.fa.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiResources.fa.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiResources.fi.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiResources.fi.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiResources.fi.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiResources.fi.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiResources.fr.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiResources.fr.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiResources.fr.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiResources.fr.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiResources.pt.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiResources.pt.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiResources.pt.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiResources.pt.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiResources.ru.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiResources.ru.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiResources.ru.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiResources.ru.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiResources.sv.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiResources.sv.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiResources.sv.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiResources.sv.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiResources.zh.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiResources.zh.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiResources.zh.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiResources.zh.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiScope.da.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiScope.da.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiScope.da.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiScope.da.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiScope.de.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiScope.de.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiScope.de.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiScope.de.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiScope.en.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiScope.en.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiScope.en.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiScope.en.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiScope.es.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiScope.es.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiScope.es.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiScope.es.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiScope.fa.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiScope.fa.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiScope.fa.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiScope.fa.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiScope.fi.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiScope.fi.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiScope.fi.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiScope.fi.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiScope.fr.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiScope.fr.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiScope.fr.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiScope.fr.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiScope.pt.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiScope.pt.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiScope.pt.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiScope.pt.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiScope.ru.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiScope.ru.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiScope.ru.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiScope.ru.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiScope.sv.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiScope.sv.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiScope.sv.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiScope.sv.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiScope.zh.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiScope.zh.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiScope.zh.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiScope.zh.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiScope/Section/Label.da.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiScope/Section/Label.da.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiScope/Section/Label.da.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiScope/Section/Label.da.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiScope/Section/Label.de.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiScope/Section/Label.de.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiScope/Section/Label.de.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiScope/Section/Label.de.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiScope/Section/Label.en.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiScope/Section/Label.en.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiScope/Section/Label.en.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiScope/Section/Label.en.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiScope/Section/Label.es.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiScope/Section/Label.es.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiScope/Section/Label.es.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiScope/Section/Label.es.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiScope/Section/Label.fa.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiScope/Section/Label.fa.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiScope/Section/Label.fa.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiScope/Section/Label.fa.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiScope/Section/Label.fi.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiScope/Section/Label.fi.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiScope/Section/Label.fi.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiScope/Section/Label.fi.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiScope/Section/Label.fr.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiScope/Section/Label.fr.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiScope/Section/Label.fr.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiScope/Section/Label.fr.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiScope/Section/Label.pt.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiScope/Section/Label.pt.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiScope/Section/Label.pt.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiScope/Section/Label.pt.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiScope/Section/Label.ru.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiScope/Section/Label.ru.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiScope/Section/Label.ru.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiScope/Section/Label.ru.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiScope/Section/Label.sv.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiScope/Section/Label.sv.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiScope/Section/Label.sv.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiScope/Section/Label.sv.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiScope/Section/Label.zh.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiScope/Section/Label.zh.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiScope/Section/Label.zh.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiScope/Section/Label.zh.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiScopeDelete.da.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiScopeDelete.da.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiScopeDelete.da.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiScopeDelete.da.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiScopeDelete.de.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiScopeDelete.de.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiScopeDelete.de.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiScopeDelete.de.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiScopeDelete.en.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiScopeDelete.en.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiScopeDelete.en.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiScopeDelete.en.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiScopeDelete.es.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiScopeDelete.es.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiScopeDelete.es.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiScopeDelete.es.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiScopeDelete.fa.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiScopeDelete.fa.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiScopeDelete.fa.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiScopeDelete.fa.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiScopeDelete.fi.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiScopeDelete.fi.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiScopeDelete.fi.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiScopeDelete.fi.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiScopeDelete.fr.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiScopeDelete.fr.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiScopeDelete.fr.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiScopeDelete.fr.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiScopeDelete.pt.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiScopeDelete.pt.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiScopeDelete.pt.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiScopeDelete.pt.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiScopeDelete.ru.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiScopeDelete.ru.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiScopeDelete.ru.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiScopeDelete.ru.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiScopeDelete.sv.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiScopeDelete.sv.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiScopeDelete.sv.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiScopeDelete.sv.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiScopeDelete.zh.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiScopeDelete.zh.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiScopeDelete.zh.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiScopeDelete.zh.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiScopeProperties.da.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiScopeProperties.da.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiScopeProperties.da.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiScopeProperties.da.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiScopeProperties.de.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiScopeProperties.de.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiScopeProperties.de.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiScopeProperties.de.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiScopeProperties.en.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiScopeProperties.en.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiScopeProperties.en.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiScopeProperties.en.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiScopeProperties.es.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiScopeProperties.es.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiScopeProperties.es.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiScopeProperties.es.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiScopeProperties.fa.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiScopeProperties.fa.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiScopeProperties.fa.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiScopeProperties.fa.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiScopeProperties.fi.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiScopeProperties.fi.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiScopeProperties.fi.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiScopeProperties.fi.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiScopeProperties.fr.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiScopeProperties.fr.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiScopeProperties.fr.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiScopeProperties.fr.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiScopeProperties.pt.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiScopeProperties.pt.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiScopeProperties.pt.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiScopeProperties.pt.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiScopeProperties.ru.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiScopeProperties.ru.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiScopeProperties.ru.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiScopeProperties.ru.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiScopeProperties.sv.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiScopeProperties.sv.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiScopeProperties.sv.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiScopeProperties.sv.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiScopeProperties.zh.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiScopeProperties.zh.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiScopeProperties.zh.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiScopeProperties.zh.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiScopePropertyDelete.da.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiScopePropertyDelete.da.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiScopePropertyDelete.da.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiScopePropertyDelete.da.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiScopePropertyDelete.de.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiScopePropertyDelete.de.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiScopePropertyDelete.de.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiScopePropertyDelete.de.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiScopePropertyDelete.en.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiScopePropertyDelete.en.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiScopePropertyDelete.en.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiScopePropertyDelete.en.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiScopePropertyDelete.es.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiScopePropertyDelete.es.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiScopePropertyDelete.es.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiScopePropertyDelete.es.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiScopePropertyDelete.fa.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiScopePropertyDelete.fa.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiScopePropertyDelete.fa.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiScopePropertyDelete.fa.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiScopePropertyDelete.fi.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiScopePropertyDelete.fi.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiScopePropertyDelete.fi.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiScopePropertyDelete.fi.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiScopePropertyDelete.fr.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiScopePropertyDelete.fr.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiScopePropertyDelete.fr.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiScopePropertyDelete.fr.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiScopePropertyDelete.pt.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiScopePropertyDelete.pt.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiScopePropertyDelete.pt.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiScopePropertyDelete.pt.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiScopePropertyDelete.ru.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiScopePropertyDelete.ru.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiScopePropertyDelete.ru.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiScopePropertyDelete.ru.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiScopePropertyDelete.sv.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiScopePropertyDelete.sv.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiScopePropertyDelete.sv.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiScopePropertyDelete.sv.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiScopePropertyDelete.zh.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiScopePropertyDelete.zh.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiScopePropertyDelete.zh.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiScopePropertyDelete.zh.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiScopes.da.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiScopes.da.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiScopes.da.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiScopes.da.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiScopes.de.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiScopes.de.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiScopes.de.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiScopes.de.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiScopes.en.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiScopes.en.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiScopes.en.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiScopes.en.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiScopes.es.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiScopes.es.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiScopes.es.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiScopes.es.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiScopes.fa.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiScopes.fa.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiScopes.fa.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiScopes.fa.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiScopes.fi.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiScopes.fi.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiScopes.fi.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiScopes.fi.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiScopes.fr.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiScopes.fr.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiScopes.fr.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiScopes.fr.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiScopes.pt.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiScopes.pt.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiScopes.pt.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiScopes.pt.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiScopes.ru.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiScopes.ru.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiScopes.ru.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiScopes.ru.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiScopes.sv.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiScopes.sv.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiScopes.sv.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiScopes.sv.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiScopes.zh.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiScopes.zh.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiScopes.zh.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiScopes.zh.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiSecretDelete.da.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiSecretDelete.da.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiSecretDelete.da.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiSecretDelete.da.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiSecretDelete.de.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiSecretDelete.de.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiSecretDelete.de.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiSecretDelete.de.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiSecretDelete.en.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiSecretDelete.en.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiSecretDelete.en.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiSecretDelete.en.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiSecretDelete.es.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiSecretDelete.es.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiSecretDelete.es.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiSecretDelete.es.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiSecretDelete.fa.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiSecretDelete.fa.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiSecretDelete.fa.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiSecretDelete.fa.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiSecretDelete.fi.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiSecretDelete.fi.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiSecretDelete.fi.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiSecretDelete.fi.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiSecretDelete.fr.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiSecretDelete.fr.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiSecretDelete.fr.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiSecretDelete.fr.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiSecretDelete.pt.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiSecretDelete.pt.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiSecretDelete.pt.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiSecretDelete.pt.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiSecretDelete.ru.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiSecretDelete.ru.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiSecretDelete.ru.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiSecretDelete.ru.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiSecretDelete.sv.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiSecretDelete.sv.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiSecretDelete.sv.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiSecretDelete.sv.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiSecretDelete.zh.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiSecretDelete.zh.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiSecretDelete.zh.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiSecretDelete.zh.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiSecrets.da.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiSecrets.da.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiSecrets.da.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiSecrets.da.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiSecrets.de.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiSecrets.de.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiSecrets.de.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiSecrets.de.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiSecrets.en.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiSecrets.en.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiSecrets.en.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiSecrets.en.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiSecrets.es.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiSecrets.es.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiSecrets.es.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiSecrets.es.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiSecrets.fa.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiSecrets.fa.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiSecrets.fa.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiSecrets.fa.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiSecrets.fi.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiSecrets.fi.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiSecrets.fi.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiSecrets.fi.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiSecrets.fr.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiSecrets.fr.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiSecrets.fr.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiSecrets.fr.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiSecrets.pt.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiSecrets.pt.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiSecrets.pt.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiSecrets.pt.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiSecrets.ru.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiSecrets.ru.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiSecrets.ru.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiSecrets.ru.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiSecrets.sv.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiSecrets.sv.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiSecrets.sv.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiSecrets.sv.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiSecrets.zh.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiSecrets.zh.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ApiSecrets.zh.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ApiSecrets.zh.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/Client.da.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/Client.da.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/Client.da.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/Client.da.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/Client.de.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/Client.de.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/Client.de.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/Client.de.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/Client.en.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/Client.en.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/Client.en.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/Client.en.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/Client.es.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/Client.es.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/Client.es.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/Client.es.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/Client.fa.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/Client.fa.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/Client.fa.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/Client.fa.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/Client.fi.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/Client.fi.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/Client.fi.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/Client.fi.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/Client.fr.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/Client.fr.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/Client.fr.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/Client.fr.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/Client.pt.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/Client.pt.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/Client.pt.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/Client.pt.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/Client.ru.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/Client.ru.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/Client.ru.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/Client.ru.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/Client.sv.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/Client.sv.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/Client.sv.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/Client.sv.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/Client.zh.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/Client.zh.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/Client.zh.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/Client.zh.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/Client/Section/ActionButtons.da.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/Client/Section/ActionButtons.da.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/Client/Section/ActionButtons.da.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/Client/Section/ActionButtons.da.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/Client/Section/ActionButtons.de.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/Client/Section/ActionButtons.de.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/Client/Section/ActionButtons.de.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/Client/Section/ActionButtons.de.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/Client/Section/ActionButtons.en.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/Client/Section/ActionButtons.en.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/Client/Section/ActionButtons.en.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/Client/Section/ActionButtons.en.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/Client/Section/ActionButtons.es.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/Client/Section/ActionButtons.es.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/Client/Section/ActionButtons.es.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/Client/Section/ActionButtons.es.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/Client/Section/ActionButtons.fa.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/Client/Section/ActionButtons.fa.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/Client/Section/ActionButtons.fa.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/Client/Section/ActionButtons.fa.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/Client/Section/ActionButtons.fi.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/Client/Section/ActionButtons.fi.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/Client/Section/ActionButtons.fi.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/Client/Section/ActionButtons.fi.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/Client/Section/ActionButtons.fr.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/Client/Section/ActionButtons.fr.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/Client/Section/ActionButtons.fr.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/Client/Section/ActionButtons.fr.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/Client/Section/ActionButtons.pt.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/Client/Section/ActionButtons.pt.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/Client/Section/ActionButtons.pt.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/Client/Section/ActionButtons.pt.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/Client/Section/ActionButtons.ru.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/Client/Section/ActionButtons.ru.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/Client/Section/ActionButtons.ru.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/Client/Section/ActionButtons.ru.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/Client/Section/ActionButtons.sv.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/Client/Section/ActionButtons.sv.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/Client/Section/ActionButtons.sv.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/Client/Section/ActionButtons.sv.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/Client/Section/ActionButtons.zh.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/Client/Section/ActionButtons.zh.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/Client/Section/ActionButtons.zh.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/Client/Section/ActionButtons.zh.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/Client/Section/Authentication.da.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/Client/Section/Authentication.da.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/Client/Section/Authentication.da.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/Client/Section/Authentication.da.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/Client/Section/Authentication.de.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/Client/Section/Authentication.de.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/Client/Section/Authentication.de.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/Client/Section/Authentication.de.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/Client/Section/Authentication.en.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/Client/Section/Authentication.en.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/Client/Section/Authentication.en.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/Client/Section/Authentication.en.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/Client/Section/Authentication.es.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/Client/Section/Authentication.es.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/Client/Section/Authentication.es.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/Client/Section/Authentication.es.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/Client/Section/Authentication.fa.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/Client/Section/Authentication.fa.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/Client/Section/Authentication.fa.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/Client/Section/Authentication.fa.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/Client/Section/Authentication.fi.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/Client/Section/Authentication.fi.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/Client/Section/Authentication.fi.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/Client/Section/Authentication.fi.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/Client/Section/Authentication.fr.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/Client/Section/Authentication.fr.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/Client/Section/Authentication.fr.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/Client/Section/Authentication.fr.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/Client/Section/Authentication.pt.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/Client/Section/Authentication.pt.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/Client/Section/Authentication.pt.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/Client/Section/Authentication.pt.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/Client/Section/Authentication.ru.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/Client/Section/Authentication.ru.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/Client/Section/Authentication.ru.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/Client/Section/Authentication.ru.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/Client/Section/Authentication.sv.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/Client/Section/Authentication.sv.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/Client/Section/Authentication.sv.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/Client/Section/Authentication.sv.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/Client/Section/Authentication.zh.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/Client/Section/Authentication.zh.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/Client/Section/Authentication.zh.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/Client/Section/Authentication.zh.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/Client/Section/Basics.da.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/Client/Section/Basics.da.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/Client/Section/Basics.da.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/Client/Section/Basics.da.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/Client/Section/Basics.de.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/Client/Section/Basics.de.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/Client/Section/Basics.de.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/Client/Section/Basics.de.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/Client/Section/Basics.en.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/Client/Section/Basics.en.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/Client/Section/Basics.en.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/Client/Section/Basics.en.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/Client/Section/Basics.es.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/Client/Section/Basics.es.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/Client/Section/Basics.es.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/Client/Section/Basics.es.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/Client/Section/Basics.fa.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/Client/Section/Basics.fa.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/Client/Section/Basics.fa.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/Client/Section/Basics.fa.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/Client/Section/Basics.fi.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/Client/Section/Basics.fi.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/Client/Section/Basics.fi.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/Client/Section/Basics.fi.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/Client/Section/Basics.fr.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/Client/Section/Basics.fr.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/Client/Section/Basics.fr.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/Client/Section/Basics.fr.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/Client/Section/Basics.pt.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/Client/Section/Basics.pt.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/Client/Section/Basics.pt.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/Client/Section/Basics.pt.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/Client/Section/Basics.ru.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/Client/Section/Basics.ru.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/Client/Section/Basics.ru.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/Client/Section/Basics.ru.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/Client/Section/Basics.sv.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/Client/Section/Basics.sv.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/Client/Section/Basics.sv.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/Client/Section/Basics.sv.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/Client/Section/Basics.zh.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/Client/Section/Basics.zh.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/Client/Section/Basics.zh.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/Client/Section/Basics.zh.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/Client/Section/Consent.de.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/Client/Section/Consent.de.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/Client/Section/Consent.de.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/Client/Section/Consent.de.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/Client/Section/Consent.en.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/Client/Section/Consent.en.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/Client/Section/Consent.en.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/Client/Section/Consent.en.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/Client/Section/Consent.es.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/Client/Section/Consent.es.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/Client/Section/Consent.es.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/Client/Section/Consent.es.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/Client/Section/Consent.fa.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/Client/Section/Consent.fa.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/Client/Section/Consent.fa.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/Client/Section/Consent.fa.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/Client/Section/Consent.fi.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/Client/Section/Consent.fi.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/Client/Section/Consent.fi.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/Client/Section/Consent.fi.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/Client/Section/Consent.fr.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/Client/Section/Consent.fr.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/Client/Section/Consent.fr.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/Client/Section/Consent.fr.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/Client/Section/Consent.pt.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/Client/Section/Consent.pt.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/Client/Section/Consent.pt.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/Client/Section/Consent.pt.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/Client/Section/Consent.ru.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/Client/Section/Consent.ru.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/Client/Section/Consent.ru.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/Client/Section/Consent.ru.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/Client/Section/Consent.sv.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/Client/Section/Consent.sv.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/Client/Section/Consent.sv.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/Client/Section/Consent.sv.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/Client/Section/Consent.zh.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/Client/Section/Consent.zh.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/Client/Section/Consent.zh.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/Client/Section/Consent.zh.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/Client/Section/DeviceFlow.de.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/Client/Section/DeviceFlow.de.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/Client/Section/DeviceFlow.de.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/Client/Section/DeviceFlow.de.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/Client/Section/DeviceFlow.en.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/Client/Section/DeviceFlow.en.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/Client/Section/DeviceFlow.en.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/Client/Section/DeviceFlow.en.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/Client/Section/DeviceFlow.es.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/Client/Section/DeviceFlow.es.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/Client/Section/DeviceFlow.es.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/Client/Section/DeviceFlow.es.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/Client/Section/DeviceFlow.fa.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/Client/Section/DeviceFlow.fa.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/Client/Section/DeviceFlow.fa.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/Client/Section/DeviceFlow.fa.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/Client/Section/DeviceFlow.fr.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/Client/Section/DeviceFlow.fr.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/Client/Section/DeviceFlow.fr.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/Client/Section/DeviceFlow.fr.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/Client/Section/DeviceFlow.pt.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/Client/Section/DeviceFlow.pt.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/Client/Section/DeviceFlow.pt.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/Client/Section/DeviceFlow.pt.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/Client/Section/DeviceFlow.sv.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/Client/Section/DeviceFlow.sv.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/Client/Section/DeviceFlow.sv.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/Client/Section/DeviceFlow.sv.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/Client/Section/DeviceFlow.zh.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/Client/Section/DeviceFlow.zh.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/Client/Section/DeviceFlow.zh.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/Client/Section/DeviceFlow.zh.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/Client/Section/Label.de.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/Client/Section/Label.de.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/Client/Section/Label.de.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/Client/Section/Label.de.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/Client/Section/Label.en.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/Client/Section/Label.en.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/Client/Section/Label.en.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/Client/Section/Label.en.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/Client/Section/Label.es.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/Client/Section/Label.es.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/Client/Section/Label.es.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/Client/Section/Label.es.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/Client/Section/Label.fa.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/Client/Section/Label.fa.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/Client/Section/Label.fa.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/Client/Section/Label.fa.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/Client/Section/Label.fi.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/Client/Section/Label.fi.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/Client/Section/Label.fi.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/Client/Section/Label.fi.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/Client/Section/Label.fr.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/Client/Section/Label.fr.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/Client/Section/Label.fr.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/Client/Section/Label.fr.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/Client/Section/Label.pt.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/Client/Section/Label.pt.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/Client/Section/Label.pt.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/Client/Section/Label.pt.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/Client/Section/Label.ru.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/Client/Section/Label.ru.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/Client/Section/Label.ru.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/Client/Section/Label.ru.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/Client/Section/Label.sv.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/Client/Section/Label.sv.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/Client/Section/Label.sv.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/Client/Section/Label.sv.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/Client/Section/Label.zh.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/Client/Section/Label.zh.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/Client/Section/Label.zh.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/Client/Section/Label.zh.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/Client/Section/Name.de.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/Client/Section/Name.de.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/Client/Section/Name.de.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/Client/Section/Name.de.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/Client/Section/Name.en.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/Client/Section/Name.en.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/Client/Section/Name.en.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/Client/Section/Name.en.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/Client/Section/Name.es.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/Client/Section/Name.es.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/Client/Section/Name.es.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/Client/Section/Name.es.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/Client/Section/Name.fa.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/Client/Section/Name.fa.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/Client/Section/Name.fa.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/Client/Section/Name.fa.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/Client/Section/Name.fi.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/Client/Section/Name.fi.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/Client/Section/Name.fi.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/Client/Section/Name.fi.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/Client/Section/Name.fr.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/Client/Section/Name.fr.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/Client/Section/Name.fr.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/Client/Section/Name.fr.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/Client/Section/Name.pt.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/Client/Section/Name.pt.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/Client/Section/Name.pt.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/Client/Section/Name.pt.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/Client/Section/Name.ru.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/Client/Section/Name.ru.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/Client/Section/Name.ru.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/Client/Section/Name.ru.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/Client/Section/Name.sv.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/Client/Section/Name.sv.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/Client/Section/Name.sv.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/Client/Section/Name.sv.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/Client/Section/Name.zh.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/Client/Section/Name.zh.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/Client/Section/Name.zh.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/Client/Section/Name.zh.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/Client/Section/Token.de.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/Client/Section/Token.de.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/Client/Section/Token.de.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/Client/Section/Token.de.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/Client/Section/Token.en.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/Client/Section/Token.en.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/Client/Section/Token.en.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/Client/Section/Token.en.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/Client/Section/Token.es.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/Client/Section/Token.es.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/Client/Section/Token.es.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/Client/Section/Token.es.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/Client/Section/Token.fa.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/Client/Section/Token.fa.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/Client/Section/Token.fa.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/Client/Section/Token.fa.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/Client/Section/Token.fi.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/Client/Section/Token.fi.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/Client/Section/Token.fi.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/Client/Section/Token.fi.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/Client/Section/Token.fr.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/Client/Section/Token.fr.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/Client/Section/Token.fr.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/Client/Section/Token.fr.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/Client/Section/Token.pt.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/Client/Section/Token.pt.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/Client/Section/Token.pt.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/Client/Section/Token.pt.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/Client/Section/Token.ru.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/Client/Section/Token.ru.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/Client/Section/Token.ru.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/Client/Section/Token.ru.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/Client/Section/Token.sv.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/Client/Section/Token.sv.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/Client/Section/Token.sv.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/Client/Section/Token.sv.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/Client/Section/Token.zh.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/Client/Section/Token.zh.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/Client/Section/Token.zh.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/Client/Section/Token.zh.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/Client/Settings.da.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/Client/Settings.da.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/Client/Settings.da.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/Client/Settings.da.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/Client/Settings.de.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/Client/Settings.de.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/Client/Settings.de.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/Client/Settings.de.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/Client/Settings.en.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/Client/Settings.en.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/Client/Settings.en.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/Client/Settings.en.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/Client/Settings.es.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/Client/Settings.es.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/Client/Settings.es.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/Client/Settings.es.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/Client/Settings.fa.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/Client/Settings.fa.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/Client/Settings.fa.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/Client/Settings.fa.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/Client/Settings.fi.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/Client/Settings.fi.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/Client/Settings.fi.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/Client/Settings.fi.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/Client/Settings.fr.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/Client/Settings.fr.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/Client/Settings.fr.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/Client/Settings.fr.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/Client/Settings.pt.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/Client/Settings.pt.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/Client/Settings.pt.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/Client/Settings.pt.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/Client/Settings.ru.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/Client/Settings.ru.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/Client/Settings.ru.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/Client/Settings.ru.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/Client/Settings.sv.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/Client/Settings.sv.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/Client/Settings.sv.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/Client/Settings.sv.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/Client/Settings.zh.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/Client/Settings.zh.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/Client/Settings.zh.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/Client/Settings.zh.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ClientClaimDelete.da.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ClientClaimDelete.da.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ClientClaimDelete.da.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ClientClaimDelete.da.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ClientClaimDelete.de.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ClientClaimDelete.de.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ClientClaimDelete.de.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ClientClaimDelete.de.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ClientClaimDelete.en.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ClientClaimDelete.en.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ClientClaimDelete.en.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ClientClaimDelete.en.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ClientClaimDelete.es.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ClientClaimDelete.es.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ClientClaimDelete.es.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ClientClaimDelete.es.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ClientClaimDelete.fa.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ClientClaimDelete.fa.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ClientClaimDelete.fa.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ClientClaimDelete.fa.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ClientClaimDelete.fi.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ClientClaimDelete.fi.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ClientClaimDelete.fi.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ClientClaimDelete.fi.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ClientClaimDelete.fr.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ClientClaimDelete.fr.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ClientClaimDelete.fr.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ClientClaimDelete.fr.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ClientClaimDelete.pt.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ClientClaimDelete.pt.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ClientClaimDelete.pt.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ClientClaimDelete.pt.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ClientClaimDelete.ru.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ClientClaimDelete.ru.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ClientClaimDelete.ru.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ClientClaimDelete.ru.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ClientClaimDelete.sv.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ClientClaimDelete.sv.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ClientClaimDelete.sv.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ClientClaimDelete.sv.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ClientClaimDelete.zh.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ClientClaimDelete.zh.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ClientClaimDelete.zh.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ClientClaimDelete.zh.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ClientClaims.da.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ClientClaims.da.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ClientClaims.da.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ClientClaims.da.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ClientClaims.de.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ClientClaims.de.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ClientClaims.de.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ClientClaims.de.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ClientClaims.en.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ClientClaims.en.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ClientClaims.en.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ClientClaims.en.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ClientClaims.es.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ClientClaims.es.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ClientClaims.es.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ClientClaims.es.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ClientClaims.fa.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ClientClaims.fa.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ClientClaims.fa.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ClientClaims.fa.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ClientClaims.fi.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ClientClaims.fi.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ClientClaims.fi.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ClientClaims.fi.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ClientClaims.fr.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ClientClaims.fr.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ClientClaims.fr.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ClientClaims.fr.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ClientClaims.pt.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ClientClaims.pt.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ClientClaims.pt.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ClientClaims.pt.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ClientClaims.ru.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ClientClaims.ru.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ClientClaims.ru.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ClientClaims.ru.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ClientClaims.sv.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ClientClaims.sv.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ClientClaims.sv.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ClientClaims.sv.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ClientClaims.zh.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ClientClaims.zh.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ClientClaims.zh.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ClientClaims.zh.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ClientClone.da.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ClientClone.da.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ClientClone.da.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ClientClone.da.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ClientClone.de.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ClientClone.de.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ClientClone.de.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ClientClone.de.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ClientClone.en.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ClientClone.en.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ClientClone.en.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ClientClone.en.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ClientClone.es.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ClientClone.es.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ClientClone.es.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ClientClone.es.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ClientClone.fa.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ClientClone.fa.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ClientClone.fa.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ClientClone.fa.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ClientClone.fi.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ClientClone.fi.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ClientClone.fi.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ClientClone.fi.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ClientClone.fr.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ClientClone.fr.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ClientClone.fr.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ClientClone.fr.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ClientClone.pt.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ClientClone.pt.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ClientClone.pt.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ClientClone.pt.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ClientClone.ru.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ClientClone.ru.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ClientClone.ru.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ClientClone.ru.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ClientClone.sv.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ClientClone.sv.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ClientClone.sv.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ClientClone.sv.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ClientClone.zh.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ClientClone.zh.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ClientClone.zh.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ClientClone.zh.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ClientDelete.da.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ClientDelete.da.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ClientDelete.da.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ClientDelete.da.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ClientDelete.de.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ClientDelete.de.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ClientDelete.de.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ClientDelete.de.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ClientDelete.en.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ClientDelete.en.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ClientDelete.en.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ClientDelete.en.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ClientDelete.es.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ClientDelete.es.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ClientDelete.es.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ClientDelete.es.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ClientDelete.fa.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ClientDelete.fa.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ClientDelete.fa.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ClientDelete.fa.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ClientDelete.fi.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ClientDelete.fi.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ClientDelete.fi.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ClientDelete.fi.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ClientDelete.fr.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ClientDelete.fr.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ClientDelete.fr.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ClientDelete.fr.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ClientDelete.pt.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ClientDelete.pt.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ClientDelete.pt.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ClientDelete.pt.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ClientDelete.ru.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ClientDelete.ru.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ClientDelete.ru.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ClientDelete.ru.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ClientDelete.sv.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ClientDelete.sv.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ClientDelete.sv.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ClientDelete.sv.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ClientDelete.zh.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ClientDelete.zh.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ClientDelete.zh.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ClientDelete.zh.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ClientProperties.da.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ClientProperties.da.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ClientProperties.da.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ClientProperties.da.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ClientProperties.de.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ClientProperties.de.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ClientProperties.de.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ClientProperties.de.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ClientProperties.en.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ClientProperties.en.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ClientProperties.en.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ClientProperties.en.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ClientProperties.es.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ClientProperties.es.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ClientProperties.es.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ClientProperties.es.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ClientProperties.fa.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ClientProperties.fa.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ClientProperties.fa.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ClientProperties.fa.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ClientProperties.fi.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ClientProperties.fi.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ClientProperties.fi.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ClientProperties.fi.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ClientProperties.fr.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ClientProperties.fr.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ClientProperties.fr.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ClientProperties.fr.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ClientProperties.pt.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ClientProperties.pt.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ClientProperties.pt.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ClientProperties.pt.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ClientProperties.ru.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ClientProperties.ru.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ClientProperties.ru.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ClientProperties.ru.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ClientProperties.sv.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ClientProperties.sv.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ClientProperties.sv.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ClientProperties.sv.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ClientProperties.zh.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ClientProperties.zh.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ClientProperties.zh.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ClientProperties.zh.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ClientPropertyDelete.da.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ClientPropertyDelete.da.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ClientPropertyDelete.da.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ClientPropertyDelete.da.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ClientPropertyDelete.de.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ClientPropertyDelete.de.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ClientPropertyDelete.de.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ClientPropertyDelete.de.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ClientPropertyDelete.en.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ClientPropertyDelete.en.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ClientPropertyDelete.en.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ClientPropertyDelete.en.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ClientPropertyDelete.es.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ClientPropertyDelete.es.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ClientPropertyDelete.es.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ClientPropertyDelete.es.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ClientPropertyDelete.fa.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ClientPropertyDelete.fa.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ClientPropertyDelete.fa.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ClientPropertyDelete.fa.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ClientPropertyDelete.fi.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ClientPropertyDelete.fi.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ClientPropertyDelete.fi.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ClientPropertyDelete.fi.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ClientPropertyDelete.fr.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ClientPropertyDelete.fr.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ClientPropertyDelete.fr.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ClientPropertyDelete.fr.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ClientPropertyDelete.pt.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ClientPropertyDelete.pt.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ClientPropertyDelete.pt.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ClientPropertyDelete.pt.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ClientPropertyDelete.ru.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ClientPropertyDelete.ru.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ClientPropertyDelete.ru.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ClientPropertyDelete.ru.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ClientPropertyDelete.sv.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ClientPropertyDelete.sv.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ClientPropertyDelete.sv.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ClientPropertyDelete.sv.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ClientPropertyDelete.zh.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ClientPropertyDelete.zh.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ClientPropertyDelete.zh.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ClientPropertyDelete.zh.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ClientSecretDelete.da.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ClientSecretDelete.da.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ClientSecretDelete.da.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ClientSecretDelete.da.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ClientSecretDelete.de.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ClientSecretDelete.de.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ClientSecretDelete.de.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ClientSecretDelete.de.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ClientSecretDelete.en.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ClientSecretDelete.en.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ClientSecretDelete.en.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ClientSecretDelete.en.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ClientSecretDelete.es.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ClientSecretDelete.es.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ClientSecretDelete.es.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ClientSecretDelete.es.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ClientSecretDelete.fa.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ClientSecretDelete.fa.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ClientSecretDelete.fa.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ClientSecretDelete.fa.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ClientSecretDelete.fi.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ClientSecretDelete.fi.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ClientSecretDelete.fi.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ClientSecretDelete.fi.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ClientSecretDelete.fr.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ClientSecretDelete.fr.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ClientSecretDelete.fr.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ClientSecretDelete.fr.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ClientSecretDelete.pt.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ClientSecretDelete.pt.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ClientSecretDelete.pt.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ClientSecretDelete.pt.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ClientSecretDelete.ru.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ClientSecretDelete.ru.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ClientSecretDelete.ru.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ClientSecretDelete.ru.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ClientSecretDelete.sv.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ClientSecretDelete.sv.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ClientSecretDelete.sv.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ClientSecretDelete.sv.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ClientSecretDelete.zh.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ClientSecretDelete.zh.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ClientSecretDelete.zh.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ClientSecretDelete.zh.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ClientSecrets.da.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ClientSecrets.da.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ClientSecrets.da.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ClientSecrets.da.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ClientSecrets.de.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ClientSecrets.de.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ClientSecrets.de.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ClientSecrets.de.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ClientSecrets.en.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ClientSecrets.en.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ClientSecrets.en.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ClientSecrets.en.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ClientSecrets.es.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ClientSecrets.es.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ClientSecrets.es.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ClientSecrets.es.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ClientSecrets.fa.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ClientSecrets.fa.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ClientSecrets.fa.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ClientSecrets.fa.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ClientSecrets.fi.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ClientSecrets.fi.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ClientSecrets.fi.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ClientSecrets.fi.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ClientSecrets.fr.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ClientSecrets.fr.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ClientSecrets.fr.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ClientSecrets.fr.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ClientSecrets.pt.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ClientSecrets.pt.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ClientSecrets.pt.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ClientSecrets.pt.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ClientSecrets.ru.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ClientSecrets.ru.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ClientSecrets.ru.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ClientSecrets.ru.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ClientSecrets.sv.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ClientSecrets.sv.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ClientSecrets.sv.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ClientSecrets.sv.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ClientSecrets.zh.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ClientSecrets.zh.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/ClientSecrets.zh.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/ClientSecrets.zh.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/Clients.da.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/Clients.da.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/Clients.da.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/Clients.da.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/Clients.de.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/Clients.de.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/Clients.de.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/Clients.de.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/Clients.en.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/Clients.en.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/Clients.en.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/Clients.en.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/Clients.es.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/Clients.es.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/Clients.es.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/Clients.es.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/Clients.fa.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/Clients.fa.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/Clients.fa.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/Clients.fa.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/Clients.fi.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/Clients.fi.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/Clients.fi.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/Clients.fi.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/Clients.fr.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/Clients.fr.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/Clients.fr.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/Clients.fr.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/Clients.pt.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/Clients.pt.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/Clients.pt.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/Clients.pt.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/Clients.ru.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/Clients.ru.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/Clients.ru.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/Clients.ru.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/Clients.sv.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/Clients.sv.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/Clients.sv.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/Clients.sv.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/Clients.zh.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/Clients.zh.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/Clients.zh.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/Clients.zh.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/IdentityResource.da.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/IdentityResource.da.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/IdentityResource.da.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/IdentityResource.da.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/IdentityResource.de.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/IdentityResource.de.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/IdentityResource.de.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/IdentityResource.de.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/IdentityResource.en.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/IdentityResource.en.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/IdentityResource.en.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/IdentityResource.en.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/IdentityResource.es.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/IdentityResource.es.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/IdentityResource.es.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/IdentityResource.es.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/IdentityResource.fa.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/IdentityResource.fa.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/IdentityResource.fa.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/IdentityResource.fa.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/IdentityResource.fi.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/IdentityResource.fi.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/IdentityResource.fi.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/IdentityResource.fi.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/IdentityResource.fr.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/IdentityResource.fr.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/IdentityResource.fr.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/IdentityResource.fr.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/IdentityResource.pt.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/IdentityResource.pt.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/IdentityResource.pt.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/IdentityResource.pt.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/IdentityResource.ru.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/IdentityResource.ru.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/IdentityResource.ru.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/IdentityResource.ru.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/IdentityResource.sv.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/IdentityResource.sv.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/IdentityResource.sv.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/IdentityResource.sv.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/IdentityResource.zh.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/IdentityResource.zh.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/IdentityResource.zh.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/IdentityResource.zh.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/IdentityResource/Section/Label.da.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/IdentityResource/Section/Label.da.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/IdentityResource/Section/Label.da.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/IdentityResource/Section/Label.da.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/IdentityResource/Section/Label.de.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/IdentityResource/Section/Label.de.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/IdentityResource/Section/Label.de.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/IdentityResource/Section/Label.de.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/IdentityResource/Section/Label.en.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/IdentityResource/Section/Label.en.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/IdentityResource/Section/Label.en.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/IdentityResource/Section/Label.en.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/IdentityResource/Section/Label.es.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/IdentityResource/Section/Label.es.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/IdentityResource/Section/Label.es.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/IdentityResource/Section/Label.es.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/IdentityResource/Section/Label.fa.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/IdentityResource/Section/Label.fa.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/IdentityResource/Section/Label.fa.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/IdentityResource/Section/Label.fa.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/IdentityResource/Section/Label.fi.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/IdentityResource/Section/Label.fi.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/IdentityResource/Section/Label.fi.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/IdentityResource/Section/Label.fi.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/IdentityResource/Section/Label.fr.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/IdentityResource/Section/Label.fr.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/IdentityResource/Section/Label.fr.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/IdentityResource/Section/Label.fr.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/IdentityResource/Section/Label.pt.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/IdentityResource/Section/Label.pt.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/IdentityResource/Section/Label.pt.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/IdentityResource/Section/Label.pt.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/IdentityResource/Section/Label.ru.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/IdentityResource/Section/Label.ru.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/IdentityResource/Section/Label.ru.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/IdentityResource/Section/Label.ru.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/IdentityResource/Section/Label.sv.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/IdentityResource/Section/Label.sv.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/IdentityResource/Section/Label.sv.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/IdentityResource/Section/Label.sv.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/IdentityResource/Section/Label.zh.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/IdentityResource/Section/Label.zh.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/IdentityResource/Section/Label.zh.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/IdentityResource/Section/Label.zh.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/IdentityResourceDelete.da.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/IdentityResourceDelete.da.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/IdentityResourceDelete.da.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/IdentityResourceDelete.da.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/IdentityResourceDelete.de.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/IdentityResourceDelete.de.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/IdentityResourceDelete.de.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/IdentityResourceDelete.de.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/IdentityResourceDelete.en.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/IdentityResourceDelete.en.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/IdentityResourceDelete.en.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/IdentityResourceDelete.en.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/IdentityResourceDelete.es.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/IdentityResourceDelete.es.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/IdentityResourceDelete.es.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/IdentityResourceDelete.es.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/IdentityResourceDelete.fa.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/IdentityResourceDelete.fa.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/IdentityResourceDelete.fa.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/IdentityResourceDelete.fa.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/IdentityResourceDelete.fi.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/IdentityResourceDelete.fi.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/IdentityResourceDelete.fi.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/IdentityResourceDelete.fi.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/IdentityResourceDelete.fr.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/IdentityResourceDelete.fr.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/IdentityResourceDelete.fr.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/IdentityResourceDelete.fr.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/IdentityResourceDelete.pt.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/IdentityResourceDelete.pt.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/IdentityResourceDelete.pt.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/IdentityResourceDelete.pt.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/IdentityResourceDelete.ru.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/IdentityResourceDelete.ru.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/IdentityResourceDelete.ru.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/IdentityResourceDelete.ru.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/IdentityResourceDelete.sv.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/IdentityResourceDelete.sv.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/IdentityResourceDelete.sv.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/IdentityResourceDelete.sv.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/IdentityResourceDelete.zh.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/IdentityResourceDelete.zh.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/IdentityResourceDelete.zh.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/IdentityResourceDelete.zh.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/IdentityResourceProperties.da.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/IdentityResourceProperties.da.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/IdentityResourceProperties.da.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/IdentityResourceProperties.da.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/IdentityResourceProperties.de.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/IdentityResourceProperties.de.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/IdentityResourceProperties.de.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/IdentityResourceProperties.de.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/IdentityResourceProperties.en.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/IdentityResourceProperties.en.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/IdentityResourceProperties.en.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/IdentityResourceProperties.en.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/IdentityResourceProperties.es.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/IdentityResourceProperties.es.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/IdentityResourceProperties.es.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/IdentityResourceProperties.es.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/IdentityResourceProperties.fa.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/IdentityResourceProperties.fa.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/IdentityResourceProperties.fa.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/IdentityResourceProperties.fa.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/IdentityResourceProperties.fi.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/IdentityResourceProperties.fi.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/IdentityResourceProperties.fi.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/IdentityResourceProperties.fi.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/IdentityResourceProperties.fr.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/IdentityResourceProperties.fr.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/IdentityResourceProperties.fr.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/IdentityResourceProperties.fr.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/IdentityResourceProperties.pt.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/IdentityResourceProperties.pt.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/IdentityResourceProperties.pt.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/IdentityResourceProperties.pt.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/IdentityResourceProperties.ru.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/IdentityResourceProperties.ru.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/IdentityResourceProperties.ru.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/IdentityResourceProperties.ru.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/IdentityResourceProperties.sv.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/IdentityResourceProperties.sv.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/IdentityResourceProperties.sv.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/IdentityResourceProperties.sv.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/IdentityResourceProperties.zh.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/IdentityResourceProperties.zh.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/IdentityResourceProperties.zh.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/IdentityResourceProperties.zh.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/IdentityResourcePropertyDelete.da.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/IdentityResourcePropertyDelete.da.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/IdentityResourcePropertyDelete.da.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/IdentityResourcePropertyDelete.da.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/IdentityResourcePropertyDelete.de.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/IdentityResourcePropertyDelete.de.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/IdentityResourcePropertyDelete.de.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/IdentityResourcePropertyDelete.de.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/IdentityResourcePropertyDelete.en.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/IdentityResourcePropertyDelete.en.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/IdentityResourcePropertyDelete.en.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/IdentityResourcePropertyDelete.en.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/IdentityResourcePropertyDelete.es.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/IdentityResourcePropertyDelete.es.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/IdentityResourcePropertyDelete.es.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/IdentityResourcePropertyDelete.es.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/IdentityResourcePropertyDelete.fa.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/IdentityResourcePropertyDelete.fa.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/IdentityResourcePropertyDelete.fa.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/IdentityResourcePropertyDelete.fa.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/IdentityResourcePropertyDelete.fi.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/IdentityResourcePropertyDelete.fi.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/IdentityResourcePropertyDelete.fi.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/IdentityResourcePropertyDelete.fi.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/IdentityResourcePropertyDelete.fr.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/IdentityResourcePropertyDelete.fr.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/IdentityResourcePropertyDelete.fr.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/IdentityResourcePropertyDelete.fr.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/IdentityResourcePropertyDelete.pt.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/IdentityResourcePropertyDelete.pt.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/IdentityResourcePropertyDelete.pt.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/IdentityResourcePropertyDelete.pt.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/IdentityResourcePropertyDelete.ru.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/IdentityResourcePropertyDelete.ru.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/IdentityResourcePropertyDelete.ru.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/IdentityResourcePropertyDelete.ru.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/IdentityResourcePropertyDelete.sv.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/IdentityResourcePropertyDelete.sv.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/IdentityResourcePropertyDelete.sv.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/IdentityResourcePropertyDelete.sv.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/IdentityResourcePropertyDelete.zh.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/IdentityResourcePropertyDelete.zh.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/IdentityResourcePropertyDelete.zh.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/IdentityResourcePropertyDelete.zh.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/IdentityResources.da.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/IdentityResources.da.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/IdentityResources.da.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/IdentityResources.da.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/IdentityResources.de.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/IdentityResources.de.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/IdentityResources.de.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/IdentityResources.de.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/IdentityResources.en.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/IdentityResources.en.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/IdentityResources.en.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/IdentityResources.en.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/IdentityResources.es.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/IdentityResources.es.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/IdentityResources.es.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/IdentityResources.es.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/IdentityResources.fa.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/IdentityResources.fa.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/IdentityResources.fa.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/IdentityResources.fa.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/IdentityResources.fi.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/IdentityResources.fi.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/IdentityResources.fi.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/IdentityResources.fi.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/IdentityResources.fr.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/IdentityResources.fr.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/IdentityResources.fr.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/IdentityResources.fr.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/IdentityResources.pt.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/IdentityResources.pt.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/IdentityResources.pt.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/IdentityResources.pt.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/IdentityResources.ru.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/IdentityResources.ru.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/IdentityResources.ru.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/IdentityResources.ru.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/IdentityResources.sv.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/IdentityResources.sv.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/IdentityResources.sv.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/IdentityResources.sv.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/IdentityResources.zh.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/IdentityResources.zh.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Configuration/IdentityResources.zh.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Configuration/IdentityResources.zh.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Grant/PersistedGrant.da.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Grant/PersistedGrant.da.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Grant/PersistedGrant.da.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Grant/PersistedGrant.da.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Grant/PersistedGrant.de.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Grant/PersistedGrant.de.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Grant/PersistedGrant.de.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Grant/PersistedGrant.de.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Grant/PersistedGrant.en.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Grant/PersistedGrant.en.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Grant/PersistedGrant.en.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Grant/PersistedGrant.en.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Grant/PersistedGrant.es.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Grant/PersistedGrant.es.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Grant/PersistedGrant.es.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Grant/PersistedGrant.es.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Grant/PersistedGrant.fa.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Grant/PersistedGrant.fa.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Grant/PersistedGrant.fa.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Grant/PersistedGrant.fa.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Grant/PersistedGrant.fi.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Grant/PersistedGrant.fi.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Grant/PersistedGrant.fi.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Grant/PersistedGrant.fi.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Grant/PersistedGrant.fr.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Grant/PersistedGrant.fr.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Grant/PersistedGrant.fr.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Grant/PersistedGrant.fr.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Grant/PersistedGrant.pt.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Grant/PersistedGrant.pt.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Grant/PersistedGrant.pt.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Grant/PersistedGrant.pt.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Grant/PersistedGrant.ru.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Grant/PersistedGrant.ru.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Grant/PersistedGrant.ru.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Grant/PersistedGrant.ru.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Grant/PersistedGrant.sv.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Grant/PersistedGrant.sv.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Grant/PersistedGrant.sv.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Grant/PersistedGrant.sv.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Grant/PersistedGrant.zh.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Grant/PersistedGrant.zh.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Grant/PersistedGrant.zh.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Grant/PersistedGrant.zh.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Grant/PersistedGrantDelete.da.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Grant/PersistedGrantDelete.da.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Grant/PersistedGrantDelete.da.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Grant/PersistedGrantDelete.da.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Grant/PersistedGrantDelete.de.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Grant/PersistedGrantDelete.de.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Grant/PersistedGrantDelete.de.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Grant/PersistedGrantDelete.de.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Grant/PersistedGrantDelete.en.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Grant/PersistedGrantDelete.en.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Grant/PersistedGrantDelete.en.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Grant/PersistedGrantDelete.en.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Grant/PersistedGrantDelete.es.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Grant/PersistedGrantDelete.es.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Grant/PersistedGrantDelete.es.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Grant/PersistedGrantDelete.es.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Grant/PersistedGrantDelete.fa.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Grant/PersistedGrantDelete.fa.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Grant/PersistedGrantDelete.fa.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Grant/PersistedGrantDelete.fa.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Grant/PersistedGrantDelete.fi.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Grant/PersistedGrantDelete.fi.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Grant/PersistedGrantDelete.fi.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Grant/PersistedGrantDelete.fi.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Grant/PersistedGrantDelete.fr.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Grant/PersistedGrantDelete.fr.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Grant/PersistedGrantDelete.fr.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Grant/PersistedGrantDelete.fr.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Grant/PersistedGrantDelete.pt.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Grant/PersistedGrantDelete.pt.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Grant/PersistedGrantDelete.pt.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Grant/PersistedGrantDelete.pt.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Grant/PersistedGrantDelete.ru.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Grant/PersistedGrantDelete.ru.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Grant/PersistedGrantDelete.ru.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Grant/PersistedGrantDelete.ru.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Grant/PersistedGrantDelete.sv.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Grant/PersistedGrantDelete.sv.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Grant/PersistedGrantDelete.sv.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Grant/PersistedGrantDelete.sv.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Grant/PersistedGrantDelete.zh.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Grant/PersistedGrantDelete.zh.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Grant/PersistedGrantDelete.zh.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Grant/PersistedGrantDelete.zh.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Grant/PersistedGrants.da.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Grant/PersistedGrants.da.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Grant/PersistedGrants.da.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Grant/PersistedGrants.da.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Grant/PersistedGrants.de.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Grant/PersistedGrants.de.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Grant/PersistedGrants.de.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Grant/PersistedGrants.de.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Grant/PersistedGrants.en.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Grant/PersistedGrants.en.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Grant/PersistedGrants.en.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Grant/PersistedGrants.en.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Grant/PersistedGrants.es.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Grant/PersistedGrants.es.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Grant/PersistedGrants.es.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Grant/PersistedGrants.es.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Grant/PersistedGrants.fa.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Grant/PersistedGrants.fa.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Grant/PersistedGrants.fa.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Grant/PersistedGrants.fa.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Grant/PersistedGrants.fi.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Grant/PersistedGrants.fi.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Grant/PersistedGrants.fi.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Grant/PersistedGrants.fi.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Grant/PersistedGrants.fr.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Grant/PersistedGrants.fr.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Grant/PersistedGrants.fr.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Grant/PersistedGrants.fr.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Grant/PersistedGrants.pt.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Grant/PersistedGrants.pt.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Grant/PersistedGrants.pt.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Grant/PersistedGrants.pt.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Grant/PersistedGrants.ru.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Grant/PersistedGrants.ru.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Grant/PersistedGrants.ru.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Grant/PersistedGrants.ru.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Grant/PersistedGrants.sv.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Grant/PersistedGrants.sv.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Grant/PersistedGrants.sv.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Grant/PersistedGrants.sv.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Grant/PersistedGrants.zh.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Grant/PersistedGrants.zh.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Grant/PersistedGrants.zh.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Grant/PersistedGrants.zh.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Home/Index.da.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Home/Index.da.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Home/Index.da.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Home/Index.da.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Home/Index.de.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Home/Index.de.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Home/Index.de.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Home/Index.de.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Home/Index.en.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Home/Index.en.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Home/Index.en.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Home/Index.en.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Home/Index.es.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Home/Index.es.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Home/Index.es.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Home/Index.es.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Home/Index.fa.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Home/Index.fa.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Home/Index.fa.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Home/Index.fa.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Home/Index.fi.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Home/Index.fi.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Home/Index.fi.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Home/Index.fi.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Home/Index.fr.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Home/Index.fr.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Home/Index.fr.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Home/Index.fr.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Home/Index.pt.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Home/Index.pt.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Home/Index.pt.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Home/Index.pt.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Home/Index.ru.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Home/Index.ru.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Home/Index.ru.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Home/Index.ru.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Home/Index.sv.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Home/Index.sv.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Home/Index.sv.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Home/Index.sv.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Home/Index.zh.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Home/Index.zh.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Home/Index.zh.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Home/Index.zh.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/Role.da.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/Role.da.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/Role.da.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/Role.da.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/Role.de.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/Role.de.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/Role.de.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/Role.de.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/Role.en.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/Role.en.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/Role.en.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/Role.en.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/Role.es.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/Role.es.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/Role.es.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/Role.es.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/Role.fa.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/Role.fa.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/Role.fa.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/Role.fa.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/Role.fi.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/Role.fi.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/Role.fi.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/Role.fi.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/Role.fr.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/Role.fr.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/Role.fr.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/Role.fr.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/Role.pt.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/Role.pt.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/Role.pt.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/Role.pt.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/Role.ru.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/Role.ru.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/Role.ru.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/Role.ru.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/Role.sv.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/Role.sv.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/Role.sv.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/Role.sv.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/Role.zh.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/Role.zh.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/Role.zh.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/Role.zh.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/Role/Section/Label.da.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/Role/Section/Label.da.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/Role/Section/Label.da.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/Role/Section/Label.da.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/Role/Section/Label.de.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/Role/Section/Label.de.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/Role/Section/Label.de.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/Role/Section/Label.de.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/Role/Section/Label.en.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/Role/Section/Label.en.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/Role/Section/Label.en.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/Role/Section/Label.en.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/Role/Section/Label.es.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/Role/Section/Label.es.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/Role/Section/Label.es.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/Role/Section/Label.es.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/Role/Section/Label.fa.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/Role/Section/Label.fa.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/Role/Section/Label.fa.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/Role/Section/Label.fa.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/Role/Section/Label.fi.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/Role/Section/Label.fi.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/Role/Section/Label.fi.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/Role/Section/Label.fi.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/Role/Section/Label.fr.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/Role/Section/Label.fr.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/Role/Section/Label.fr.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/Role/Section/Label.fr.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/Role/Section/Label.pt.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/Role/Section/Label.pt.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/Role/Section/Label.pt.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/Role/Section/Label.pt.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/Role/Section/Label.ru.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/Role/Section/Label.ru.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/Role/Section/Label.ru.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/Role/Section/Label.ru.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/Role/Section/Label.sv.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/Role/Section/Label.sv.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/Role/Section/Label.sv.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/Role/Section/Label.sv.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/Role/Section/Label.zh.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/Role/Section/Label.zh.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/Role/Section/Label.zh.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/Role/Section/Label.zh.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/RoleClaims.da.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/RoleClaims.da.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/RoleClaims.da.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/RoleClaims.da.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/RoleClaims.de.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/RoleClaims.de.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/RoleClaims.de.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/RoleClaims.de.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/RoleClaims.en.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/RoleClaims.en.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/RoleClaims.en.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/RoleClaims.en.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/RoleClaims.es.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/RoleClaims.es.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/RoleClaims.es.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/RoleClaims.es.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/RoleClaims.fa.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/RoleClaims.fa.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/RoleClaims.fa.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/RoleClaims.fa.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/RoleClaims.fi.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/RoleClaims.fi.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/RoleClaims.fi.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/RoleClaims.fi.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/RoleClaims.fr.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/RoleClaims.fr.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/RoleClaims.fr.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/RoleClaims.fr.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/RoleClaims.pt.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/RoleClaims.pt.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/RoleClaims.pt.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/RoleClaims.pt.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/RoleClaims.ru.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/RoleClaims.ru.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/RoleClaims.ru.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/RoleClaims.ru.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/RoleClaims.sv.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/RoleClaims.sv.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/RoleClaims.sv.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/RoleClaims.sv.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/RoleClaims.zh.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/RoleClaims.zh.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/RoleClaims.zh.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/RoleClaims.zh.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/RoleClaimsDelete.da.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/RoleClaimsDelete.da.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/RoleClaimsDelete.da.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/RoleClaimsDelete.da.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/RoleClaimsDelete.de.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/RoleClaimsDelete.de.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/RoleClaimsDelete.de.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/RoleClaimsDelete.de.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/RoleClaimsDelete.en.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/RoleClaimsDelete.en.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/RoleClaimsDelete.en.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/RoleClaimsDelete.en.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/RoleClaimsDelete.es.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/RoleClaimsDelete.es.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/RoleClaimsDelete.es.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/RoleClaimsDelete.es.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/RoleClaimsDelete.fa.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/RoleClaimsDelete.fa.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/RoleClaimsDelete.fa.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/RoleClaimsDelete.fa.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/RoleClaimsDelete.fi.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/RoleClaimsDelete.fi.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/RoleClaimsDelete.fi.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/RoleClaimsDelete.fi.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/RoleClaimsDelete.fr.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/RoleClaimsDelete.fr.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/RoleClaimsDelete.fr.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/RoleClaimsDelete.fr.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/RoleClaimsDelete.pt.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/RoleClaimsDelete.pt.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/RoleClaimsDelete.pt.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/RoleClaimsDelete.pt.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/RoleClaimsDelete.ru.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/RoleClaimsDelete.ru.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/RoleClaimsDelete.ru.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/RoleClaimsDelete.ru.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/RoleClaimsDelete.sv.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/RoleClaimsDelete.sv.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/RoleClaimsDelete.sv.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/RoleClaimsDelete.sv.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/RoleClaimsDelete.zh.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/RoleClaimsDelete.zh.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/RoleClaimsDelete.zh.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/RoleClaimsDelete.zh.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/RoleDelete.da.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/RoleDelete.da.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/RoleDelete.da.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/RoleDelete.da.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/RoleDelete.de.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/RoleDelete.de.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/RoleDelete.de.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/RoleDelete.de.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/RoleDelete.en.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/RoleDelete.en.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/RoleDelete.en.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/RoleDelete.en.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/RoleDelete.es.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/RoleDelete.es.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/RoleDelete.es.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/RoleDelete.es.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/RoleDelete.fa.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/RoleDelete.fa.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/RoleDelete.fa.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/RoleDelete.fa.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/RoleDelete.fi.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/RoleDelete.fi.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/RoleDelete.fi.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/RoleDelete.fi.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/RoleDelete.fr.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/RoleDelete.fr.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/RoleDelete.fr.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/RoleDelete.fr.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/RoleDelete.pt.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/RoleDelete.pt.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/RoleDelete.pt.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/RoleDelete.pt.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/RoleDelete.ru.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/RoleDelete.ru.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/RoleDelete.ru.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/RoleDelete.ru.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/RoleDelete.sv.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/RoleDelete.sv.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/RoleDelete.sv.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/RoleDelete.sv.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/RoleDelete.zh.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/RoleDelete.zh.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/RoleDelete.zh.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/RoleDelete.zh.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/RoleUsers.da.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/RoleUsers.da.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/RoleUsers.da.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/RoleUsers.da.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/RoleUsers.de.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/RoleUsers.de.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/RoleUsers.de.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/RoleUsers.de.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/RoleUsers.en.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/RoleUsers.en.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/RoleUsers.en.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/RoleUsers.en.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/RoleUsers.es.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/RoleUsers.es.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/RoleUsers.es.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/RoleUsers.es.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/RoleUsers.fa.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/RoleUsers.fa.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/RoleUsers.fa.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/RoleUsers.fa.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/RoleUsers.fi.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/RoleUsers.fi.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/RoleUsers.fi.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/RoleUsers.fi.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/RoleUsers.fr.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/RoleUsers.fr.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/RoleUsers.fr.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/RoleUsers.fr.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/RoleUsers.pt.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/RoleUsers.pt.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/RoleUsers.pt.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/RoleUsers.pt.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/RoleUsers.ru.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/RoleUsers.ru.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/RoleUsers.ru.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/RoleUsers.ru.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/RoleUsers.sv.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/RoleUsers.sv.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/RoleUsers.sv.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/RoleUsers.sv.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/RoleUsers.zh.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/RoleUsers.zh.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/RoleUsers.zh.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/RoleUsers.zh.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/Roles.da.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/Roles.da.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/Roles.da.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/Roles.da.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/Roles.de.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/Roles.de.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/Roles.de.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/Roles.de.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/Roles.en.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/Roles.en.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/Roles.en.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/Roles.en.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/Roles.es.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/Roles.es.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/Roles.es.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/Roles.es.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/Roles.fa.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/Roles.fa.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/Roles.fa.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/Roles.fa.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/Roles.fi.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/Roles.fi.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/Roles.fi.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/Roles.fi.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/Roles.fr.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/Roles.fr.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/Roles.fr.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/Roles.fr.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/Roles.pt.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/Roles.pt.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/Roles.pt.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/Roles.pt.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/Roles.ru.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/Roles.ru.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/Roles.ru.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/Roles.ru.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/Roles.sv.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/Roles.sv.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/Roles.sv.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/Roles.sv.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/Roles.zh.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/Roles.zh.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/Roles.zh.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/Roles.zh.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/User/Section/Label.da.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/User/Section/Label.da.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/User/Section/Label.da.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/User/Section/Label.da.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/User/Section/Label.de.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/User/Section/Label.de.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/User/Section/Label.de.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/User/Section/Label.de.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/User/Section/Label.en.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/User/Section/Label.en.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/User/Section/Label.en.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/User/Section/Label.en.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/User/Section/Label.es.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/User/Section/Label.es.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/User/Section/Label.es.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/User/Section/Label.es.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/User/Section/Label.fa.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/User/Section/Label.fa.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/User/Section/Label.fa.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/User/Section/Label.fa.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/User/Section/Label.fi.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/User/Section/Label.fi.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/User/Section/Label.fi.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/User/Section/Label.fi.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/User/Section/Label.fr.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/User/Section/Label.fr.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/User/Section/Label.fr.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/User/Section/Label.fr.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/User/Section/Label.pt.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/User/Section/Label.pt.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/User/Section/Label.pt.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/User/Section/Label.pt.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/User/Section/Label.ru.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/User/Section/Label.ru.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/User/Section/Label.ru.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/User/Section/Label.ru.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/User/Section/Label.sv.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/User/Section/Label.sv.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/User/Section/Label.sv.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/User/Section/Label.sv.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/User/Section/Label.zh.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/User/Section/Label.zh.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/User/Section/Label.zh.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/User/Section/Label.zh.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/UserChangePassword.da.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/UserChangePassword.da.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/UserChangePassword.da.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/UserChangePassword.da.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/UserChangePassword.de.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/UserChangePassword.de.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/UserChangePassword.de.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/UserChangePassword.de.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/UserChangePassword.en.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/UserChangePassword.en.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/UserChangePassword.en.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/UserChangePassword.en.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/UserChangePassword.es.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/UserChangePassword.es.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/UserChangePassword.es.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/UserChangePassword.es.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/UserChangePassword.fa.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/UserChangePassword.fa.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/UserChangePassword.fa.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/UserChangePassword.fa.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/UserChangePassword.fi.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/UserChangePassword.fi.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/UserChangePassword.fi.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/UserChangePassword.fi.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/UserChangePassword.fr.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/UserChangePassword.fr.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/UserChangePassword.fr.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/UserChangePassword.fr.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/UserChangePassword.pt.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/UserChangePassword.pt.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/UserChangePassword.pt.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/UserChangePassword.pt.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/UserChangePassword.ru.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/UserChangePassword.ru.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/UserChangePassword.ru.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/UserChangePassword.ru.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/UserChangePassword.sv.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/UserChangePassword.sv.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/UserChangePassword.sv.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/UserChangePassword.sv.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/UserChangePassword.zh.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/UserChangePassword.zh.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/UserChangePassword.zh.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/UserChangePassword.zh.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/UserClaims.da.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/UserClaims.da.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/UserClaims.da.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/UserClaims.da.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/UserClaims.de.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/UserClaims.de.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/UserClaims.de.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/UserClaims.de.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/UserClaims.en.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/UserClaims.en.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/UserClaims.en.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/UserClaims.en.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/UserClaims.es.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/UserClaims.es.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/UserClaims.es.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/UserClaims.es.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/UserClaims.fa.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/UserClaims.fa.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/UserClaims.fa.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/UserClaims.fa.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/UserClaims.fi.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/UserClaims.fi.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/UserClaims.fi.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/UserClaims.fi.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/UserClaims.fr.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/UserClaims.fr.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/UserClaims.fr.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/UserClaims.fr.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/UserClaims.pt.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/UserClaims.pt.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/UserClaims.pt.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/UserClaims.pt.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/UserClaims.ru.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/UserClaims.ru.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/UserClaims.ru.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/UserClaims.ru.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/UserClaims.sv.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/UserClaims.sv.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/UserClaims.sv.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/UserClaims.sv.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/UserClaims.zh.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/UserClaims.zh.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/UserClaims.zh.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/UserClaims.zh.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/UserClaimsDelete.da.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/UserClaimsDelete.da.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/UserClaimsDelete.da.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/UserClaimsDelete.da.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/UserClaimsDelete.de.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/UserClaimsDelete.de.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/UserClaimsDelete.de.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/UserClaimsDelete.de.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/UserClaimsDelete.en.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/UserClaimsDelete.en.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/UserClaimsDelete.en.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/UserClaimsDelete.en.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/UserClaimsDelete.es.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/UserClaimsDelete.es.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/UserClaimsDelete.es.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/UserClaimsDelete.es.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/UserClaimsDelete.fa.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/UserClaimsDelete.fa.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/UserClaimsDelete.fa.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/UserClaimsDelete.fa.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/UserClaimsDelete.fi.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/UserClaimsDelete.fi.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/UserClaimsDelete.fi.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/UserClaimsDelete.fi.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/UserClaimsDelete.fr.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/UserClaimsDelete.fr.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/UserClaimsDelete.fr.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/UserClaimsDelete.fr.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/UserClaimsDelete.pt.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/UserClaimsDelete.pt.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/UserClaimsDelete.pt.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/UserClaimsDelete.pt.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/UserClaimsDelete.ru.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/UserClaimsDelete.ru.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/UserClaimsDelete.ru.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/UserClaimsDelete.ru.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/UserClaimsDelete.sv.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/UserClaimsDelete.sv.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/UserClaimsDelete.sv.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/UserClaimsDelete.sv.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/UserClaimsDelete.zh.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/UserClaimsDelete.zh.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/UserClaimsDelete.zh.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/UserClaimsDelete.zh.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/UserDelete.da.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/UserDelete.da.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/UserDelete.da.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/UserDelete.da.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/UserDelete.de.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/UserDelete.de.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/UserDelete.de.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/UserDelete.de.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/UserDelete.en.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/UserDelete.en.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/UserDelete.en.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/UserDelete.en.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/UserDelete.es.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/UserDelete.es.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/UserDelete.es.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/UserDelete.es.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/UserDelete.fa.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/UserDelete.fa.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/UserDelete.fa.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/UserDelete.fa.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/UserDelete.fi.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/UserDelete.fi.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/UserDelete.fi.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/UserDelete.fi.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/UserDelete.fr.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/UserDelete.fr.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/UserDelete.fr.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/UserDelete.fr.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/UserDelete.pt.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/UserDelete.pt.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/UserDelete.pt.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/UserDelete.pt.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/UserDelete.ru.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/UserDelete.ru.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/UserDelete.ru.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/UserDelete.ru.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/UserDelete.sv.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/UserDelete.sv.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/UserDelete.sv.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/UserDelete.sv.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/UserDelete.zh.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/UserDelete.zh.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/UserDelete.zh.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/UserDelete.zh.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/UserProfile.da.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/UserProfile.da.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/UserProfile.da.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/UserProfile.da.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/UserProfile.de.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/UserProfile.de.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/UserProfile.de.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/UserProfile.de.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/UserProfile.en.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/UserProfile.en.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/UserProfile.en.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/UserProfile.en.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/UserProfile.es.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/UserProfile.es.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/UserProfile.es.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/UserProfile.es.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/UserProfile.fa.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/UserProfile.fa.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/UserProfile.fa.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/UserProfile.fa.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/UserProfile.fi.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/UserProfile.fi.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/UserProfile.fi.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/UserProfile.fi.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/UserProfile.fr.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/UserProfile.fr.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/UserProfile.fr.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/UserProfile.fr.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/UserProfile.pt.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/UserProfile.pt.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/UserProfile.pt.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/UserProfile.pt.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/UserProfile.ru.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/UserProfile.ru.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/UserProfile.ru.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/UserProfile.ru.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/UserProfile.sv.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/UserProfile.sv.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/UserProfile.sv.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/UserProfile.sv.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/UserProfile.zh.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/UserProfile.zh.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/UserProfile.zh.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/UserProfile.zh.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/UserProviders.da.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/UserProviders.da.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/UserProviders.da.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/UserProviders.da.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/UserProviders.de.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/UserProviders.de.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/UserProviders.de.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/UserProviders.de.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/UserProviders.en.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/UserProviders.en.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/UserProviders.en.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/UserProviders.en.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/UserProviders.es.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/UserProviders.es.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/UserProviders.es.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/UserProviders.es.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/UserProviders.fa.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/UserProviders.fa.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/UserProviders.fa.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/UserProviders.fa.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/UserProviders.fi.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/UserProviders.fi.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/UserProviders.fi.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/UserProviders.fi.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/UserProviders.fr.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/UserProviders.fr.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/UserProviders.fr.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/UserProviders.fr.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/UserProviders.pt.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/UserProviders.pt.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/UserProviders.pt.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/UserProviders.pt.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/UserProviders.ru.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/UserProviders.ru.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/UserProviders.ru.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/UserProviders.ru.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/UserProviders.sv.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/UserProviders.sv.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/UserProviders.sv.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/UserProviders.sv.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/UserProviders.zh.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/UserProviders.zh.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/UserProviders.zh.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/UserProviders.zh.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/UserProvidersDelete.da.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/UserProvidersDelete.da.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/UserProvidersDelete.da.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/UserProvidersDelete.da.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/UserProvidersDelete.de.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/UserProvidersDelete.de.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/UserProvidersDelete.de.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/UserProvidersDelete.de.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/UserProvidersDelete.en.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/UserProvidersDelete.en.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/UserProvidersDelete.en.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/UserProvidersDelete.en.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/UserProvidersDelete.es.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/UserProvidersDelete.es.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/UserProvidersDelete.es.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/UserProvidersDelete.es.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/UserProvidersDelete.fa.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/UserProvidersDelete.fa.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/UserProvidersDelete.fa.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/UserProvidersDelete.fa.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/UserProvidersDelete.fi.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/UserProvidersDelete.fi.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/UserProvidersDelete.fi.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/UserProvidersDelete.fi.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/UserProvidersDelete.fr.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/UserProvidersDelete.fr.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/UserProvidersDelete.fr.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/UserProvidersDelete.fr.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/UserProvidersDelete.pt.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/UserProvidersDelete.pt.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/UserProvidersDelete.pt.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/UserProvidersDelete.pt.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/UserProvidersDelete.ru.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/UserProvidersDelete.ru.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/UserProvidersDelete.ru.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/UserProvidersDelete.ru.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/UserProvidersDelete.sv.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/UserProvidersDelete.sv.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/UserProvidersDelete.sv.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/UserProvidersDelete.sv.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/UserProvidersDelete.zh.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/UserProvidersDelete.zh.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/UserProvidersDelete.zh.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/UserProvidersDelete.zh.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/UserRoles.da.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/UserRoles.da.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/UserRoles.da.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/UserRoles.da.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/UserRoles.de.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/UserRoles.de.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/UserRoles.de.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/UserRoles.de.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/UserRoles.en.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/UserRoles.en.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/UserRoles.en.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/UserRoles.en.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/UserRoles.es.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/UserRoles.es.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/UserRoles.es.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/UserRoles.es.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/UserRoles.fa.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/UserRoles.fa.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/UserRoles.fa.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/UserRoles.fa.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/UserRoles.fi.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/UserRoles.fi.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/UserRoles.fi.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/UserRoles.fi.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/UserRoles.fr.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/UserRoles.fr.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/UserRoles.fr.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/UserRoles.fr.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/UserRoles.pt.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/UserRoles.pt.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/UserRoles.pt.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/UserRoles.pt.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/UserRoles.ru.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/UserRoles.ru.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/UserRoles.ru.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/UserRoles.ru.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/UserRoles.sv.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/UserRoles.sv.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/UserRoles.sv.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/UserRoles.sv.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/UserRoles.zh.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/UserRoles.zh.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/UserRoles.zh.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/UserRoles.zh.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/UserRolesDelete.da.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/UserRolesDelete.da.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/UserRolesDelete.da.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/UserRolesDelete.da.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/UserRolesDelete.de.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/UserRolesDelete.de.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/UserRolesDelete.de.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/UserRolesDelete.de.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/UserRolesDelete.en.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/UserRolesDelete.en.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/UserRolesDelete.en.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/UserRolesDelete.en.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/UserRolesDelete.es.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/UserRolesDelete.es.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/UserRolesDelete.es.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/UserRolesDelete.es.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/UserRolesDelete.fa.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/UserRolesDelete.fa.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/UserRolesDelete.fa.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/UserRolesDelete.fa.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/UserRolesDelete.fi.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/UserRolesDelete.fi.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/UserRolesDelete.fi.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/UserRolesDelete.fi.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/UserRolesDelete.fr.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/UserRolesDelete.fr.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/UserRolesDelete.fr.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/UserRolesDelete.fr.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/UserRolesDelete.pt.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/UserRolesDelete.pt.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/UserRolesDelete.pt.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/UserRolesDelete.pt.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/UserRolesDelete.ru.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/UserRolesDelete.ru.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/UserRolesDelete.ru.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/UserRolesDelete.ru.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/UserRolesDelete.sv.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/UserRolesDelete.sv.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/UserRolesDelete.sv.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/UserRolesDelete.sv.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/UserRolesDelete.zh.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/UserRolesDelete.zh.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/UserRolesDelete.zh.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/UserRolesDelete.zh.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/Users.da.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/Users.da.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/Users.da.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/Users.da.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/Users.de.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/Users.de.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/Users.de.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/Users.de.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/Users.en.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/Users.en.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/Users.en.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/Users.en.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/Users.es.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/Users.es.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/Users.es.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/Users.es.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/Users.fa.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/Users.fa.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/Users.fa.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/Users.fa.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/Users.fi.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/Users.fi.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/Users.fi.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/Users.fi.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/Users.fr.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/Users.fr.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/Users.fr.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/Users.fr.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/Users.pt.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/Users.pt.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/Users.pt.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/Users.pt.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/Users.ru.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/Users.ru.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/Users.ru.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/Users.ru.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/Users.sv.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/Users.sv.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/Users.sv.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/Users.sv.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/Users.zh.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/Users.zh.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Identity/Users.zh.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Identity/Users.zh.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Log/AuditLog.da.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Log/AuditLog.da.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Log/AuditLog.da.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Log/AuditLog.da.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Log/AuditLog.de.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Log/AuditLog.de.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Log/AuditLog.de.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Log/AuditLog.de.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Log/AuditLog.en.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Log/AuditLog.en.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Log/AuditLog.en.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Log/AuditLog.en.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Log/AuditLog.es.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Log/AuditLog.es.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Log/AuditLog.es.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Log/AuditLog.es.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Log/AuditLog.fa.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Log/AuditLog.fa.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Log/AuditLog.fa.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Log/AuditLog.fa.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Log/AuditLog.fi.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Log/AuditLog.fi.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Log/AuditLog.fi.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Log/AuditLog.fi.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Log/AuditLog.fr.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Log/AuditLog.fr.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Log/AuditLog.fr.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Log/AuditLog.fr.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Log/AuditLog.pt.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Log/AuditLog.pt.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Log/AuditLog.pt.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Log/AuditLog.pt.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Log/AuditLog.ru.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Log/AuditLog.ru.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Log/AuditLog.ru.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Log/AuditLog.ru.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Log/AuditLog.sv.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Log/AuditLog.sv.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Log/AuditLog.sv.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Log/AuditLog.sv.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Log/AuditLog.zh.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Log/AuditLog.zh.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Log/AuditLog.zh.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Log/AuditLog.zh.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Log/ErrorsLog.da.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Log/ErrorsLog.da.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Log/ErrorsLog.da.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Log/ErrorsLog.da.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Log/ErrorsLog.de.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Log/ErrorsLog.de.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Log/ErrorsLog.de.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Log/ErrorsLog.de.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Log/ErrorsLog.en.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Log/ErrorsLog.en.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Log/ErrorsLog.en.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Log/ErrorsLog.en.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Log/ErrorsLog.es.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Log/ErrorsLog.es.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Log/ErrorsLog.es.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Log/ErrorsLog.es.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Log/ErrorsLog.fa.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Log/ErrorsLog.fa.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Log/ErrorsLog.fa.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Log/ErrorsLog.fa.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Log/ErrorsLog.fi.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Log/ErrorsLog.fi.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Log/ErrorsLog.fi.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Log/ErrorsLog.fi.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Log/ErrorsLog.fr.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Log/ErrorsLog.fr.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Log/ErrorsLog.fr.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Log/ErrorsLog.fr.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Log/ErrorsLog.pt.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Log/ErrorsLog.pt.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Log/ErrorsLog.pt.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Log/ErrorsLog.pt.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Log/ErrorsLog.ru.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Log/ErrorsLog.ru.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Log/ErrorsLog.ru.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Log/ErrorsLog.ru.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Log/ErrorsLog.sv.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Log/ErrorsLog.sv.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Log/ErrorsLog.sv.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Log/ErrorsLog.sv.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Log/ErrorsLog.zh.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Log/ErrorsLog.zh.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Log/ErrorsLog.zh.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Log/ErrorsLog.zh.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Shared/Common/ErrorPage.da.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Shared/Common/ErrorPage.da.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Shared/Common/ErrorPage.da.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Shared/Common/ErrorPage.da.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Shared/Common/ErrorPage.de.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Shared/Common/ErrorPage.de.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Shared/Common/ErrorPage.de.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Shared/Common/ErrorPage.de.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Shared/Common/ErrorPage.en.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Shared/Common/ErrorPage.en.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Shared/Common/ErrorPage.en.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Shared/Common/ErrorPage.en.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Shared/Common/ErrorPage.es.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Shared/Common/ErrorPage.es.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Shared/Common/ErrorPage.es.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Shared/Common/ErrorPage.es.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Shared/Common/ErrorPage.fa.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Shared/Common/ErrorPage.fa.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Shared/Common/ErrorPage.fa.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Shared/Common/ErrorPage.fa.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Shared/Common/ErrorPage.fi.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Shared/Common/ErrorPage.fi.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Shared/Common/ErrorPage.fi.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Shared/Common/ErrorPage.fi.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Shared/Common/ErrorPage.fr.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Shared/Common/ErrorPage.fr.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Shared/Common/ErrorPage.fr.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Shared/Common/ErrorPage.fr.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Shared/Common/ErrorPage.pt.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Shared/Common/ErrorPage.pt.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Shared/Common/ErrorPage.pt.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Shared/Common/ErrorPage.pt.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Shared/Common/ErrorPage.ru.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Shared/Common/ErrorPage.ru.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Shared/Common/ErrorPage.ru.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Shared/Common/ErrorPage.ru.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Shared/Common/ErrorPage.sv.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Shared/Common/ErrorPage.sv.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Shared/Common/ErrorPage.sv.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Shared/Common/ErrorPage.sv.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Shared/Common/ErrorPage.zh.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Shared/Common/ErrorPage.zh.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Shared/Common/ErrorPage.zh.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Shared/Common/ErrorPage.zh.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Shared/Common/Pager.da.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Shared/Common/Pager.da.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Shared/Common/Pager.da.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Shared/Common/Pager.da.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Shared/Common/Pager.de.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Shared/Common/Pager.de.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Shared/Common/Pager.de.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Shared/Common/Pager.de.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Shared/Common/Pager.en.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Shared/Common/Pager.en.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Shared/Common/Pager.en.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Shared/Common/Pager.en.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Shared/Common/Pager.es.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Shared/Common/Pager.es.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Shared/Common/Pager.es.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Shared/Common/Pager.es.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Shared/Common/Pager.fa.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Shared/Common/Pager.fa.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Shared/Common/Pager.fa.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Shared/Common/Pager.fa.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Shared/Common/Pager.fi.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Shared/Common/Pager.fi.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Shared/Common/Pager.fi.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Shared/Common/Pager.fi.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Shared/Common/Pager.fr.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Shared/Common/Pager.fr.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Shared/Common/Pager.fr.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Shared/Common/Pager.fr.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Shared/Common/Pager.pt.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Shared/Common/Pager.pt.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Shared/Common/Pager.pt.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Shared/Common/Pager.pt.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Shared/Common/Pager.ru.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Shared/Common/Pager.ru.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Shared/Common/Pager.ru.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Shared/Common/Pager.ru.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Shared/Common/Pager.sv.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Shared/Common/Pager.sv.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Shared/Common/Pager.sv.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Shared/Common/Pager.sv.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Shared/Common/Pager.zh.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Shared/Common/Pager.zh.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Shared/Common/Pager.zh.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Shared/Common/Pager.zh.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Shared/Common/PagerDynamic.de.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Shared/Common/PagerDynamic.de.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Shared/Common/PagerDynamic.de.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Shared/Common/PagerDynamic.de.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Shared/Common/PagerDynamic.en.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Shared/Common/PagerDynamic.en.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Shared/Common/PagerDynamic.en.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Shared/Common/PagerDynamic.en.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Shared/Common/PagerDynamic.es.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Shared/Common/PagerDynamic.es.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Shared/Common/PagerDynamic.es.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Shared/Common/PagerDynamic.es.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Shared/Common/PagerDynamic.fa.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Shared/Common/PagerDynamic.fa.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Shared/Common/PagerDynamic.fa.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Shared/Common/PagerDynamic.fa.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Shared/Common/PagerDynamic.fi.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Shared/Common/PagerDynamic.fi.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Shared/Common/PagerDynamic.fi.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Shared/Common/PagerDynamic.fi.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Shared/Common/PagerDynamic.fr.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Shared/Common/PagerDynamic.fr.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Shared/Common/PagerDynamic.fr.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Shared/Common/PagerDynamic.fr.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Shared/Common/PagerDynamic.pt.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Shared/Common/PagerDynamic.pt.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Shared/Common/PagerDynamic.pt.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Shared/Common/PagerDynamic.pt.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Shared/Common/PagerDynamic.ru.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Shared/Common/PagerDynamic.ru.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Shared/Common/PagerDynamic.ru.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Shared/Common/PagerDynamic.ru.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Shared/Common/PagerDynamic.sv.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Shared/Common/PagerDynamic.sv.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Shared/Common/PagerDynamic.sv.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Shared/Common/PagerDynamic.sv.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Shared/Common/Search.da.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Shared/Common/Search.da.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Shared/Common/Search.da.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Shared/Common/Search.da.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Shared/Common/Search.de.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Shared/Common/Search.de.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Shared/Common/Search.de.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Shared/Common/Search.de.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Shared/Common/Search.en.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Shared/Common/Search.en.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Shared/Common/Search.en.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Shared/Common/Search.en.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Shared/Common/Search.es.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Shared/Common/Search.es.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Shared/Common/Search.es.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Shared/Common/Search.es.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Shared/Common/Search.fa.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Shared/Common/Search.fa.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Shared/Common/Search.fa.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Shared/Common/Search.fa.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Shared/Common/Search.fi.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Shared/Common/Search.fi.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Shared/Common/Search.fi.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Shared/Common/Search.fi.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Shared/Common/Search.fr.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Shared/Common/Search.fr.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Shared/Common/Search.fr.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Shared/Common/Search.fr.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Shared/Common/Search.pt.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Shared/Common/Search.pt.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Shared/Common/Search.pt.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Shared/Common/Search.pt.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Shared/Common/Search.ru.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Shared/Common/Search.ru.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Shared/Common/Search.ru.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Shared/Common/Search.ru.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Shared/Common/Search.sv.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Shared/Common/Search.sv.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Shared/Common/Search.sv.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Shared/Common/Search.sv.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Shared/Common/Search.zh.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Shared/Common/Search.zh.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Shared/Common/Search.zh.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Shared/Common/Search.zh.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Shared/Common/SelectLanguage.da.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Shared/Common/SelectLanguage.da.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Shared/Common/SelectLanguage.da.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Shared/Common/SelectLanguage.da.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Shared/Common/SelectLanguage.de.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Shared/Common/SelectLanguage.de.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Shared/Common/SelectLanguage.de.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Shared/Common/SelectLanguage.de.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Shared/Common/SelectLanguage.en.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Shared/Common/SelectLanguage.en.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Shared/Common/SelectLanguage.en.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Shared/Common/SelectLanguage.en.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Shared/Common/SelectLanguage.es.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Shared/Common/SelectLanguage.es.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Shared/Common/SelectLanguage.es.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Shared/Common/SelectLanguage.es.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Shared/Common/SelectLanguage.fa.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Shared/Common/SelectLanguage.fa.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Shared/Common/SelectLanguage.fa.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Shared/Common/SelectLanguage.fa.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Shared/Common/SelectLanguage.fi.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Shared/Common/SelectLanguage.fi.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Shared/Common/SelectLanguage.fi.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Shared/Common/SelectLanguage.fi.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Shared/Common/SelectLanguage.fr.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Shared/Common/SelectLanguage.fr.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Shared/Common/SelectLanguage.fr.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Shared/Common/SelectLanguage.fr.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Shared/Common/SelectLanguage.pt.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Shared/Common/SelectLanguage.pt.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Shared/Common/SelectLanguage.pt.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Shared/Common/SelectLanguage.pt.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Shared/Common/SelectLanguage.ru.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Shared/Common/SelectLanguage.ru.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Shared/Common/SelectLanguage.ru.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Shared/Common/SelectLanguage.ru.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Shared/Common/SelectLanguage.sv.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Shared/Common/SelectLanguage.sv.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Shared/Common/SelectLanguage.sv.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Shared/Common/SelectLanguage.sv.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Shared/Common/SelectLanguage.zh.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Shared/Common/SelectLanguage.zh.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Shared/Common/SelectLanguage.zh.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Shared/Common/SelectLanguage.zh.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Shared/Components/IdentityServerLink/Default.da.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Shared/Components/IdentityServerLink/Default.da.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Shared/Components/IdentityServerLink/Default.da.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Shared/Components/IdentityServerLink/Default.da.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Shared/Components/IdentityServerLink/Default.de.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Shared/Components/IdentityServerLink/Default.de.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Shared/Components/IdentityServerLink/Default.de.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Shared/Components/IdentityServerLink/Default.de.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Shared/Components/IdentityServerLink/Default.en.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Shared/Components/IdentityServerLink/Default.en.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Shared/Components/IdentityServerLink/Default.en.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Shared/Components/IdentityServerLink/Default.en.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Shared/Components/IdentityServerLink/Default.es.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Shared/Components/IdentityServerLink/Default.es.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Shared/Components/IdentityServerLink/Default.es.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Shared/Components/IdentityServerLink/Default.es.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Shared/Components/IdentityServerLink/Default.fa.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Shared/Components/IdentityServerLink/Default.fa.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Shared/Components/IdentityServerLink/Default.fa.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Shared/Components/IdentityServerLink/Default.fa.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Shared/Components/IdentityServerLink/Default.fi.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Shared/Components/IdentityServerLink/Default.fi.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Shared/Components/IdentityServerLink/Default.fi.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Shared/Components/IdentityServerLink/Default.fi.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Shared/Components/IdentityServerLink/Default.fr.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Shared/Components/IdentityServerLink/Default.fr.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Shared/Components/IdentityServerLink/Default.fr.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Shared/Components/IdentityServerLink/Default.fr.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Shared/Components/IdentityServerLink/Default.pt.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Shared/Components/IdentityServerLink/Default.pt.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Shared/Components/IdentityServerLink/Default.pt.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Shared/Components/IdentityServerLink/Default.pt.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Shared/Components/IdentityServerLink/Default.ru.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Shared/Components/IdentityServerLink/Default.ru.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Shared/Components/IdentityServerLink/Default.ru.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Shared/Components/IdentityServerLink/Default.ru.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Shared/Components/IdentityServerLink/Default.sv.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Shared/Components/IdentityServerLink/Default.sv.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Shared/Components/IdentityServerLink/Default.sv.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Shared/Components/IdentityServerLink/Default.sv.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Shared/Components/IdentityServerLink/Default.zh.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Shared/Components/IdentityServerLink/Default.zh.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Shared/Components/IdentityServerLink/Default.zh.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Shared/Components/IdentityServerLink/Default.zh.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Shared/_Layout.da.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Shared/_Layout.da.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Shared/_Layout.da.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Shared/_Layout.da.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Shared/_Layout.de.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Shared/_Layout.de.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Shared/_Layout.de.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Shared/_Layout.de.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Shared/_Layout.en.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Shared/_Layout.en.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Shared/_Layout.en.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Shared/_Layout.en.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Shared/_Layout.es.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Shared/_Layout.es.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Shared/_Layout.es.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Shared/_Layout.es.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Shared/_Layout.fa.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Shared/_Layout.fa.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Shared/_Layout.fa.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Shared/_Layout.fa.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Shared/_Layout.fi.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Shared/_Layout.fi.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Shared/_Layout.fi.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Shared/_Layout.fi.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Shared/_Layout.fr.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Shared/_Layout.fr.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Shared/_Layout.fr.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Shared/_Layout.fr.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Shared/_Layout.pt.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Shared/_Layout.pt.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Shared/_Layout.pt.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Shared/_Layout.pt.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Shared/_Layout.ru.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Shared/_Layout.ru.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Shared/_Layout.ru.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Shared/_Layout.ru.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Shared/_Layout.sv.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Shared/_Layout.sv.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Shared/_Layout.sv.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Shared/_Layout.sv.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Views/Shared/_Layout.zh.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Shared/_Layout.zh.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Views/Shared/_Layout.zh.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Areas/AdminUI/Views/Shared/_Layout.zh.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Helpers/Identity/IdentityErrorMessages.en.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Helpers/Identity/IdentityErrorMessages.en.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Helpers/Identity/IdentityErrorMessages.en.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Helpers/Identity/IdentityErrorMessages.en.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Helpers/Identity/IdentityErrorMessages.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Helpers/Identity/IdentityErrorMessages.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Helpers/Identity/IdentityErrorMessages.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Helpers/Identity/IdentityErrorMessages.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Services/ApiResourceService.da.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Services/ApiResourceService.da.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Services/ApiResourceService.da.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Services/ApiResourceService.da.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Services/ApiResourceService.de.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Services/ApiResourceService.de.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Services/ApiResourceService.de.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Services/ApiResourceService.de.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Services/ApiResourceService.en.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Services/ApiResourceService.en.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Services/ApiResourceService.en.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Services/ApiResourceService.en.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Services/ApiResourceService.es.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Services/ApiResourceService.es.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Services/ApiResourceService.es.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Services/ApiResourceService.es.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Services/ApiResourceService.fa.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Services/ApiResourceService.fa.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Services/ApiResourceService.fa.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Services/ApiResourceService.fa.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Services/ApiResourceService.fi.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Services/ApiResourceService.fi.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Services/ApiResourceService.fi.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Services/ApiResourceService.fi.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Services/ApiResourceService.fr.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Services/ApiResourceService.fr.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Services/ApiResourceService.fr.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Services/ApiResourceService.fr.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Services/ApiResourceService.pt.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Services/ApiResourceService.pt.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Services/ApiResourceService.pt.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Services/ApiResourceService.pt.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Services/ApiResourceService.ru.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Services/ApiResourceService.ru.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Services/ApiResourceService.ru.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Services/ApiResourceService.ru.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Services/ApiResourceService.sv.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Services/ApiResourceService.sv.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Services/ApiResourceService.sv.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Services/ApiResourceService.sv.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Services/ApiResourceService.zh.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Services/ApiResourceService.zh.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Services/ApiResourceService.zh.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Services/ApiResourceService.zh.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Services/ClientService.da.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Services/ClientService.da.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Services/ClientService.da.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Services/ClientService.da.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Services/ClientService.de.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Services/ClientService.de.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Services/ClientService.de.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Services/ClientService.de.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Services/ClientService.en.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Services/ClientService.en.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Services/ClientService.en.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Services/ClientService.en.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Services/ClientService.es.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Services/ClientService.es.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Services/ClientService.es.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Services/ClientService.es.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Services/ClientService.fa.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Services/ClientService.fa.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Services/ClientService.fa.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Services/ClientService.fa.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Services/ClientService.fi.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Services/ClientService.fi.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Services/ClientService.fi.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Services/ClientService.fi.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Services/ClientService.fr.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Services/ClientService.fr.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Services/ClientService.fr.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Services/ClientService.fr.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Services/ClientService.pt.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Services/ClientService.pt.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Services/ClientService.pt.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Services/ClientService.pt.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Services/ClientService.ru.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Services/ClientService.ru.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Services/ClientService.ru.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Services/ClientService.ru.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Services/ClientService.sv.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Services/ClientService.sv.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Services/ClientService.sv.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Services/ClientService.sv.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Services/ClientService.zh.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Services/ClientService.zh.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Services/ClientService.zh.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Services/ClientService.zh.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Services/IdentityResourceService.da.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Services/IdentityResourceService.da.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Services/IdentityResourceService.da.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Services/IdentityResourceService.da.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Services/IdentityResourceService.de.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Services/IdentityResourceService.de.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Services/IdentityResourceService.de.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Services/IdentityResourceService.de.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Services/IdentityResourceService.en.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Services/IdentityResourceService.en.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Services/IdentityResourceService.en.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Services/IdentityResourceService.en.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Services/IdentityResourceService.es.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Services/IdentityResourceService.es.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Services/IdentityResourceService.es.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Services/IdentityResourceService.es.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Services/IdentityResourceService.fa.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Services/IdentityResourceService.fa.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Services/IdentityResourceService.fa.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Services/IdentityResourceService.fa.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Services/IdentityResourceService.fi.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Services/IdentityResourceService.fi.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Services/IdentityResourceService.fi.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Services/IdentityResourceService.fi.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Services/IdentityResourceService.fr.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Services/IdentityResourceService.fr.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Services/IdentityResourceService.fr.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Services/IdentityResourceService.fr.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Services/IdentityResourceService.pt.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Services/IdentityResourceService.pt.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Services/IdentityResourceService.pt.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Services/IdentityResourceService.pt.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Services/IdentityResourceService.ru.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Services/IdentityResourceService.ru.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Services/IdentityResourceService.ru.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Services/IdentityResourceService.ru.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Services/IdentityResourceService.sv.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Services/IdentityResourceService.sv.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Services/IdentityResourceService.sv.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Services/IdentityResourceService.sv.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Services/IdentityResourceService.zh.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Services/IdentityResourceService.zh.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Services/IdentityResourceService.zh.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Services/IdentityResourceService.zh.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Services/IdentityService.da.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Services/IdentityService.da.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Services/IdentityService.da.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Services/IdentityService.da.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Services/IdentityService.de.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Services/IdentityService.de.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Services/IdentityService.de.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Services/IdentityService.de.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Services/IdentityService.en.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Services/IdentityService.en.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Services/IdentityService.en.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Services/IdentityService.en.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Services/IdentityService.es.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Services/IdentityService.es.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Services/IdentityService.es.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Services/IdentityService.es.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Services/IdentityService.fa.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Services/IdentityService.fa.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Services/IdentityService.fa.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Services/IdentityService.fa.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Services/IdentityService.fi.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Services/IdentityService.fi.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Services/IdentityService.fi.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Services/IdentityService.fi.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Services/IdentityService.fr.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Services/IdentityService.fr.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Services/IdentityService.fr.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Services/IdentityService.fr.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Services/IdentityService.pt.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Services/IdentityService.pt.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Services/IdentityService.pt.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Services/IdentityService.pt.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Services/IdentityService.ru.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Services/IdentityService.ru.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Services/IdentityService.ru.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Services/IdentityService.ru.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Services/IdentityService.sv.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Services/IdentityService.sv.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Services/IdentityService.sv.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Services/IdentityService.sv.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Services/IdentityService.zh.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Services/IdentityService.zh.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Services/IdentityService.zh.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Services/IdentityService.zh.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Services/PersistedGrantService.da.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Services/PersistedGrantService.da.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Services/PersistedGrantService.da.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Services/PersistedGrantService.da.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Services/PersistedGrantService.de.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Services/PersistedGrantService.de.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Services/PersistedGrantService.de.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Services/PersistedGrantService.de.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Services/PersistedGrantService.en.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Services/PersistedGrantService.en.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Services/PersistedGrantService.en.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Services/PersistedGrantService.en.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Services/PersistedGrantService.es.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Services/PersistedGrantService.es.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Services/PersistedGrantService.es.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Services/PersistedGrantService.es.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Services/PersistedGrantService.fa.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Services/PersistedGrantService.fa.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Services/PersistedGrantService.fa.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Services/PersistedGrantService.fa.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Services/PersistedGrantService.fi.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Services/PersistedGrantService.fi.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Services/PersistedGrantService.fi.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Services/PersistedGrantService.fi.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Services/PersistedGrantService.fr.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Services/PersistedGrantService.fr.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Services/PersistedGrantService.fr.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Services/PersistedGrantService.fr.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Services/PersistedGrantService.pt.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Services/PersistedGrantService.pt.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Services/PersistedGrantService.pt.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Services/PersistedGrantService.pt.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Services/PersistedGrantService.ru.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Services/PersistedGrantService.ru.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Services/PersistedGrantService.ru.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Services/PersistedGrantService.ru.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Services/PersistedGrantService.sv.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Services/PersistedGrantService.sv.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Services/PersistedGrantService.sv.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Services/PersistedGrantService.sv.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Resources/Services/PersistedGrantService.zh.resx b/src/Skoruba.IdentityServer4.Admin.UI/Resources/Services/PersistedGrantService.zh.resx similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Resources/Services/PersistedGrantService.zh.resx rename to src/Skoruba.IdentityServer4.Admin.UI/Resources/Services/PersistedGrantService.zh.resx diff --git a/src/Skoruba.IdentityServer4.Admin/Scripts/App/components/DatePicker.js b/src/Skoruba.IdentityServer4.Admin.UI/Scripts/App/components/DatePicker.js similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Scripts/App/components/DatePicker.js rename to src/Skoruba.IdentityServer4.Admin.UI/Scripts/App/components/DatePicker.js diff --git a/src/Skoruba.IdentityServer4.Admin/Scripts/App/components/Menu.js b/src/Skoruba.IdentityServer4.Admin.UI/Scripts/App/components/Menu.js similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Scripts/App/components/Menu.js rename to src/Skoruba.IdentityServer4.Admin.UI/Scripts/App/components/Menu.js diff --git a/src/Skoruba.IdentityServer4.Admin/Scripts/App/components/Picker.es5.js b/src/Skoruba.IdentityServer4.Admin.UI/Scripts/App/components/Picker.es5.js similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Scripts/App/components/Picker.es5.js rename to src/Skoruba.IdentityServer4.Admin.UI/Scripts/App/components/Picker.es5.js diff --git a/src/Skoruba.IdentityServer4.Admin/Scripts/App/components/Picker.es5.min.js b/src/Skoruba.IdentityServer4.Admin.UI/Scripts/App/components/Picker.es5.min.js similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Scripts/App/components/Picker.es5.min.js rename to src/Skoruba.IdentityServer4.Admin.UI/Scripts/App/components/Picker.es5.min.js diff --git a/src/Skoruba.IdentityServer4.Admin/Scripts/App/components/Picker.js b/src/Skoruba.IdentityServer4.Admin.UI/Scripts/App/components/Picker.js similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Scripts/App/components/Picker.js rename to src/Skoruba.IdentityServer4.Admin.UI/Scripts/App/components/Picker.js diff --git a/src/Skoruba.IdentityServer4.Admin/Scripts/App/components/Picker.min.js b/src/Skoruba.IdentityServer4.Admin.UI/Scripts/App/components/Picker.min.js similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Scripts/App/components/Picker.min.js rename to src/Skoruba.IdentityServer4.Admin.UI/Scripts/App/components/Picker.min.js diff --git a/src/Skoruba.IdentityServer4.Admin/Scripts/App/components/Theme.js b/src/Skoruba.IdentityServer4.Admin.UI/Scripts/App/components/Theme.js similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Scripts/App/components/Theme.js rename to src/Skoruba.IdentityServer4.Admin.UI/Scripts/App/components/Theme.js diff --git a/src/Skoruba.IdentityServer4.Admin/Scripts/App/helpers/DateTimeHelpers.js b/src/Skoruba.IdentityServer4.Admin.UI/Scripts/App/helpers/DateTimeHelpers.js similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Scripts/App/helpers/DateTimeHelpers.js rename to src/Skoruba.IdentityServer4.Admin.UI/Scripts/App/helpers/DateTimeHelpers.js diff --git a/src/Skoruba.IdentityServer4.Admin/Scripts/App/helpers/FormMvcHelpers.js b/src/Skoruba.IdentityServer4.Admin.UI/Scripts/App/helpers/FormMvcHelpers.js similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Scripts/App/helpers/FormMvcHelpers.js rename to src/Skoruba.IdentityServer4.Admin.UI/Scripts/App/helpers/FormMvcHelpers.js diff --git a/src/Skoruba.IdentityServer4.Admin/Scripts/App/helpers/jsontree.min.js b/src/Skoruba.IdentityServer4.Admin.UI/Scripts/App/helpers/jsontree.min.js similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Scripts/App/helpers/jsontree.min.js rename to src/Skoruba.IdentityServer4.Admin.UI/Scripts/App/helpers/jsontree.min.js diff --git a/src/Skoruba.IdentityServer4.Admin/Scripts/App/pages/AuditLog.js b/src/Skoruba.IdentityServer4.Admin.UI/Scripts/App/pages/AuditLog.js similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Scripts/App/pages/AuditLog.js rename to src/Skoruba.IdentityServer4.Admin.UI/Scripts/App/pages/AuditLog.js diff --git a/src/Skoruba.IdentityServer4.Admin/Scripts/App/pages/ErrorsLog.js b/src/Skoruba.IdentityServer4.Admin.UI/Scripts/App/pages/ErrorsLog.js similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Scripts/App/pages/ErrorsLog.js rename to src/Skoruba.IdentityServer4.Admin.UI/Scripts/App/pages/ErrorsLog.js diff --git a/src/Skoruba.IdentityServer4.Admin/Scripts/App/pages/Secrets.js b/src/Skoruba.IdentityServer4.Admin.UI/Scripts/App/pages/Secrets.js similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Scripts/App/pages/Secrets.js rename to src/Skoruba.IdentityServer4.Admin.UI/Scripts/App/pages/Secrets.js diff --git a/src/Skoruba.IdentityServer4.Admin.UI/Skoruba.IdentityServer4.Admin.UI.csproj b/src/Skoruba.IdentityServer4.Admin.UI/Skoruba.IdentityServer4.Admin.UI.csproj new file mode 100644 index 000000000..bca928aa8 --- /dev/null +++ b/src/Skoruba.IdentityServer4.Admin.UI/Skoruba.IdentityServer4.Admin.UI.csproj @@ -0,0 +1,115 @@ + + + + netcoreapp3.1 + 1.0.0 + Jan Škoruba + latest + true + / + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/Skoruba.IdentityServer4.Admin/Styles/common/_all.scss b/src/Skoruba.IdentityServer4.Admin.UI/Styles/common/_all.scss similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Styles/common/_all.scss rename to src/Skoruba.IdentityServer4.Admin.UI/Styles/common/_all.scss diff --git a/src/Skoruba.IdentityServer4.Admin/Styles/common/common.scss b/src/Skoruba.IdentityServer4.Admin.UI/Styles/common/common.scss similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Styles/common/common.scss rename to src/Skoruba.IdentityServer4.Admin.UI/Styles/common/common.scss diff --git a/src/Skoruba.IdentityServer4.Admin/Styles/common/fonts.scss b/src/Skoruba.IdentityServer4.Admin.UI/Styles/common/fonts.scss similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Styles/common/fonts.scss rename to src/Skoruba.IdentityServer4.Admin.UI/Styles/common/fonts.scss diff --git a/src/Skoruba.IdentityServer4.Admin/Styles/common/form.scss b/src/Skoruba.IdentityServer4.Admin.UI/Styles/common/form.scss similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Styles/common/form.scss rename to src/Skoruba.IdentityServer4.Admin.UI/Styles/common/form.scss diff --git a/src/Skoruba.IdentityServer4.Admin/Styles/common/margin.css b/src/Skoruba.IdentityServer4.Admin.UI/Styles/common/margin.css similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Styles/common/margin.css rename to src/Skoruba.IdentityServer4.Admin.UI/Styles/common/margin.css diff --git a/src/Skoruba.IdentityServer4.Admin/Styles/common/margin.min.css b/src/Skoruba.IdentityServer4.Admin.UI/Styles/common/margin.min.css similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Styles/common/margin.min.css rename to src/Skoruba.IdentityServer4.Admin.UI/Styles/common/margin.min.css diff --git a/src/Skoruba.IdentityServer4.Admin/Styles/common/margin.scss b/src/Skoruba.IdentityServer4.Admin.UI/Styles/common/margin.scss similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Styles/common/margin.scss rename to src/Skoruba.IdentityServer4.Admin.UI/Styles/common/margin.scss diff --git a/src/Skoruba.IdentityServer4.Admin/Styles/common/padding.css b/src/Skoruba.IdentityServer4.Admin.UI/Styles/common/padding.css similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Styles/common/padding.css rename to src/Skoruba.IdentityServer4.Admin.UI/Styles/common/padding.css diff --git a/src/Skoruba.IdentityServer4.Admin/Styles/common/padding.min.css b/src/Skoruba.IdentityServer4.Admin.UI/Styles/common/padding.min.css similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Styles/common/padding.min.css rename to src/Skoruba.IdentityServer4.Admin.UI/Styles/common/padding.min.css diff --git a/src/Skoruba.IdentityServer4.Admin/Styles/common/padding.scss b/src/Skoruba.IdentityServer4.Admin.UI/Styles/common/padding.scss similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Styles/common/padding.scss rename to src/Skoruba.IdentityServer4.Admin.UI/Styles/common/padding.scss diff --git a/src/Skoruba.IdentityServer4.Admin/Styles/controls/_all.scss b/src/Skoruba.IdentityServer4.Admin.UI/Styles/controls/_all.scss similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Styles/controls/_all.scss rename to src/Skoruba.IdentityServer4.Admin.UI/Styles/controls/_all.scss diff --git a/src/Skoruba.IdentityServer4.Admin/Styles/controls/checkbox.scss b/src/Skoruba.IdentityServer4.Admin.UI/Styles/controls/checkbox.scss similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Styles/controls/checkbox.scss rename to src/Skoruba.IdentityServer4.Admin.UI/Styles/controls/checkbox.scss diff --git a/src/Skoruba.IdentityServer4.Admin/Styles/controls/jsontree.css b/src/Skoruba.IdentityServer4.Admin.UI/Styles/controls/jsontree.css similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Styles/controls/jsontree.css rename to src/Skoruba.IdentityServer4.Admin.UI/Styles/controls/jsontree.css diff --git a/src/Skoruba.IdentityServer4.Admin/Styles/controls/navbar.scss b/src/Skoruba.IdentityServer4.Admin.UI/Styles/controls/navbar.scss similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Styles/controls/navbar.scss rename to src/Skoruba.IdentityServer4.Admin.UI/Styles/controls/navbar.scss diff --git a/src/Skoruba.IdentityServer4.Admin/Styles/controls/picker.scss b/src/Skoruba.IdentityServer4.Admin.UI/Styles/controls/picker.scss similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Styles/controls/picker.scss rename to src/Skoruba.IdentityServer4.Admin.UI/Styles/controls/picker.scss diff --git a/src/Skoruba.IdentityServer4.Admin/Styles/controls/radio.scss b/src/Skoruba.IdentityServer4.Admin.UI/Styles/controls/radio.scss similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Styles/controls/radio.scss rename to src/Skoruba.IdentityServer4.Admin.UI/Styles/controls/radio.scss diff --git a/src/Skoruba.IdentityServer4.Admin/Styles/controls/toastr.scss b/src/Skoruba.IdentityServer4.Admin.UI/Styles/controls/toastr.scss similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Styles/controls/toastr.scss rename to src/Skoruba.IdentityServer4.Admin.UI/Styles/controls/toastr.scss diff --git a/src/Skoruba.IdentityServer4.Admin/Styles/controls/validation.summary.css b/src/Skoruba.IdentityServer4.Admin.UI/Styles/controls/validation.summary.css similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Styles/controls/validation.summary.css rename to src/Skoruba.IdentityServer4.Admin.UI/Styles/controls/validation.summary.css diff --git a/src/Skoruba.IdentityServer4.Admin/Styles/controls/validation.summary.min.css b/src/Skoruba.IdentityServer4.Admin.UI/Styles/controls/validation.summary.min.css similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Styles/controls/validation.summary.min.css rename to src/Skoruba.IdentityServer4.Admin.UI/Styles/controls/validation.summary.min.css diff --git a/src/Skoruba.IdentityServer4.Admin/Styles/controls/validation.summary.scss b/src/Skoruba.IdentityServer4.Admin.UI/Styles/controls/validation.summary.scss similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Styles/controls/validation.summary.scss rename to src/Skoruba.IdentityServer4.Admin.UI/Styles/controls/validation.summary.scss diff --git a/src/Skoruba.IdentityServer4.Admin/Styles/pages/_all.scss b/src/Skoruba.IdentityServer4.Admin.UI/Styles/pages/_all.scss similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Styles/pages/_all.scss rename to src/Skoruba.IdentityServer4.Admin.UI/Styles/pages/_all.scss diff --git a/src/Skoruba.IdentityServer4.Admin/Styles/pages/auditlog.scss b/src/Skoruba.IdentityServer4.Admin.UI/Styles/pages/auditlog.scss similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Styles/pages/auditlog.scss rename to src/Skoruba.IdentityServer4.Admin.UI/Styles/pages/auditlog.scss diff --git a/src/Skoruba.IdentityServer4.Admin/Styles/pages/client.scss b/src/Skoruba.IdentityServer4.Admin.UI/Styles/pages/client.scss similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Styles/pages/client.scss rename to src/Skoruba.IdentityServer4.Admin.UI/Styles/pages/client.scss diff --git a/src/Skoruba.IdentityServer4.Admin/Styles/web.css b/src/Skoruba.IdentityServer4.Admin.UI/Styles/web.css similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Styles/web.css rename to src/Skoruba.IdentityServer4.Admin.UI/Styles/web.css diff --git a/src/Skoruba.IdentityServer4.Admin/Styles/web.min.css b/src/Skoruba.IdentityServer4.Admin.UI/Styles/web.min.css similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Styles/web.min.css rename to src/Skoruba.IdentityServer4.Admin.UI/Styles/web.min.css diff --git a/src/Skoruba.IdentityServer4.Admin/Styles/web.scss b/src/Skoruba.IdentityServer4.Admin.UI/Styles/web.scss similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/Styles/web.scss rename to src/Skoruba.IdentityServer4.Admin.UI/Styles/web.scss diff --git a/src/Skoruba.IdentityServer4.Admin.UI/ViewComponents/IdentityServerLinkViewComponent.cs b/src/Skoruba.IdentityServer4.Admin.UI/ViewComponents/IdentityServerLinkViewComponent.cs new file mode 100644 index 000000000..cc290329d --- /dev/null +++ b/src/Skoruba.IdentityServer4.Admin.UI/ViewComponents/IdentityServerLinkViewComponent.cs @@ -0,0 +1,22 @@ +using Microsoft.AspNetCore.Mvc; +using Skoruba.IdentityServer4.Admin.UI.Configuration; + +namespace Skoruba.IdentityServer4.Admin.UI.ViewComponents +{ + public class IdentityServerLinkViewComponent : ViewComponent + { + private readonly AdminConfiguration _configuration; + + public IdentityServerLinkViewComponent(AdminConfiguration configuration) + { + _configuration = configuration; + } + + public IViewComponentResult Invoke() + { + var identityServerUrl = _configuration.IdentityServerBaseUrl; + + return View(model: identityServerUrl); + } + } +} diff --git a/src/Skoruba.IdentityServer4.Admin/gulpfile.js b/src/Skoruba.IdentityServer4.Admin.UI/gulpfile.js similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/gulpfile.js rename to src/Skoruba.IdentityServer4.Admin.UI/gulpfile.js diff --git a/src/Skoruba.IdentityServer4.Admin/package-lock.json b/src/Skoruba.IdentityServer4.Admin.UI/package-lock.json similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/package-lock.json rename to src/Skoruba.IdentityServer4.Admin.UI/package-lock.json diff --git a/src/Skoruba.IdentityServer4.Admin/package.json b/src/Skoruba.IdentityServer4.Admin.UI/package.json similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/package.json rename to src/Skoruba.IdentityServer4.Admin.UI/package.json diff --git a/src/Skoruba.IdentityServer4.Admin/wwwroot/dist/css/bundle.min.css b/src/Skoruba.IdentityServer4.Admin.UI/wwwroot/dist/css/bundle.min.css similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/wwwroot/dist/css/bundle.min.css rename to src/Skoruba.IdentityServer4.Admin.UI/wwwroot/dist/css/bundle.min.css diff --git a/src/Skoruba.IdentityServer4.Admin/wwwroot/dist/css/themes/cerulean/bootstrap.min.css b/src/Skoruba.IdentityServer4.Admin.UI/wwwroot/dist/css/themes/cerulean/bootstrap.min.css similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/wwwroot/dist/css/themes/cerulean/bootstrap.min.css rename to src/Skoruba.IdentityServer4.Admin.UI/wwwroot/dist/css/themes/cerulean/bootstrap.min.css diff --git a/src/Skoruba.IdentityServer4.Admin/wwwroot/dist/css/themes/cosmo/bootstrap.min.css b/src/Skoruba.IdentityServer4.Admin.UI/wwwroot/dist/css/themes/cosmo/bootstrap.min.css similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/wwwroot/dist/css/themes/cosmo/bootstrap.min.css rename to src/Skoruba.IdentityServer4.Admin.UI/wwwroot/dist/css/themes/cosmo/bootstrap.min.css diff --git a/src/Skoruba.IdentityServer4.Admin/wwwroot/dist/css/themes/cyborg/bootstrap.min.css b/src/Skoruba.IdentityServer4.Admin.UI/wwwroot/dist/css/themes/cyborg/bootstrap.min.css similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/wwwroot/dist/css/themes/cyborg/bootstrap.min.css rename to src/Skoruba.IdentityServer4.Admin.UI/wwwroot/dist/css/themes/cyborg/bootstrap.min.css diff --git a/src/Skoruba.IdentityServer4.Admin/wwwroot/dist/css/themes/darkly/bootstrap.min.css b/src/Skoruba.IdentityServer4.Admin.UI/wwwroot/dist/css/themes/darkly/bootstrap.min.css similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/wwwroot/dist/css/themes/darkly/bootstrap.min.css rename to src/Skoruba.IdentityServer4.Admin.UI/wwwroot/dist/css/themes/darkly/bootstrap.min.css diff --git a/src/Skoruba.IdentityServer4.Admin/wwwroot/dist/css/themes/flatly/bootstrap.min.css b/src/Skoruba.IdentityServer4.Admin.UI/wwwroot/dist/css/themes/flatly/bootstrap.min.css similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/wwwroot/dist/css/themes/flatly/bootstrap.min.css rename to src/Skoruba.IdentityServer4.Admin.UI/wwwroot/dist/css/themes/flatly/bootstrap.min.css diff --git a/src/Skoruba.IdentityServer4.Admin/wwwroot/dist/css/themes/journal/bootstrap.min.css b/src/Skoruba.IdentityServer4.Admin.UI/wwwroot/dist/css/themes/journal/bootstrap.min.css similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/wwwroot/dist/css/themes/journal/bootstrap.min.css rename to src/Skoruba.IdentityServer4.Admin.UI/wwwroot/dist/css/themes/journal/bootstrap.min.css diff --git a/src/Skoruba.IdentityServer4.Admin/wwwroot/dist/css/themes/litera/bootstrap.min.css b/src/Skoruba.IdentityServer4.Admin.UI/wwwroot/dist/css/themes/litera/bootstrap.min.css similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/wwwroot/dist/css/themes/litera/bootstrap.min.css rename to src/Skoruba.IdentityServer4.Admin.UI/wwwroot/dist/css/themes/litera/bootstrap.min.css diff --git a/src/Skoruba.IdentityServer4.Admin/wwwroot/dist/css/themes/lumen/bootstrap.min.css b/src/Skoruba.IdentityServer4.Admin.UI/wwwroot/dist/css/themes/lumen/bootstrap.min.css similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/wwwroot/dist/css/themes/lumen/bootstrap.min.css rename to src/Skoruba.IdentityServer4.Admin.UI/wwwroot/dist/css/themes/lumen/bootstrap.min.css diff --git a/src/Skoruba.IdentityServer4.Admin/wwwroot/dist/css/themes/lux/bootstrap.min.css b/src/Skoruba.IdentityServer4.Admin.UI/wwwroot/dist/css/themes/lux/bootstrap.min.css similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/wwwroot/dist/css/themes/lux/bootstrap.min.css rename to src/Skoruba.IdentityServer4.Admin.UI/wwwroot/dist/css/themes/lux/bootstrap.min.css diff --git a/src/Skoruba.IdentityServer4.Admin/wwwroot/dist/css/themes/materia/bootstrap.min.css b/src/Skoruba.IdentityServer4.Admin.UI/wwwroot/dist/css/themes/materia/bootstrap.min.css similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/wwwroot/dist/css/themes/materia/bootstrap.min.css rename to src/Skoruba.IdentityServer4.Admin.UI/wwwroot/dist/css/themes/materia/bootstrap.min.css diff --git a/src/Skoruba.IdentityServer4.Admin/wwwroot/dist/css/themes/minty/bootstrap.min.css b/src/Skoruba.IdentityServer4.Admin.UI/wwwroot/dist/css/themes/minty/bootstrap.min.css similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/wwwroot/dist/css/themes/minty/bootstrap.min.css rename to src/Skoruba.IdentityServer4.Admin.UI/wwwroot/dist/css/themes/minty/bootstrap.min.css diff --git a/src/Skoruba.IdentityServer4.Admin/wwwroot/dist/css/themes/pulse/bootstrap.min.css b/src/Skoruba.IdentityServer4.Admin.UI/wwwroot/dist/css/themes/pulse/bootstrap.min.css similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/wwwroot/dist/css/themes/pulse/bootstrap.min.css rename to src/Skoruba.IdentityServer4.Admin.UI/wwwroot/dist/css/themes/pulse/bootstrap.min.css diff --git a/src/Skoruba.IdentityServer4.Admin/wwwroot/dist/css/themes/sandstone/bootstrap.min.css b/src/Skoruba.IdentityServer4.Admin.UI/wwwroot/dist/css/themes/sandstone/bootstrap.min.css similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/wwwroot/dist/css/themes/sandstone/bootstrap.min.css rename to src/Skoruba.IdentityServer4.Admin.UI/wwwroot/dist/css/themes/sandstone/bootstrap.min.css diff --git a/src/Skoruba.IdentityServer4.Admin/wwwroot/dist/css/themes/simplex/bootstrap.min.css b/src/Skoruba.IdentityServer4.Admin.UI/wwwroot/dist/css/themes/simplex/bootstrap.min.css similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/wwwroot/dist/css/themes/simplex/bootstrap.min.css rename to src/Skoruba.IdentityServer4.Admin.UI/wwwroot/dist/css/themes/simplex/bootstrap.min.css diff --git a/src/Skoruba.IdentityServer4.Admin/wwwroot/dist/css/themes/sketchy/bootstrap.min.css b/src/Skoruba.IdentityServer4.Admin.UI/wwwroot/dist/css/themes/sketchy/bootstrap.min.css similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/wwwroot/dist/css/themes/sketchy/bootstrap.min.css rename to src/Skoruba.IdentityServer4.Admin.UI/wwwroot/dist/css/themes/sketchy/bootstrap.min.css diff --git a/src/Skoruba.IdentityServer4.Admin/wwwroot/dist/css/themes/slate/bootstrap.min.css b/src/Skoruba.IdentityServer4.Admin.UI/wwwroot/dist/css/themes/slate/bootstrap.min.css similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/wwwroot/dist/css/themes/slate/bootstrap.min.css rename to src/Skoruba.IdentityServer4.Admin.UI/wwwroot/dist/css/themes/slate/bootstrap.min.css diff --git a/src/Skoruba.IdentityServer4.Admin/wwwroot/dist/css/themes/solar/bootstrap.min.css b/src/Skoruba.IdentityServer4.Admin.UI/wwwroot/dist/css/themes/solar/bootstrap.min.css similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/wwwroot/dist/css/themes/solar/bootstrap.min.css rename to src/Skoruba.IdentityServer4.Admin.UI/wwwroot/dist/css/themes/solar/bootstrap.min.css diff --git a/src/Skoruba.IdentityServer4.Admin/wwwroot/dist/css/themes/spacelab/bootstrap.min.css b/src/Skoruba.IdentityServer4.Admin.UI/wwwroot/dist/css/themes/spacelab/bootstrap.min.css similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/wwwroot/dist/css/themes/spacelab/bootstrap.min.css rename to src/Skoruba.IdentityServer4.Admin.UI/wwwroot/dist/css/themes/spacelab/bootstrap.min.css diff --git a/src/Skoruba.IdentityServer4.Admin/wwwroot/dist/css/themes/superhero/bootstrap.min.css b/src/Skoruba.IdentityServer4.Admin.UI/wwwroot/dist/css/themes/superhero/bootstrap.min.css similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/wwwroot/dist/css/themes/superhero/bootstrap.min.css rename to src/Skoruba.IdentityServer4.Admin.UI/wwwroot/dist/css/themes/superhero/bootstrap.min.css diff --git a/src/Skoruba.IdentityServer4.Admin/wwwroot/dist/css/themes/united/bootstrap.min.css b/src/Skoruba.IdentityServer4.Admin.UI/wwwroot/dist/css/themes/united/bootstrap.min.css similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/wwwroot/dist/css/themes/united/bootstrap.min.css rename to src/Skoruba.IdentityServer4.Admin.UI/wwwroot/dist/css/themes/united/bootstrap.min.css diff --git a/src/Skoruba.IdentityServer4.Admin/wwwroot/dist/css/themes/yeti/bootstrap.min.css b/src/Skoruba.IdentityServer4.Admin.UI/wwwroot/dist/css/themes/yeti/bootstrap.min.css similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/wwwroot/dist/css/themes/yeti/bootstrap.min.css rename to src/Skoruba.IdentityServer4.Admin.UI/wwwroot/dist/css/themes/yeti/bootstrap.min.css diff --git a/src/Skoruba.IdentityServer4.Admin/wwwroot/dist/css/web.css b/src/Skoruba.IdentityServer4.Admin.UI/wwwroot/dist/css/web.css similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/wwwroot/dist/css/web.css rename to src/Skoruba.IdentityServer4.Admin.UI/wwwroot/dist/css/web.css diff --git a/src/Skoruba.IdentityServer4.Admin/wwwroot/dist/css/web.min.css b/src/Skoruba.IdentityServer4.Admin.UI/wwwroot/dist/css/web.min.css similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/wwwroot/dist/css/web.min.css rename to src/Skoruba.IdentityServer4.Admin.UI/wwwroot/dist/css/web.min.css diff --git a/src/Skoruba.IdentityServer4.Admin/wwwroot/dist/fonts/FontAwesome.otf b/src/Skoruba.IdentityServer4.Admin.UI/wwwroot/dist/fonts/FontAwesome.otf similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/wwwroot/dist/fonts/FontAwesome.otf rename to src/Skoruba.IdentityServer4.Admin.UI/wwwroot/dist/fonts/FontAwesome.otf diff --git a/src/Skoruba.IdentityServer4.Admin/wwwroot/dist/fonts/fontawesome-webfont.eot b/src/Skoruba.IdentityServer4.Admin.UI/wwwroot/dist/fonts/fontawesome-webfont.eot similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/wwwroot/dist/fonts/fontawesome-webfont.eot rename to src/Skoruba.IdentityServer4.Admin.UI/wwwroot/dist/fonts/fontawesome-webfont.eot diff --git a/src/Skoruba.IdentityServer4.Admin/wwwroot/dist/fonts/fontawesome-webfont.svg b/src/Skoruba.IdentityServer4.Admin.UI/wwwroot/dist/fonts/fontawesome-webfont.svg similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/wwwroot/dist/fonts/fontawesome-webfont.svg rename to src/Skoruba.IdentityServer4.Admin.UI/wwwroot/dist/fonts/fontawesome-webfont.svg diff --git a/src/Skoruba.IdentityServer4.Admin/wwwroot/dist/fonts/fontawesome-webfont.ttf b/src/Skoruba.IdentityServer4.Admin.UI/wwwroot/dist/fonts/fontawesome-webfont.ttf similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/wwwroot/dist/fonts/fontawesome-webfont.ttf rename to src/Skoruba.IdentityServer4.Admin.UI/wwwroot/dist/fonts/fontawesome-webfont.ttf diff --git a/src/Skoruba.IdentityServer4.Admin/wwwroot/dist/fonts/fontawesome-webfont.woff b/src/Skoruba.IdentityServer4.Admin.UI/wwwroot/dist/fonts/fontawesome-webfont.woff similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/wwwroot/dist/fonts/fontawesome-webfont.woff rename to src/Skoruba.IdentityServer4.Admin.UI/wwwroot/dist/fonts/fontawesome-webfont.woff diff --git a/src/Skoruba.IdentityServer4.Admin/wwwroot/dist/fonts/fontawesome-webfont.woff2 b/src/Skoruba.IdentityServer4.Admin.UI/wwwroot/dist/fonts/fontawesome-webfont.woff2 similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/wwwroot/dist/fonts/fontawesome-webfont.woff2 rename to src/Skoruba.IdentityServer4.Admin.UI/wwwroot/dist/fonts/fontawesome-webfont.woff2 diff --git a/src/Skoruba.IdentityServer4.Admin/wwwroot/dist/fonts/open-iconic.eot b/src/Skoruba.IdentityServer4.Admin.UI/wwwroot/dist/fonts/open-iconic.eot similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/wwwroot/dist/fonts/open-iconic.eot rename to src/Skoruba.IdentityServer4.Admin.UI/wwwroot/dist/fonts/open-iconic.eot diff --git a/src/Skoruba.IdentityServer4.Admin/wwwroot/dist/fonts/open-iconic.otf b/src/Skoruba.IdentityServer4.Admin.UI/wwwroot/dist/fonts/open-iconic.otf similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/wwwroot/dist/fonts/open-iconic.otf rename to src/Skoruba.IdentityServer4.Admin.UI/wwwroot/dist/fonts/open-iconic.otf diff --git a/src/Skoruba.IdentityServer4.Admin/wwwroot/dist/fonts/open-iconic.svg b/src/Skoruba.IdentityServer4.Admin.UI/wwwroot/dist/fonts/open-iconic.svg similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/wwwroot/dist/fonts/open-iconic.svg rename to src/Skoruba.IdentityServer4.Admin.UI/wwwroot/dist/fonts/open-iconic.svg diff --git a/src/Skoruba.IdentityServer4.Admin/wwwroot/dist/fonts/open-iconic.ttf b/src/Skoruba.IdentityServer4.Admin.UI/wwwroot/dist/fonts/open-iconic.ttf similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/wwwroot/dist/fonts/open-iconic.ttf rename to src/Skoruba.IdentityServer4.Admin.UI/wwwroot/dist/fonts/open-iconic.ttf diff --git a/src/Skoruba.IdentityServer4.Admin/wwwroot/dist/fonts/open-iconic.woff b/src/Skoruba.IdentityServer4.Admin.UI/wwwroot/dist/fonts/open-iconic.woff similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/wwwroot/dist/fonts/open-iconic.woff rename to src/Skoruba.IdentityServer4.Admin.UI/wwwroot/dist/fonts/open-iconic.woff diff --git a/src/Skoruba.IdentityServer4.Admin/wwwroot/dist/js/bundle.min.js b/src/Skoruba.IdentityServer4.Admin.UI/wwwroot/dist/js/bundle.min.js similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/wwwroot/dist/js/bundle.min.js rename to src/Skoruba.IdentityServer4.Admin.UI/wwwroot/dist/js/bundle.min.js diff --git a/src/Skoruba.IdentityServer4.Admin/wwwroot/favicon.ico b/src/Skoruba.IdentityServer4.Admin.UI/wwwroot/favicon.ico similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/wwwroot/favicon.ico rename to src/Skoruba.IdentityServer4.Admin.UI/wwwroot/favicon.ico diff --git a/src/Skoruba.IdentityServer4.Admin/wwwroot/images/icons/device-client.png b/src/Skoruba.IdentityServer4.Admin.UI/wwwroot/images/icons/device-client.png similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/wwwroot/images/icons/device-client.png rename to src/Skoruba.IdentityServer4.Admin.UI/wwwroot/images/icons/device-client.png diff --git a/src/Skoruba.IdentityServer4.Admin/wwwroot/images/icons/empty-client.png b/src/Skoruba.IdentityServer4.Admin.UI/wwwroot/images/icons/empty-client.png similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/wwwroot/images/icons/empty-client.png rename to src/Skoruba.IdentityServer4.Admin.UI/wwwroot/images/icons/empty-client.png diff --git a/src/Skoruba.IdentityServer4.Admin/wwwroot/images/icons/native-client.png b/src/Skoruba.IdentityServer4.Admin.UI/wwwroot/images/icons/native-client.png similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/wwwroot/images/icons/native-client.png rename to src/Skoruba.IdentityServer4.Admin.UI/wwwroot/images/icons/native-client.png diff --git a/src/Skoruba.IdentityServer4.Admin/wwwroot/images/icons/server-client.png b/src/Skoruba.IdentityServer4.Admin.UI/wwwroot/images/icons/server-client.png similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/wwwroot/images/icons/server-client.png rename to src/Skoruba.IdentityServer4.Admin.UI/wwwroot/images/icons/server-client.png diff --git a/src/Skoruba.IdentityServer4.Admin/wwwroot/images/icons/spa-client.png b/src/Skoruba.IdentityServer4.Admin.UI/wwwroot/images/icons/spa-client.png similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/wwwroot/images/icons/spa-client.png rename to src/Skoruba.IdentityServer4.Admin.UI/wwwroot/images/icons/spa-client.png diff --git a/src/Skoruba.IdentityServer4.Admin/wwwroot/images/icons/web-client.png b/src/Skoruba.IdentityServer4.Admin.UI/wwwroot/images/icons/web-client.png similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/wwwroot/images/icons/web-client.png rename to src/Skoruba.IdentityServer4.Admin.UI/wwwroot/images/icons/web-client.png diff --git a/src/Skoruba.IdentityServer4.Admin/wwwroot/images/loading.gif b/src/Skoruba.IdentityServer4.Admin.UI/wwwroot/images/loading.gif similarity index 100% rename from src/Skoruba.IdentityServer4.Admin/wwwroot/images/loading.gif rename to src/Skoruba.IdentityServer4.Admin.UI/wwwroot/images/loading.gif diff --git a/src/Skoruba.IdentityServer4.Admin/Configuration/DatabaseMigrationsConfiguration.cs b/src/Skoruba.IdentityServer4.Admin/Configuration/DatabaseMigrationsConfiguration.cs deleted file mode 100644 index 0729cb509..000000000 --- a/src/Skoruba.IdentityServer4.Admin/Configuration/DatabaseMigrationsConfiguration.cs +++ /dev/null @@ -1,7 +0,0 @@ -namespace Skoruba.IdentityServer4.Admin.Configuration -{ - public class DatabaseMigrationsConfiguration - { - public bool ApplyDatabaseMigrations { get; set; } = false; - } -} \ No newline at end of file diff --git a/src/Skoruba.IdentityServer4.Admin/Configuration/IdentityDataConfiguration.cs b/src/Skoruba.IdentityServer4.Admin/Configuration/IdentityDataConfiguration.cs deleted file mode 100644 index 4dafd44c7..000000000 --- a/src/Skoruba.IdentityServer4.Admin/Configuration/IdentityDataConfiguration.cs +++ /dev/null @@ -1,11 +0,0 @@ -using Skoruba.IdentityServer4.Admin.Configuration.Identity; -using System.Collections.Generic; - -namespace Skoruba.IdentityServer4.Admin.Configuration -{ - public class IdentityDataConfiguration - { - public List Roles { get; set; } - public List Users { get; set; } - } -} diff --git a/src/Skoruba.IdentityServer4.Admin/Configuration/Interfaces/IRootConfiguration.cs b/src/Skoruba.IdentityServer4.Admin/Configuration/Interfaces/IRootConfiguration.cs deleted file mode 100644 index 708348978..000000000 --- a/src/Skoruba.IdentityServer4.Admin/Configuration/Interfaces/IRootConfiguration.cs +++ /dev/null @@ -1,9 +0,0 @@ -namespace Skoruba.IdentityServer4.Admin.Configuration.Interfaces -{ - public interface IRootConfiguration - { - AdminConfiguration AdminConfiguration { get; } - IdentityDataConfiguration IdentityDataConfiguration { get; } - IdentityServerDataConfiguration IdentityServerDataConfiguration { get; } - } -} \ No newline at end of file diff --git a/src/Skoruba.IdentityServer4.Admin/Configuration/RootConfiguration.cs b/src/Skoruba.IdentityServer4.Admin/Configuration/RootConfiguration.cs deleted file mode 100644 index 069472cb7..000000000 --- a/src/Skoruba.IdentityServer4.Admin/Configuration/RootConfiguration.cs +++ /dev/null @@ -1,11 +0,0 @@ -using Skoruba.IdentityServer4.Admin.Configuration.Interfaces; - -namespace Skoruba.IdentityServer4.Admin.Configuration -{ - public class RootConfiguration : IRootConfiguration - { - public AdminConfiguration AdminConfiguration { get; set; } = new AdminConfiguration(); - public IdentityDataConfiguration IdentityDataConfiguration { get; set; } = new IdentityDataConfiguration(); - public IdentityServerDataConfiguration IdentityServerDataConfiguration { get; set; } = new IdentityServerDataConfiguration(); - } -} diff --git a/src/Skoruba.IdentityServer4.Admin/Configuration/Test/StartupTest.cs b/src/Skoruba.IdentityServer4.Admin/Configuration/Test/StartupTest.cs index 4c207093c..065933a81 100644 --- a/src/Skoruba.IdentityServer4.Admin/Configuration/Test/StartupTest.cs +++ b/src/Skoruba.IdentityServer4.Admin/Configuration/Test/StartupTest.cs @@ -1,40 +1,21 @@ -using Microsoft.AspNetCore.Builder; -using Microsoft.AspNetCore.Hosting; +using Microsoft.AspNetCore.Hosting; using Microsoft.Extensions.Configuration; using Microsoft.Extensions.DependencyInjection; -using Skoruba.IdentityServer4.Admin.EntityFramework.Shared.DbContexts; -using Skoruba.IdentityServer4.Admin.EntityFramework.Shared.Entities.Identity; -using Skoruba.IdentityServer4.Admin.Helpers; -using Skoruba.IdentityServer4.Admin.Middlewares; namespace Skoruba.IdentityServer4.Admin.Configuration.Test { - public class StartupTest : Startup + public class StartupTest : Startup { public StartupTest(IWebHostEnvironment env, IConfiguration configuration) : base(env, configuration) { } - public override void RegisterDbContexts(IServiceCollection services) + public override void ConfigureUIOptions(IdentityServer4AdminUIOptions options) { - services.RegisterDbContextsStaging(); - } - - public override void RegisterAuthentication(IServiceCollection services) - { - services.AddAuthenticationServicesStaging(); - } + base.ConfigureUIOptions(options); - public override void RegisterAuthorization(IServiceCollection services) - { - var rootConfiguration = CreateRootConfiguration(); - services.AddAuthorizationPolicies(rootConfiguration); - } - - public override void UseAuthentication(IApplicationBuilder app) - { - app.UseAuthentication(); - app.UseMiddleware(); + // Use staging DbContexts and auth services. + options.Testing.IsStaging = true; } } } diff --git a/src/Skoruba.IdentityServer4.Admin/Program.cs b/src/Skoruba.IdentityServer4.Admin/Program.cs index e298c76ff..653644681 100644 --- a/src/Skoruba.IdentityServer4.Admin/Program.cs +++ b/src/Skoruba.IdentityServer4.Admin/Program.cs @@ -3,22 +3,18 @@ using System.Linq; using System.Threading.Tasks; using Microsoft.AspNetCore.Hosting; -using Microsoft.Azure.KeyVault; -using Microsoft.Azure.Services.AppAuthentication; using Microsoft.Extensions.Configuration; -using Microsoft.Extensions.Configuration.AzureKeyVault; using Microsoft.Extensions.Hosting; using Serilog; -using Skoruba.IdentityServer4.Admin.Configuration; +using Skoruba.IdentityServer4.Admin.EntityFramework.Shared.Configuration; using Skoruba.IdentityServer4.Admin.EntityFramework.Shared.DbContexts; using Skoruba.IdentityServer4.Admin.EntityFramework.Shared.Entities.Identity; -using Skoruba.IdentityServer4.Admin.Helpers; -using Skoruba.IdentityServer4.Shared.Configuration.Common; +using Skoruba.IdentityServer4.Admin.EntityFramework.Shared.Helpers; using Skoruba.IdentityServer4.Shared.Helpers; namespace Skoruba.IdentityServer4.Admin { - public class Program + public class Program { private const string SeedArgs = "/seed"; diff --git a/src/Skoruba.IdentityServer4.Admin/Properties/launchSettings.json b/src/Skoruba.IdentityServer4.Admin/Properties/launchSettings.json index eee187ee9..f387a0eac 100644 --- a/src/Skoruba.IdentityServer4.Admin/Properties/launchSettings.json +++ b/src/Skoruba.IdentityServer4.Admin/Properties/launchSettings.json @@ -1,27 +1,28 @@ { - "iisSettings": { - "windowsAuthentication": false, - "anonymousAuthentication": true, - "iisExpress": { - "applicationUrl": "https://localhost:44303", - "sslPort": 44303 - } + "iisSettings": { + "windowsAuthentication": false, + "anonymousAuthentication": true, + "iisExpress": { + "applicationUrl": "https://localhost:44303", + "sslPort": 44303 + } + }, + "profiles": { + "IIS Express": { + "commandName": "IISExpress", + "commandLineArgs": "/seed", + "launchBrowser": true, + "environmentVariables": { + "ASPNETCORE_ENVIRONMENT": "Development" + } }, - "profiles": { - "IIS Express": { - "commandName": "IISExpress", - "launchBrowser": true, - "environmentVariables": { - "ASPNETCORE_ENVIRONMENT": "Development" - } - }, - "Skoruba.IdentityServer4.Admin": { - "commandName": "Project", - "launchBrowser": true, - "environmentVariables": { - "ASPNETCORE_ENVIRONMENT": "Development" - }, - "applicationUrl": "https://localhost:44303" - } + "Skoruba.IdentityServer4.Admin": { + "commandName": "Project", + "launchBrowser": true, + "environmentVariables": { + "ASPNETCORE_ENVIRONMENT": "Development" + }, + "applicationUrl": "https://localhost:44303" } + } } \ No newline at end of file diff --git a/src/Skoruba.IdentityServer4.Admin/Skoruba.IdentityServer4.Admin.csproj b/src/Skoruba.IdentityServer4.Admin/Skoruba.IdentityServer4.Admin.csproj index abf11c9b9..75d9f9e9d 100644 --- a/src/Skoruba.IdentityServer4.Admin/Skoruba.IdentityServer4.Admin.csproj +++ b/src/Skoruba.IdentityServer4.Admin/Skoruba.IdentityServer4.Admin.csproj @@ -52,75 +52,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -129,45 +60,10 @@ + - - - PublicResXFileCodeGenerator - - - PublicResXFileCodeGenerator - - - PublicResXFileCodeGenerator - - - PublicResXFileCodeGenerator - - - PublicResXFileCodeGenerator - - - PublicResXFileCodeGenerator - - - PublicResXFileCodeGenerator - - - PublicResXFileCodeGenerator - - - PublicResXFileCodeGenerator - - - PublicResXFileCodeGenerator - - - PublicResXFileCodeGenerator - - - diff --git a/src/Skoruba.IdentityServer4.Admin/Startup.cs b/src/Skoruba.IdentityServer4.Admin/Startup.cs index 2fe943ef2..b8955739f 100644 --- a/src/Skoruba.IdentityServer4.Admin/Startup.cs +++ b/src/Skoruba.IdentityServer4.Admin/Startup.cs @@ -1,27 +1,17 @@ using System.IdentityModel.Tokens.Jwt; -using HealthChecks.UI.Client; using Microsoft.AspNetCore.Builder; -using Microsoft.AspNetCore.Diagnostics.HealthChecks; using Microsoft.AspNetCore.Hosting; using Microsoft.Extensions.Configuration; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Hosting; using Microsoft.Extensions.Logging; -using Skoruba.AuditLogging.EntityFramework.Entities; -using Skoruba.IdentityServer4.Admin.Configuration.Interfaces; -using Skoruba.IdentityServer4.Admin.EntityFramework.Shared.DbContexts; -using Skoruba.IdentityServer4.Admin.EntityFramework.Shared.Entities.Identity; -using Skoruba.IdentityServer4.Admin.Helpers; -using Skoruba.IdentityServer4.Admin.Configuration; -using Skoruba.IdentityServer4.Admin.Configuration.Constants; -using System; using Skoruba.IdentityServer4.Shared.Dtos; using Skoruba.IdentityServer4.Shared.Dtos.Identity; using Skoruba.IdentityServer4.Shared.Helpers; namespace Skoruba.IdentityServer4.Admin { - public class Startup + public class Startup { public Startup(IWebHostEnvironment env, IConfiguration configuration) { @@ -36,135 +26,41 @@ public Startup(IWebHostEnvironment env, IConfiguration configuration) public void ConfigureServices(IServiceCollection services) { - var rootConfiguration = CreateRootConfiguration(); - services.AddSingleton(rootConfiguration); - - // Add DbContexts for Asp.Net Core Identity, Logging and IdentityServer - Configuration store and Operational store - RegisterDbContexts(services); - - // Save data protection keys to db, using a common application name shared between Admin and STS - services.AddDataProtection(Configuration); + // Adds the IdentityServer4 Admin UI with custom options. + services.AddIdentityServer4AdminUI(ConfigureUIOptions); // Add email senders which is currently setup for SendGrid and SMTP - services.AddEmailSenders(Configuration); - - // Add Asp.Net Core Identity Configuration and OpenIdConnect auth as well - RegisterAuthentication(services); - - // Add HSTS options - RegisterHstsOptions(services); - - // Add exception filters in MVC - services.AddMvcExceptionFilters(); - - // Add all dependencies for IdentityServer Admin - services.AddAdminServices(); - - // Add all dependencies for Asp.Net Core Identity - // If you want to change primary keys or use another db model for Asp.Net Core Identity: - services.AddAdminAspNetIdentityServices(); - - // Add all dependencies for Asp.Net Core Identity in MVC - these dependencies are injected into generic Controllers - // Including settings for MVC and Localization - // If you want to change primary keys or use another db model for Asp.Net Core Identity: - services.AddMvcWithLocalization(Configuration); - - // Add authorization policies for MVC - RegisterAuthorization(services); - - // Add audit logging - services.AddAuditEventLogging(Configuration); - - services.AddIdSHealthChecks(Configuration, rootConfiguration.AdminConfiguration); + //services.AddEmailSenders(Configuration); } public void Configure(IApplicationBuilder app, IWebHostEnvironment env, ILoggerFactory loggerFactory) { - app.UseCookiePolicy(); - - if (env.IsDevelopment()) - { - app.UseDeveloperExceptionPage(); - } - else - { - app.UseExceptionHandler("/Home/Error"); - app.UseHsts(); - } - - app.UsePathBase(Configuration.GetValue("BasePath")); + app.UseRouting(); - // Add custom security headers - app.UseSecurityHeaders(Configuration); + app.UseIdentityServer4AdminUI(); - app.UseStaticFiles(); - - UseAuthentication(app); - - // Use Localization - app.ConfigureLocalization(); - - app.UseRouting(); - app.UseAuthorization(); app.UseEndpoints(endpoint => { - endpoint.MapDefaultControllerRoute(); - endpoint.MapHealthChecks("/health", new HealthCheckOptions - { - ResponseWriter = UIResponseWriter.WriteHealthCheckUIResponse - }); + endpoint.MapIdentityServer4AdminUI(); + endpoint.MapIdentityServer4AdminUIHealthChecks(); }); } - public virtual void RegisterDbContexts(IServiceCollection services) - { - services.RegisterDbContexts(Configuration); - } - - public virtual void RegisterAuthentication(IServiceCollection services) - { - var rootConfiguration = CreateRootConfiguration(); - services.AddAuthenticationServices(Configuration); - } - - public virtual void RegisterAuthorization(IServiceCollection services) - { - var rootConfiguration = CreateRootConfiguration(); - services.AddAuthorizationPolicies(rootConfiguration); - } - - public virtual void UseAuthentication(IApplicationBuilder app) - { - app.UseAuthentication(); - } - - public virtual void RegisterHstsOptions(IServiceCollection services) - { - services.AddHsts(options => - { - options.Preload = true; - options.IncludeSubDomains = true; - options.MaxAge = TimeSpan.FromDays(365); - }); - } - - protected IRootConfiguration CreateRootConfiguration() - { - var rootConfiguration = new RootConfiguration(); - Configuration.GetSection(ConfigurationConsts.AdminConfigurationKey).Bind(rootConfiguration.AdminConfiguration); - Configuration.GetSection(ConfigurationConsts.IdentityDataConfigurationKey).Bind(rootConfiguration.IdentityDataConfiguration); - Configuration.GetSection(ConfigurationConsts.IdentityServerDataConfigurationKey).Bind(rootConfiguration.IdentityServerDataConfiguration); - return rootConfiguration; - } + public virtual void ConfigureUIOptions(IdentityServer4AdminUIOptions options) + { + // Applies configuration from appsettings. + options.BindConfiguration(Configuration); + if (HostingEnvironment.IsDevelopment()) + { + options.Security.UseDeveloperExceptionPage = true; + } + else + { + options.Security.UseHsts = true; + } + + // Use production DbContexts and auth services. + options.Testing.IsStaging = false; + } } } \ No newline at end of file diff --git a/src/Skoruba.IdentityServer4.Admin/ViewComponents/IdentityServerLinkViewComponent.cs b/src/Skoruba.IdentityServer4.Admin/ViewComponents/IdentityServerLinkViewComponent.cs deleted file mode 100644 index b598d57c6..000000000 --- a/src/Skoruba.IdentityServer4.Admin/ViewComponents/IdentityServerLinkViewComponent.cs +++ /dev/null @@ -1,22 +0,0 @@ -using Microsoft.AspNetCore.Mvc; -using Skoruba.IdentityServer4.Admin.Configuration.Interfaces; - -namespace Skoruba.IdentityServer4.Admin.ViewComponents -{ - public class IdentityServerLinkViewComponent : ViewComponent - { - private readonly IRootConfiguration _configuration; - - public IdentityServerLinkViewComponent(IRootConfiguration configuration) - { - _configuration = configuration; - } - - public IViewComponentResult Invoke() - { - var identityServerUrl = _configuration.AdminConfiguration.IdentityServerBaseUrl; - - return View(model: identityServerUrl); - } - } -} diff --git a/src/Skoruba.IdentityServer4.Admin/appsettings.json b/src/Skoruba.IdentityServer4.Admin/appsettings.json index d85a23517..810e87ab1 100644 --- a/src/Skoruba.IdentityServer4.Admin/appsettings.json +++ b/src/Skoruba.IdentityServer4.Admin/appsettings.json @@ -38,11 +38,13 @@ "AdministrationRole": "SkorubaIdentityAdminAdministrator", "HideUIForMSSqlErrorLogging": false }, - "CspTrustedDomains": [ - "fonts.googleapis.com", - "fonts.gstatic.com", - "www.gravatar.com" - ], + "SecurityConfiguration": { + "CspTrustedDomains": [ + "fonts.googleapis.com", + "fonts.gstatic.com", + "www.gravatar.com" + ] + }, "SmtpConfiguration": { "Host": "", "Login": "", @@ -63,7 +65,9 @@ "Cultures": [], "DefaultCulture": null }, - "BasePath": "", + "HttpConfiguration": { + "BasePath": "" + }, "IdentityOptions": { "Password": { "RequiredLength": 8 diff --git a/src/Skoruba.IdentityServer4.Shared/Helpers/StartupHelpers.cs b/src/Skoruba.IdentityServer4.Shared/Helpers/StartupHelpers.cs index df1a492e5..f3ef6e4fd 100644 --- a/src/Skoruba.IdentityServer4.Shared/Helpers/StartupHelpers.cs +++ b/src/Skoruba.IdentityServer4.Shared/Helpers/StartupHelpers.cs @@ -44,11 +44,17 @@ public static void AddEmailSenders(this IServiceCollection services, IConfigurat } public static void AddDataProtection(this IServiceCollection services, IConfiguration configuration) - where TDbContext : DbContext, IDataProtectionKeyContext + where TDbContext : DbContext, IDataProtectionKeyContext { - var dataProtectionConfiguration = configuration.GetSection(nameof(DataProtectionConfiguration)).Get(); - var azureKeyVaultConfiguration = configuration.GetSection(nameof(AzureKeyVaultConfiguration)).Get(); + AddDataProtection( + services, + configuration.GetSection(nameof(DataProtectionConfiguration)).Get(), + configuration.GetSection(nameof(AzureKeyVaultConfiguration)).Get()); + } + public static void AddDataProtection(this IServiceCollection services, DataProtectionConfiguration dataProtectionConfiguration, AzureKeyVaultConfiguration azureKeyVaultConfiguration) + where TDbContext : DbContext, IDataProtectionKeyContext + { var dataProtectionBuilder = services.AddDataProtection() .SetApplicationName("Skoruba.IdentityServer4") .PersistKeysToDbContext(); diff --git a/tests/Skoruba.IdentityServer4.Admin.IntegrationTests/Common/HttpClientExtensions.cs b/tests/Skoruba.IdentityServer4.Admin.IntegrationTests/Common/HttpClientExtensions.cs index fe89c0ebe..7ba31b6eb 100644 --- a/tests/Skoruba.IdentityServer4.Admin.IntegrationTests/Common/HttpClientExtensions.cs +++ b/tests/Skoruba.IdentityServer4.Admin.IntegrationTests/Common/HttpClientExtensions.cs @@ -2,12 +2,12 @@ using System.IdentityModel.Tokens.Jwt; using System.Net.Http; using System.Security.Claims; -using Skoruba.IdentityServer4.Admin.Configuration; -using Skoruba.IdentityServer4.Admin.Middlewares; +using Skoruba.IdentityServer4.Admin.UI.Configuration; +using Skoruba.IdentityServer4.Admin.UI.Middlewares; namespace Skoruba.IdentityServer4.Admin.IntegrationTests.Common { - public static class HttpClientExtensions + public static class HttpClientExtensions { public static void SetAdminClaimsViaHeaders(this HttpClient client, AdminConfiguration adminConfiguration) { diff --git a/tests/Skoruba.IdentityServer4.Admin.IntegrationTests/Tests/Base/BaseClassFixture.cs b/tests/Skoruba.IdentityServer4.Admin.IntegrationTests/Tests/Base/BaseClassFixture.cs index d1f2725b2..c5a522668 100644 --- a/tests/Skoruba.IdentityServer4.Admin.IntegrationTests/Tests/Base/BaseClassFixture.cs +++ b/tests/Skoruba.IdentityServer4.Admin.IntegrationTests/Tests/Base/BaseClassFixture.cs @@ -1,14 +1,14 @@ using System.Net.Http; using Microsoft.AspNetCore.Mvc.Testing; using Microsoft.Extensions.DependencyInjection; -using Skoruba.IdentityServer4.Admin.Configuration.Interfaces; using Skoruba.IdentityServer4.Admin.Configuration.Test; using Skoruba.IdentityServer4.Admin.IntegrationTests.Common; +using Skoruba.IdentityServer4.Admin.UI.Configuration; using Xunit; namespace Skoruba.IdentityServer4.Admin.IntegrationTests.Tests.Base { - public class BaseClassFixture : IClassFixture> + public class BaseClassFixture : IClassFixture> { protected readonly WebApplicationFactory Factory; protected readonly HttpClient Client; @@ -24,8 +24,8 @@ protected virtual void SetupAdminClaimsViaHeaders() { using (var scope = Factory.Services.CreateScope()) { - var configuration = scope.ServiceProvider.GetRequiredService(); - Client.SetAdminClaimsViaHeaders(configuration.AdminConfiguration); + var configuration = scope.ServiceProvider.GetRequiredService(); + Client.SetAdminClaimsViaHeaders(configuration); } } } diff --git a/tests/Skoruba.IdentityServer4.Admin.IntegrationTests/Tests/ConfigurationControllerTests.cs b/tests/Skoruba.IdentityServer4.Admin.IntegrationTests/Tests/ConfigurationControllerTests.cs index f87d971aa..25b6c6bf6 100644 --- a/tests/Skoruba.IdentityServer4.Admin.IntegrationTests/Tests/ConfigurationControllerTests.cs +++ b/tests/Skoruba.IdentityServer4.Admin.IntegrationTests/Tests/ConfigurationControllerTests.cs @@ -1,19 +1,16 @@ using System.Net; -using System.Net.Http; using System.Threading.Tasks; using FluentAssertions; using Microsoft.AspNetCore.Mvc.Testing; -using Microsoft.Extensions.DependencyInjection; -using Skoruba.IdentityServer4.Admin.Configuration.Constants; -using Skoruba.IdentityServer4.Admin.Configuration.Interfaces; using Skoruba.IdentityServer4.Admin.Configuration.Test; using Skoruba.IdentityServer4.Admin.IntegrationTests.Common; using Skoruba.IdentityServer4.Admin.IntegrationTests.Tests.Base; +using Skoruba.IdentityServer4.Admin.UI.Configuration.Constants; using Xunit; namespace Skoruba.IdentityServer4.Admin.IntegrationTests.Tests { - public class ConfigurationControllerTests : BaseClassFixture + public class ConfigurationControllerTests : BaseClassFixture { public ConfigurationControllerTests(WebApplicationFactory factory) : base(factory) diff --git a/tests/Skoruba.IdentityServer4.Admin.IntegrationTests/Tests/GrantControllerTests.cs b/tests/Skoruba.IdentityServer4.Admin.IntegrationTests/Tests/GrantControllerTests.cs index 6a0bdcde7..f95c581ea 100644 --- a/tests/Skoruba.IdentityServer4.Admin.IntegrationTests/Tests/GrantControllerTests.cs +++ b/tests/Skoruba.IdentityServer4.Admin.IntegrationTests/Tests/GrantControllerTests.cs @@ -2,15 +2,15 @@ using System.Threading.Tasks; using FluentAssertions; using Microsoft.AspNetCore.Mvc.Testing; -using Skoruba.IdentityServer4.Admin.Configuration.Constants; using Skoruba.IdentityServer4.Admin.Configuration.Test; using Skoruba.IdentityServer4.Admin.IntegrationTests.Common; using Skoruba.IdentityServer4.Admin.IntegrationTests.Tests.Base; +using Skoruba.IdentityServer4.Admin.UI.Configuration.Constants; using Xunit; namespace Skoruba.IdentityServer4.Admin.IntegrationTests.Tests { - public class GrantControllerTests : BaseClassFixture + public class GrantControllerTests : BaseClassFixture { public GrantControllerTests(WebApplicationFactory factory) : base(factory) { diff --git a/tests/Skoruba.IdentityServer4.Admin.IntegrationTests/Tests/HomeControllerTests.cs b/tests/Skoruba.IdentityServer4.Admin.IntegrationTests/Tests/HomeControllerTests.cs index e5c190db1..1d1e3e50b 100644 --- a/tests/Skoruba.IdentityServer4.Admin.IntegrationTests/Tests/HomeControllerTests.cs +++ b/tests/Skoruba.IdentityServer4.Admin.IntegrationTests/Tests/HomeControllerTests.cs @@ -2,14 +2,14 @@ using System.Threading.Tasks; using FluentAssertions; using Microsoft.AspNetCore.Mvc.Testing; -using Skoruba.IdentityServer4.Admin.Configuration.Constants; using Skoruba.IdentityServer4.Admin.Configuration.Test; using Skoruba.IdentityServer4.Admin.IntegrationTests.Tests.Base; +using Skoruba.IdentityServer4.Admin.UI.Configuration.Constants; using Xunit; namespace Skoruba.IdentityServer4.Admin.IntegrationTests.Tests { - public class HomeControllerTests : BaseClassFixture + public class HomeControllerTests : BaseClassFixture { public HomeControllerTests(WebApplicationFactory factory) : base(factory) diff --git a/tests/Skoruba.IdentityServer4.Admin.IntegrationTests/Tests/IdentityControllerTests.cs b/tests/Skoruba.IdentityServer4.Admin.IntegrationTests/Tests/IdentityControllerTests.cs index 7a450d0c9..61f199bc0 100644 --- a/tests/Skoruba.IdentityServer4.Admin.IntegrationTests/Tests/IdentityControllerTests.cs +++ b/tests/Skoruba.IdentityServer4.Admin.IntegrationTests/Tests/IdentityControllerTests.cs @@ -1,17 +1,16 @@ using System.Net; -using System.Net.Http; using System.Threading.Tasks; using FluentAssertions; using Microsoft.AspNetCore.Mvc.Testing; -using Skoruba.IdentityServer4.Admin.Configuration.Constants; using Skoruba.IdentityServer4.Admin.Configuration.Test; using Skoruba.IdentityServer4.Admin.IntegrationTests.Common; using Skoruba.IdentityServer4.Admin.IntegrationTests.Tests.Base; +using Skoruba.IdentityServer4.Admin.UI.Configuration.Constants; using Xunit; namespace Skoruba.IdentityServer4.Admin.IntegrationTests.Tests { - public class IdentityControllerTests : BaseClassFixture + public class IdentityControllerTests : BaseClassFixture { public IdentityControllerTests(WebApplicationFactory factory) : base(factory) { diff --git a/tests/Skoruba.IdentityServer4.Admin.IntegrationTests/Tests/LogControllerTests.cs b/tests/Skoruba.IdentityServer4.Admin.IntegrationTests/Tests/LogControllerTests.cs index 2f55c1dd1..0e02024f0 100644 --- a/tests/Skoruba.IdentityServer4.Admin.IntegrationTests/Tests/LogControllerTests.cs +++ b/tests/Skoruba.IdentityServer4.Admin.IntegrationTests/Tests/LogControllerTests.cs @@ -2,14 +2,14 @@ using System.Threading.Tasks; using FluentAssertions; using Microsoft.AspNetCore.Mvc.Testing; -using Skoruba.IdentityServer4.Admin.Configuration.Constants; using Skoruba.IdentityServer4.Admin.Configuration.Test; using Skoruba.IdentityServer4.Admin.IntegrationTests.Tests.Base; +using Skoruba.IdentityServer4.Admin.UI.Configuration.Constants; using Xunit; namespace Skoruba.IdentityServer4.Admin.IntegrationTests.Tests { - public class LogControllerTests : BaseClassFixture + public class LogControllerTests : BaseClassFixture { public LogControllerTests(WebApplicationFactory factory) : base(factory) { diff --git a/tests/Skoruba.IdentityServer4.Admin.UnitTests/Controllers/ConfigurationControllerTests.cs b/tests/Skoruba.IdentityServer4.Admin.UnitTests/Controllers/ConfigurationControllerTests.cs index 8b964e8ff..00be6c126 100644 --- a/tests/Skoruba.IdentityServer4.Admin.UnitTests/Controllers/ConfigurationControllerTests.cs +++ b/tests/Skoruba.IdentityServer4.Admin.UnitTests/Controllers/ConfigurationControllerTests.cs @@ -24,11 +24,11 @@ using Skoruba.IdentityServer4.Admin.BusinessLogic.Dtos.Configuration; using Skoruba.IdentityServer4.Admin.BusinessLogic.Identity.Dtos.Identity; using Skoruba.IdentityServer4.Admin.BusinessLogic.Services.Interfaces; -using Skoruba.IdentityServer4.Admin.Controllers; +using Skoruba.IdentityServer4.Admin.UI.Areas.AdminUI.Controllers; using Skoruba.IdentityServer4.Admin.EntityFramework.Shared.DbContexts; using Skoruba.IdentityServer4.Admin.EntityFramework.Shared.Entities.Identity; using Skoruba.IdentityServer4.Admin.UnitTests.Mocks; -using Skoruba.IdentityServer4.Admin.Helpers; +using Skoruba.IdentityServer4.Admin.UI.Helpers; using Xunit; namespace Skoruba.IdentityServer4.Admin.UnitTests.Controllers diff --git a/tests/Skoruba.IdentityServer4.Admin.UnitTests/Controllers/HomeControllerTests.cs b/tests/Skoruba.IdentityServer4.Admin.UnitTests/Controllers/HomeControllerTests.cs index d0f9459b1..b06e6866f 100644 --- a/tests/Skoruba.IdentityServer4.Admin.UnitTests/Controllers/HomeControllerTests.cs +++ b/tests/Skoruba.IdentityServer4.Admin.UnitTests/Controllers/HomeControllerTests.cs @@ -2,7 +2,7 @@ using Microsoft.AspNetCore.Mvc; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Logging; -using Skoruba.IdentityServer4.Admin.Controllers; +using Skoruba.IdentityServer4.Admin.UI.Areas.AdminUI.Controllers; using Xunit; namespace Skoruba.IdentityServer4.Admin.UnitTests.Controllers diff --git a/tests/Skoruba.IdentityServer4.Admin.UnitTests/Controllers/IdentityControllerTests.cs b/tests/Skoruba.IdentityServer4.Admin.UnitTests/Controllers/IdentityControllerTests.cs index baf6de9d6..74fee3ae9 100644 --- a/tests/Skoruba.IdentityServer4.Admin.UnitTests/Controllers/IdentityControllerTests.cs +++ b/tests/Skoruba.IdentityServer4.Admin.UnitTests/Controllers/IdentityControllerTests.cs @@ -22,12 +22,12 @@ using Skoruba.AuditLogging.EntityFramework.Services; using Skoruba.IdentityServer4.Admin.BusinessLogic.Identity.Dtos.Identity; using Skoruba.IdentityServer4.Admin.BusinessLogic.Identity.Services.Interfaces; -using Skoruba.IdentityServer4.Admin.Controllers; +using Skoruba.IdentityServer4.Admin.UI.Areas.AdminUI.Controllers; using Skoruba.IdentityServer4.Admin.EntityFramework.Shared.DbContexts; using Skoruba.IdentityServer4.Admin.EntityFramework.Shared.Entities.Identity; using Skoruba.IdentityServer4.Admin.UnitTests.Mocks; -using Skoruba.IdentityServer4.Admin.Helpers; -using Skoruba.IdentityServer4.Admin.Helpers.Localization; +using Skoruba.IdentityServer4.Admin.UI.Helpers; +using Skoruba.IdentityServer4.Admin.UI.Helpers.Localization; using Xunit; using System.Security.Claims; diff --git a/tests/Skoruba.IdentityServer4.Admin.UnitTests/Helpers/IdentityErrorDescriberFallbackTestData.cs b/tests/Skoruba.IdentityServer4.Admin.UnitTests/Helpers/IdentityErrorDescriberFallbackTestData.cs index 502d5b19e..bf907b6a0 100644 --- a/tests/Skoruba.IdentityServer4.Admin.UnitTests/Helpers/IdentityErrorDescriberFallbackTestData.cs +++ b/tests/Skoruba.IdentityServer4.Admin.UnitTests/Helpers/IdentityErrorDescriberFallbackTestData.cs @@ -1,4 +1,4 @@ -using Skoruba.IdentityServer4.Admin.Helpers.Identity; +using Skoruba.IdentityServer4.Admin.UI.Helpers.Identity; using System.Collections; using System.Collections.Generic; diff --git a/tests/Skoruba.IdentityServer4.Admin.UnitTests/Helpers/IdentityErrorDescriberTestData.cs b/tests/Skoruba.IdentityServer4.Admin.UnitTests/Helpers/IdentityErrorDescriberTestData.cs index 75074ef47..ab0d01029 100644 --- a/tests/Skoruba.IdentityServer4.Admin.UnitTests/Helpers/IdentityErrorDescriberTestData.cs +++ b/tests/Skoruba.IdentityServer4.Admin.UnitTests/Helpers/IdentityErrorDescriberTestData.cs @@ -1,4 +1,4 @@ -using Skoruba.IdentityServer4.Admin.Helpers.Identity; +using Skoruba.IdentityServer4.Admin.UI.Helpers.Identity; using System.Collections; using System.Collections.Generic; diff --git a/tests/Skoruba.IdentityServer4.Admin.UnitTests/Helpers/IdentityErrorDescriberTests.cs b/tests/Skoruba.IdentityServer4.Admin.UnitTests/Helpers/IdentityErrorDescriberTests.cs index 422d575f4..45db76352 100644 --- a/tests/Skoruba.IdentityServer4.Admin.UnitTests/Helpers/IdentityErrorDescriberTests.cs +++ b/tests/Skoruba.IdentityServer4.Admin.UnitTests/Helpers/IdentityErrorDescriberTests.cs @@ -1,7 +1,7 @@ using Microsoft.AspNetCore.Identity; using Microsoft.Extensions.Localization; using Moq; -using Skoruba.IdentityServer4.Admin.Helpers.Identity; +using Skoruba.IdentityServer4.Admin.UI.Helpers.Identity; using System.ComponentModel.Design; using System.Linq; using Xunit;