Configure the Agent's Settings
This guide shows how to configure the agent's application settings via the web.config
,
appsettings.json
and appsettings.agent.json
files.
Overview
Usercube provides JSON files to configure varied application settings, named
appsettings.json
and
appsettings.agent.json
.
This page describes the optimal configuration of the production agent's application settings.
Configure the Agent's Settings
Configure the agent's settings by proceeding as follows:
-
From the
Runtime/Agent
folder, copy the filesappsettings.json
,appsettings.agent.json
andweb.config
and paste them in theRuntime
folder, thus replacing the pre-existing ones. -
Open
web.config
and make sure that, in theaspNetCore
tag, the value ofarguments
is set to./identitymanager-Agent.dll
.When needing to get the agent's logs, set also
stdoutLogEnabled
totrue
. See more details in Microsoft's documentation.
web.config
...
3. Open `appsettings.json` and make sure that:
- **License** contains a valid license;
- **IdentityServer** contains the encryption certificate's path and password provided by
NETWRIX' team, in order to secure agent/server identification;
For example (in `appsettings.json`):
```json
"IdentityServer": {
"X509KeyFilePath": "./identitymanager.pfx",
"X509KeyFilePassword": "secret"
}
-
you get an encryption certificate which will be used to encrypt specific files such as logs or temporary files, and that EncryptionCertificate contains its path and password;
For example (in
appsettings.json
):"EncryptionCertificate": {
"File": "./identitymanager-Files.pfx",
"Password": "secret",
"EncryptFile": true
}EncryptFile can stay set to
false
while verifying the agent installation, but for security reasons it must be set totrue
afterwards.If the certificates' passwords contain
@
, then they must be escaped via the@
as first character of the strings. -
ApplicationUri contains the server's address, provided by NETWRIX' team when working in a SaaS environment;
For example (in
appsettings.json
):"ApplicationUri": "http://localhost:5000"
Do not write a
/
character at the end of the string. -
Cors > AllowAnyHeader, AllowAnyMethod and AllowCredentials are set to
true
;For example (in
appsettings.json
):"Cors": {
"AllowAnyHeader": "true",
"AllowAnyMethod": "true",
"AllowCredentials": "true"
}
-
Open
appsettings.agent.json
and make sure that:-
OpenId > AgentIdentifier specifies the agent's name which must match the XML configuration. See more details.
For example (in
appsettings.agent.json
):"OpenId": {
"AgentIdentifier": "MyAgent"
}With the following configuration:
For example (in XML):
<Agent Identifier="MyAgent" DisplayName_L1="My Agent" URI="https://contoso.com" />
-
OpenId > OpenIdClients > Job contains the non-hashed value of the password of "Job-Remote" provided by NETWRIX' team�
For example (in
appsettings.agent.json
):"OpenId": {
"AgentIdentifier": "MyAgent",
"OpenIdClients": {
"Job": "secret"
}
}and add the hashed value of this password to the
OpenIdClient
namedJob
from the XML configuration;For example (in XML):
<OpenIdClient Identifier="Job" HashedSecret="K7gNU3sdo+OL0wNhqoVWhr3g6s1xYv72ol/pe/Unols=" ConsolidationMode="Merge" />
-
OpenId > DefaultOpenIdClient is set to
Job
;For example (in
appsettings.agent.json
):"OpenId": {
"AgentIdentifier": "MyAgent",
"OpenIdClients": {
"Job": "secret"
},
"DefaultOpenIdClient": "Job"
} -
PasswordResetSettings > TwoFactorSettings > ApplicationUri contains the server's address, provided by NETWRIX' team when working in a SaaS environment;
For example (in
appsettings.agent.json
):"PasswordResetSettings": {
"TwoFactorSettings": {
"ApplicationUri": "http://localhost:5000"
}
} -
PasswordResetSettings > EncryptionCertificate contains contains the path and password of the certificate used to secure password tokens;
For example (in
appsettings.agent.json
):"PasswordResetSettings": {
"TwoFactorSettings": {
"ApplicationUri": "http://localhost:5000"
},
"EncryptionCertificate": {
"File": "../identitymanager.pfx",
"Password": "secret"
}
} -
PasswordResetSettings > MailSettings > PickupDirectory is set to the
Mails
folder and FromAddress tono-reply@<organization>.com
;For example (in
appsettings.agent.json
):"PasswordResetSettings": {
"TwoFactorSettings": {
"ApplicationUri": "http://localhost:5000"
},
"EncryptionCertificate": {
"File": "../identitymanager.pfx",
"Password": "secret"
},
"MailSettings": {
"PickupDirectory": "../Mails",
"FromAddress": "no-reply@contoso.com"
}
} -
SourcesRootPaths contains the path to the
Sources
folder.For example (in
appsettings.agent.json
):"SourcesRootPaths": [
"C:/identitymanager/Sources"
]
-
Next Steps
To continue, configure the local server to install IIS via Server Manager.