AdminUI is configured using a set of variables that can be provided in various ways, these methods are described here, and if using the NuGet package there is an additional method of configuring AdminUI here.
AdminUI Settings Structure
Note: In AdminUI 4.2.0 and 5.1.0 onwards, the env.js file is no longer used for configuration and changes do not need to be made to this file. It can be removed if you choose.
Logging Settings
AzureAppServiceLogging(Optional) Used for debugging the API - see the enable logging page for more details.LoggingMinimumLevelDefaults toinfo. Supported logging levels aredebuginfowarningerrorcritical
LoggingOutputTemplateDefaults to[{Timestamp:dd-MM-yyyy HH:mm:ss} {Level}] {Message}{NewLine}{Exception}. For more infomation see the serilog docs.
Database Settings
DbProviderSupported types and their values are:SqlServerMySql(Note: AdminUI requires the MySQL settinglower_case_table_namesto befalse)PostgreSql
IdentityConnectionStringThe connection string for the Identity database (Users, Claim Types, Roles etc.)IdentityServerConnectionStringThe connection string for the IdentityServer database (Clients, Resources, Persited Grants etc.)OperationalConnectionString(Optional) The connection string for the Persisted Grants DbContext. If not supplied, AdminUI will use theIdentityServerConnectionStringDataProtectionConnectionString(Optional) The connection string for the DataProtectionKey DbContext. If not supplied, AdminUI will use theIdentityServerConnectionString. Only needs configuring if you are using a database to store protection keys.AuditRecordsConnectionStringThe database connection string for AdminUI audits, if missing will default to theIdentityServerConnectionStringStoredProcedureSchemaPrefix(Optional, only for SqlServer provider) Changes schema name for the stored procedures inSqlServerdatabase providers.OperationalStoreSchemaName(Optional) Changes schema name for the Operational Store. If you are planning to use this, read about custom database schema names.ConfigurationStoreSchemaName(Optional) Changes schema name for the Configuration Store. If you are planning to use this, read about custom database schema names.TimoutLengthInSeconds(Optional) Specifies the migration command timeout duration in seconds when running AdminUI migrations. It defaults to null, meaning the default setting for ConnectionTimeout is used.
AdminUI Configuration
AuthorityUrlThe IdentityServer installation protecting AdminUIUiUrlThe AdminUI websiteAdminUIClientIdThe AdminUI client ID, defaults toadmin_uiAdminUICustomScopeNameThe AdminUI custom scope name, default value isadmin_apiAdminUIProfileCustomScopeNameThe AdminUI profile custom scope name, default value isadmin_ui_profileAdminUIClientSecretThe AdminUI client shared secret value in plain textWebhookClientIdThe Webhook client ID, defaults toadmin_ui_webhooksWebhookClientSecretThe Webhook client secret, defaults to a new GUIDAdminUIJwtTypesConfigures supported JWT types in AdminUI, possible values:All(Default) Suppports both Bearer and DPoP tokensBearerSupports only Bearer tokensDPoPSupports only DPoP tokens
AuditRecordsCultureLanguage used for generation of audit records, possible values:en-GB(Default) EnglishdeGermanzh-TWChinese (Traditional)zh-CNChinese (Simplified)esSpanishfrFrench
AuditReadActionsDefaults totrue. Iffalse, no audit records will be generated for read actions (e.g when a user views resources though AdminUI)RequireHttpsMetadataWhentrueensures IdentityServer discovery endpoint uses TLS. Should be true for productionPasswordResetEndpoint...RegistrationConfirmationEndpoint...ResetMFAEndpoint...LicenseKeyA valid license key for AdminUIDisableBootstrapIftrue, bootstrapping will not run on app startup. More information about bootstrapping can be found here. Defaults tofalse.ServeUiIftrue, SPA will be served by AdminUI using packaged static files. Defaults totrue.DisableUiHttpsCheckIftrue, warning logs when https is not in use are disabled. Defaults tofalse.PasswordPolicyRequireDigitDefaults totrueRequireLowercaseDefaults totrueRequireNonAlphanumericDefaults totrueRequireUppercaseDefaults totrueRequiredLengthDefaults to6RequiredUniqueCharsDefaults to1
UsernamePolicyAllowedUserNameCharacters- Defaults toabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789-._@+RequireUniqueEmail- Defaults totrueRequireEmail- Defaults totrue
ReferenceTokenOptionsUseReferenceTokens...Secret...
FeatureFlagsDefaultUserValidation- Defaults totrue. If set to false AdminUI will not prompt you to remove the default user if present.AddUserPasswordDefaults tofalse. Iftrue, allows for setting a users password on creation (this is for demo purposes only, do not use in production), see more hereEnableEnforcerAuthorization- Defaults tofalse. If set to true will use the Enforcer authorization engine for more fine grained access control. More info can be found in our 6.3 release articleEnableSharedScopes- Defaults tofalse. If set totrueAdminUI will allow scopes to be shared between protected resources.EnableSessionManagement- Defaults totrue. Allows the management of the IdentityServer Duende session management feature. If set tofalseAdminUI will not show the SessionManagment tables when viewing or editing users.EnableDynamicAuthentication- Defaults toDisabled. Allows the management of Dynamic Authentication through AdminUI. Options areDisabledDynamic Authentication is disabled.DuendeDuende IdentityServer Dynamic Authentication is enabled.RskRSK Dynamic Authentication is enabled.
EnableRoleClaims- Defaults tofalse. Allows management of role claim in AdminUI.
Data Protection
DataProtectionUsed for configuration of Cookie protection and persistence.Persistence- The type of persistence can be FileSystem or Database, these require different setup as shown belowType- FileSystemLocation- Location to persist keys
ORType- DatabaseDbProviderSupported types and their values are:SqlServerMySql(Note: AdminUI requires the MySQL settinglower_case_table_namesto befalse)PostgreSql
ProtectionThe certficate or keyvault that will protect the cookies. The two available types are KeyVault and Certifcate. A Certificate can be provided by location or by thumbprint.Type- KeyVaultKeyIdentifier- The Azure KeyVault certificate identifier used for key encryption.ClientId(not in new Settings Model, see) - The Application Client IdVault(not in new Settings Model, see) - The KeyVault public UriSecret(not in new Settings Model, see) - (Optional) The client secret to use for authentication. Optional valid only for Azure hosted scenarios
ORType- Certificate (To protect with certificate you can provide either a thumbprint or a location)CertificateType- ThumbprintThumbprint- The thumbprint of the certificate that is installed either for the user or the machine.
ORType- Certificate (To protect with certificate you can provide either a thumbprint or a location)CertificateType- FileLocation- The location on disk of the certificate. We recommend using a PFX file as private key access is necessary.Password(Optional) - The password for the certificate
TargetIdentityServer4 Flag Deprecated from v7.0
The TargetIdentityServer4 flag in the API Configuration is used to determine what version of IdentityServer you want your AdminUI to target. If you're working with an IdentityServer4 database, you'll want to set this flag to true. If you're working with a Duende IdentityServer database, you'll want to set this flag to false.
This configuration setting will change how AdminUI displays certain entities such as Protected Resources, as well as if it will display certain views.
This setting will also change what migrations will be run by the migration tool.