AMT Help Files

Application Center appsettings

This page lists all the appsettings.json settings available for the Application Center (Core).

The appsettings.json file is located in the folder <AMT Environment>\AmtTools\ApplicationCenterCore\

 

The appsettings file is (sub-)divided into the following sections.

Section Description
AMT The main section where most settings are located.
ApplicationCenter A sub section under AMT where settings unique to the Application Center are located.
Logging Section for the logging settings for the Web Application.
Blazor Section for settings related to the Blazor Web Clients. 
AllowedHosts Solo settings which restricts the hosts which may access the Web Application.

 

 

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

 

HideMenu

With this setting set to true, the Application Center will start with the left menu hidden. The default value is false.


"HideMenu": false,

 

ShowLogOff

When this setting is added and set to false, the Log off link in the Application Center will not be shown. The default value is true.


"ShowLogOff": true,

 

LogOffBehavior

This setting is explained in Session Logout Behaviour.

 

Theme

This setting is explained in AMT Web Themes.

 

Culture

The language of the Application 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,

 

AmtCookieEncryptionKey

This setting is explained in Generating Keys.

 

BusinessLogic

Settings needed to communicate with the Application Center WebAPI.


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

 

AuthenticationType

The authentication type used to log into the Application 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-applicationcenter",
    "Authority": "https://login.example.org/amt-applications/v2/auth",
    "Scope": [ "openid profile amt-applicationcenter-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.AC.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 Application Center Core web application.


"WebSessionState": {
   "IdleTimeout": 10,
   "IOTimeout": 1,
     "Cookie": {
       "Domain": "",
       "Path": "/",
       "Name": ".Amt.AC.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": "*"