AMT Help Files

Application Center appsettings

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

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

The appsettings file is 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 Settings that restrict the hosts that can 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 contains settings for the cookie used for user authentication.

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

AmtOIDC

This section contains 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 omitted 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 options for ASP.NET Core data protection, which is used to encrypt the session state and authentication cookie, among other things. This section is optional and allows keys to be stored in a specified folder, where they are encrypted with DPAPI (Data Protection API), allowing access only to accounts from the same system. This is a replacement for the ASP.NET MachineKey.
When this section is not included in the appsettings.json file, keys are saved to the registry by 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": "*"

Contents