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.LoggingMinimumLevel
Defaults toinfo
. Supported logging levels aredebug
info
warning
error
critical
LoggingOutputTemplate
Defaults to[{Timestamp:dd-MM-yyyy HH:mm:ss} {Level}] {Message}{NewLine}{Exception}
. For more infomation see the serilog docs.
Database Settings
DbProvider
Supported types and their values are:SqlServer
MySql
(Note: AdminUI requires the MySQL settinglower_case_table_names
to befalse
)PostgreSql
IdentityConnectionString
The connection string for the Identity database (Users, Claim Types, Roles etc.)IdentityServerConnectionString
The 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 theIdentityServerConnectionString
DataProtectionConnectionString
(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.AuditRecordsConnectionString
The database connection string for AdminUI audits, if missing will default to theIdentityServerConnectionString
StoredProcedureSchemaPrefix
(Optional, only for SqlServer provider) Changes schema name for the stored procedures inSqlServer
database 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
AuthorityUrl
The IdentityServer installation protecting AdminUIUiUrl
The AdminUI websiteAdminUIClientId
The AdminUI client ID, defaults toadmin_ui
AdminUICustomScopeName
The AdminUI custom scope name, default value isadmin_api
AdminUIProfileCustomScopeName
The AdminUI profile custom scope name, default value isadmin_ui_profile
AdminUIClientSecret
The AdminUI client shared secret value in plain textWebhookClientId
The Webhook client ID, defaults toadmin_ui_webhooks
WebhookClientSecret
The Webhook client secret, defaults to a new GUIDAdminUIJwtTypes
Configures supported JWT types in AdminUI, possible values:All
(Default) Suppports both Bearer and DPoP tokensBearer
Supports only Bearer tokensDPoP
Supports only DPoP tokens
AuditRecordsCulture
Language used for generation of audit records, possible values:en-GB
(Default) Englishde
Germanzh-TW
Chinese (Traditional)zh-CN
Chinese (Simplified)es
Spanishfr
French
AuditReadActions
Defaults totrue
. Iffalse
, no audit records will be generated for read actions (e.g when a user views resources though AdminUI)RequireHttpsMetadata
Whentrue
ensures IdentityServer discovery endpoint uses TLS. Should be true for productionPasswordResetEndpoint
...RegistrationConfirmationEndpoint
...ResetMFAEndpoint
...LicenseKey
A valid license key for AdminUITargetIdentityServer4
(Deprecated from version 7.0) If set totrue
, AdminUI will target IdentityServer4 schema. If set to false, AdminUI will target Duende IdentityServer schema. Defaults tofalse
.DisableBootstrap
Iftrue
, bootstrapping will not run on app startup. More information about bootstrapping can be found here. Defaults tofalse
.ServeUi
Iftrue
, SPA will be served by AdminUI using packaged static files. Defaults totrue
.PasswordPolicy
RequireDigit
Defaults totrue
RequireLowercase
Defaults totrue
RequireNonAlphanumeric
Defaults totrue
RequireUppercase
Defaults totrue
RequiredLength
Defaults to6
RequiredUniqueChars
Defaults to1
UsernamePolicy
AllowedUserNameCharacters
- Defaults toabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789-._@+
RequireUniqueEmail
- Defaults totrue
ReferenceTokenOptions
UseReferenceTokens
...Secret
...
FeatureFlags
DefaultUserValidation
- Defaults tofalse
. If set to true AdminUI will not prompt you to remove the default user if present.AddUserPassword
Defaults tofalse
. Iftrue
, allows for setting a users password on creation (this is for demo purposes only, do not use in production), see more hereUserManagementDisabled
...EnableEnforcerAuthorization
- 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 totrue
AdminUI will allow scopes to be shared between protected resources.EnableSessionManagement
- Defaults totrue
. Allows the management of the IdentityServer Duende session management feature. If set tofalse
AdminUI will not show the SessionManagment tables when viewing or editing users.EnableDynamicAuthentication
- Defaults toDuende
. Allows the management of Dynamic Authentication through AdminUI. Options areDisabled
Dynamic Authentication is disabled.Duende
Duende IdentityServer Dynamic Authentication is enabled.
Data Protection
DataProtection
Used for configuration of Cookie protection and peristence.Persistence
- The type of persistence can be FileSystem or Database, these require different setup as shown belowType
- FileSystemLocation
- Location to persist keys
ORType
- DatabaseDbProvider
Supported types and their values are:SqlServer
MySql
(Note: AdminUI requires the MySQL settinglower_case_table_names
to befalse
)PostgreSql
Protection
The 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.
Here is some example configuration files:
appsettings.json
fileIAdminUISettings
implementation