Web Client Configuration
The web client configuration is defined in the install directory, typically at these locations:
Configuration | Location |
---|---|
App Config | C:\Program Files\Sym3\Sym3 Operator\Sym3Web\Client\assets\config\config.prod.json |
Language | C:\Program Files\Sym3\Sym3 Operator\Sym3Web\Client\assets\i18n\en.json |
App Config
The app config control the operation of the Sym3 Web Client and for typical use cases this configuration would not need any modification.
Connection Settings
The web client connects directly (via websocket) to the Sym3 server as well as the Alarm server. These servers are assumed to be on the same host. The following settings modify these connections:
"sym3Server": {
"sslEnabled": false,
"server": "*",
"port": 27000
},
"sym3Alarms": {
"sslEnabled": false,
"server": "*",
"port": 20013,
"pollingInterval": 1000
}
Property | Description |
---|---|
sslEnabled | If the websocket is a secure websocket, this needs to be set to true. |
server | The host to connect tom or ‘*’ if the host is the same as the web client host. Example: “172.18.19.3” or “myhost.net” |
port | The web socket port to connect to. |
pollingInterval | number |
Logging
The current logger options are limited to the web browser console. To modify the verbosity of logging, set the ’level’ property to one of ‘debug’, ‘info’, ‘warn’ or ’error’
"loggers": [
{
"name": "ConsoleLogger",
"config": {
"level": "Info"
}
}
]
Authentication
By default, authentication is disabled. However, there are two authentication methods supported:
Auth Mode | Description |
---|---|
BCS Auth | The standard authentication system bundled with Sym3 Operator. |
OAuth | Uses OAuth OIDC authentication methods. Sym3 Auth server is typically required for this. |
General Options
Setting the ‘disabled’ property to ‘false’ to enable authentication. If the ‘bcsAuthConfig’ section exists, BCS Auth will be enabled. If this section does not exist, then the section ‘oauthConfig’ is expected to be valid to enable OAuth authentication.
The ‘required’ property, when set to true, requires valid authentication before the web client loads.
Session Timeout
This setting defines the session timeout behaviour. The defaultTimeoutConfig
defines the default timeouts of no overrides match the current user. The timeout
value is the total timeout time in seconds while the warning
value determines the number of seconds before timeout to warn the user (timeout popup).
A timeout value of 0 means no timeout
Example:
"sessionTimeout": {
"defaultTimeoutConfig": {
"timeout": 300,
"warning": 30
}
},
When no user activity is detected for (300 - 30 = 270) seconds, the popup window will show, warning the user that their session will timeout. If no activity is detected for the remaining 30 seconds, the user is logged out.
Overrides
A collection of overrides can be defined to specify different timeout settings based on user information.
Property | Description |
---|---|
timeoutConfig | The ’timeout’ and ‘warning’ settings to apply to this override |
usernames | Optional: An array of user names to match. eg: usernames: [‘joe.schmoe’, ‘display.panel’] |
claimValuesEqual | Optional: Object defining claims and exact value matches. eg: claimValuesEqual: {‘department’: ‘HR’} |
claimValuesIncludes | Optional: Object defining claims and ‘contains’ values. eg: claimValuesIncludes: {‘roles’:‘operator’, ’email’: ‘@test.net’} |
If multiple overrides apply to the same user, the shortest timeout value is used.
Example:
"sessionTimeout": {
"defaultTimeoutConfig": {
"timeout": 300,
"warning": 30
},
"overrides": [
{
"timeoutConfig": {
"timeout": 600,
"warning": 30
},
"usernames": ["admin", "manager"]
},
{
"timeoutConfig": {
"timeout": 0,
"warning": 0
},
"claimValuesEqual": {'isPanel': true}
},
{
"timeoutConfig": {
"timeout": 900,
"warning": 30
},
"claimValuesIncludes": {'roles':'operator', 'email': '@test.net'}
},
]
},
BCS Auth
The Sym3 REST API supports a secure login process where the username and password is sent to the API only in encrypted form. The only configuration required is the location of the API endpoint.
Property | Description |
---|---|
apiHost | The host machine name or IP. ‘*’ means the website host is used. |
apiPort | Optional: The port if different from the standard ports (80/443). |
apiPath | The endpoint path. ‘/sym3api/v1/auth’ |
sslEnabled | This determines https or https |
NOTE: Default installs have the api at http://localhost/sym3api/v1/auth
OAuth
This configuration is used for OAuth OIDC process. Please see Angular Auth OIDC Client Docs for details.
Language
The language files contain common phrases used in the application. To modify an existing language, simply edit the values of the json objects in one of these files. Dynamically adding a new language is not supported.
Sample Language File
{
"general": {
"not_found" : "Not found"
},
"session": {
"timer": {
"title": "Session Timeout",
"message": "Your session will expire due to inactivity..."
}
},
"splash": {
"message": "A valid login is required to access Sym3 web client."
},
"auth": {
"login": "Login",
"cancel": "Cancel",
"username": "Username",
"password": "Password",
.
.
.