AMT Help Files

Control Center appsettings

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.

 

 

{
  "Amt": {
    },
    },
    "Authentication": {
      "AmtOIDC": {
          },
        },
          }
        },
      }
    },
    },
      }
    }
    }
  },
    }
  },
}

 

Theme

This setting is explained in AMT Web Themes.

 

Culture

The language of the Control Center, used for localization. See Localization.


"Culture": "ENGLISH",

 

KeepAliveInterval

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,

 

BusinessLogic

Settings needed to communicate with the Control Center WebAPI.


"BusinessLogic": {
  "Address": "https://<domain>[:port]/<path>",
  "RequestTimeout": 1.67
},

 

TransactionRenderer

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
},

 

AuthenticationType

The authentication type used to log into the Control Center, the only valid option is "OIDC" (OpenID Connect).


"AuthenticationType": "OIDC",

 

OIDC

This section holds the settings for OpenID Connect authentication.


"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
  },
...

 

CookieAuthenticationOptions

The 'CookieAuthenticationOptions' section holds settings for the cookie used for user authentication.


"CookieAuthenticationOptions": {
  "Cookie": {
    "Name": ".Amt.CC.Auth",
    "Domain": "",
    "Path": "/",
    "SameSite": "None"
  }
},

 

AmtOIDC

This section holds the remaining OpenID Connect options.


"AmtOIDC": {
  ...
  "DisableRefreshTokens": false,
  "RefreshThreshold": 60,
  "EnableClientAssertion": false,
  "ClientAssertionAlgorithm": "RS256",
  "CertificateConfig": {
  ...

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": ""
}

 

DataProtection

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\\"
},

 

WebSessionState

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"
     }
}

 

Logging

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"
  }
},

 

AllowedHosts

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": "*"