This page lists all the appsettings.json settings available for the Control Center (Core).
The appsettings.json file is located in the folder <AMT Environment>\AmtTools\ControlCenterCore\
The appsettings file is (sub-)divided into the following sections.
| Section | Description |
| AMT | The main section where most settings are located. |
| Logging | Section for the logging settings for the Web Application. |
| AllowedHosts | Solo settings which restricts the hosts which may access the Web Application. |
This setting is explained in AMT Web Themes.
The language of the Control Center, used for localization. See Localization.
"Culture": "ENGLISH",The number of minutes between keepalive calls originating from a JavaScript script in the browser. It is important that this interval is shorter or equal to the lifetime of the authentication tokens and the web session timeout.
"KeepAliveInterval": 5,Settings needed to communicate with the Control Center WebAPI.
"BusinessLogic": {
"Address": "https://<domain>[:port]/<path>",
"RequestTimeout": 1.67
}Settings needed to communicate with the Transaction Renderer (Blazor) web application, which is used for the view transactions feature in the Control Center.
"TransactionRenderer": {
"Address": "https://<domain>[:port]/<path>",
"RequestTimeout": 1.67
}The authentication type used to log into the Control Center, the only valid option is "OIDC" (OpenID Connect).
"AuthenticationType": "OIDC",This section holds the settings for OpenID Connect authentication.
preferred_username is used as claim type."AmtOIDC": {
"OIDC": {
"ClientId": "amt-controlcenter",
"Authority": "https://login.example.org/amt-applications/v2/auth",
"Scope": [ "openid profile amt-controlcenter-api-scope" ],
"ClientSecret": "c8A6L7j5E3N0n9Y",
"TokenValidationParameters": {
"NameClaimType": "preferred_username"
},
"RequireHttpsMetadata": true
},
...
}The 'CookieAuthenticationOptions' section holds settings for the cookie used for user authentication.
None if the application is used in an iframe.Undefined the default value which does not set a SameSite field, None to disable SameSite restrictions, Lax to send the cookie with "same-site" requests and with "cross-site" top-level navigations, and Strict to only send the cookie with "same-site" requests."CookieAuthenticationOptions": {
"Cookie": {
"Name": ".Amt.CC.Auth",
"Domain": "",
"Path": "/",
"SameSite": "None"
}
}This section holds the remaining OpenID Connect options.
RS256."AmtOIDC": {
...
"DisableRefreshTokens": false,
"RefreshThreshold": 60,
"EnableClientAssertion": false,
"ClientAssertionAlgorithm": "RS256",
"CertificateConfig": {
...
}Configuration options for the certificate used to sign the client assertion. This section can be left out if client assertion is disabled.
"CertificateConfig": {
"AllowInvalid": true,
"Subject": "amt-application-cert",
"StoreName": "MY",
"StoreLocation": "LocalMachine",
"Path": "certificate.pfx"
"Password": ""
}The DataProtection setting contains settings for ASP.NET Core data protection, which is used to encrypt the session
state and authentication cookie, amongst other things. This section is optional and allows the keys to be saved to a
specified folder, where they will be encrypted with DPAPI (Data Protection Application Programming Interface),
allowing only accounts from the same system to access them. This is a replacement for the ASP.NET MachineKey.
When this section is not included in the appsettings file, keys are saved to the registry which is the default.
"DataProtection": {
"ApplicationName": "",
"KeyRingFolder": "D:\\keyringfolder\\"
}The 'WebSessionState' section contains optional settings for the ASP.NET Core web sessions used by the Control Center Core web application.
"WebSessionState": {
"IdleTimeout": 10,
"IOTimeout": 1,
"Cookie": {
"Domain": "",
"Path": "/",
"Name": ".Amt.CC.WebSession"
}
}Sets the logging levels for the various ASP.NET Core components of the web application. These settings do not need be
adjusted in a normal situation.
The allowed log levels are, from most to least detailed: Trace, Debug, Information,
Warning, Error, Critical and None.
"Logging": {
"LogLevel": {
"Default": "Information",
"Microsoft": "Warning",
"Microsoft.Hosting.Lifetime": "Information",
"System.Net.Http": "Warning"
}
}In the AllowedHosts section, access to the web application can be restricted to specific hostnames.
The
value is a semicolon-delimited list of host names without port numbers.
By default all hostnames are allowed
by the asterisk (*) wildcard.
Disallowed users will get a HTTP 400 error code (Bad Request).
"AllowedHosts": "*"