AdminUI is configured using a set of variables that can be provided in various ways, these methods are described 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.)OpenIddictConnectionString
The connection string for the OpenIddict server database (Applications, Scopes, Authorizations and Tokens)DataProtectionConnectionString
(Optional) The connection string for the DataProtectionKey DbContext. If not supplied, AdminUI will use theOpenIddictConnectionString
. Only needs configuring if you are using a database to store protection keys.
AdminUI Configuration
AuthorityUrl
The OpenIddict server 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 GUIDRequireHttpsMetadata
Whentrue
ensures OpenIddict discovery endpoint uses TLS. Should be true for productionLicenseKey
A valid license key for AdminUIDisableBootstrap
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 totrue
. If set to false 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 hereEnableEnforcerAuthorization
Defaults tofalse
. If set to true will use the Enforcer authorization engine for more fine grained access control.
CustomGrantTypes
List of strings that will be suggested as part of the APIsSupportedLanguages
List of strings of culture codes that will provide languages to be configured in some Scopes and Applications settings. Example for English, Spanish and French: ["en", "es", "fr"]CustomAccessPolicies
List ofAccessPolicyOption
objects. Used to add access permissions to AdminUI. More detail.AccessPolicyOption
Single permission rule entry.Type
Value
Permission
Options are:None
UserManagerReadOnly
UserManager
AuthorizationServerManagerReadOnly
(OpenIddict Manager ReadOnly)AuthorizationServerManager
(OpenIddict Manager)AllReadOnly
All
CustomClaimTypes
List of ClaimTypes to add on top of the default ones in the UI. Each of these ClaimTypes have the following settings:Id
RequiredName
RequiredDisplayName
Description
IsRequired
ValueType
Options are:String
Int
DateTime
Boolean
Enum
RegularExpressionValidationRule
RegularExpressionValidationFailureDescription
AllowedValues
List of strings
Webhooks
WebhookOptions
Used to configure webhooks credentials and endpoints.ClientId
ClientSecret
Webhooks
Dictionary to configure the 4 webhooks AdminUI provides. Options are:UserRegistration
PasswordReset
MfaReset
- Each of these webhooks have the following settings:
Url
Scopes
Single string of whitespace separated scopes list
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
- The Application Client IdVault
- The KeyVault public UriSecret
- (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