Skip to main content
To get an overview over all available login mechanisms, have a look at Authentication. When using local users, we recommend to:
  • Use secure passwords or passphrases. Make them unique, random, and long; preferably create them in a password generator of your favorite password manager.
  • Don’t share accounts.
  • Enable 2FA.

Quickstart

  1. In the Expert Editor, open auth.yml in auth/auth/. Make sure the following configuration is present. Normally it is pre-configured. Rename examplePassword to a more meaningful name.
    auth.yml
  2. Open passwordFile.yml in the same folder and add the local users. Below you find the available attributes that you can configure. We recommend to always require 2FA via totpRequired.
passwordFile.yml
  1. Click Publish. The users become available within about one minute.
The following users attributes are available:

2FA/MFA onboarding

Password file users can be forced to set up TOTP during their next login by adding totpRequired: true to the user entry in passwordFile.yml.
passwordFile.yml
Afterward, click Publish. The authentication configuration becomes active within about one minute, and the user will then be forced into a TOTP onboarding flow during the next login. 2FA Login If the onboarding is successful, the following changes will be automatically made by xorlab:
  • totpSeedBase32 is stored on the user object
  • totpRequired is removed again (in this way, a new TOTP onboarding can be triggered by setting it to true again)
After onboarding, the user must provide a valid TOTP code when logging in.
By default, xorlab generates the seed automatically and updates the passwordFile.yml. However, if necessary, you can manually set the seed yourself. One can be created with openssl rand 20 | base32.

Password hash generator

  1. Run the docker exec -it auth_auth create_hash command on the XCC terminal to generate a password hash from the password you enter and re-type when prompted. You should get the output similar to the one below:
  2. Copy the generated hash, open Expert Editor and paste it into auth/auth/passwordFile.yml as a value for the passwordHash key of a particular user.
  3. Once you finish adding password hashes for all users, click Publish. After about one minute, the changes are hot-reloaded and active.
In case you don’t have access to the XCC terminal, run htpasswd -nBC 10 ignore | sed 's/ignore:/{bcrypt}/' on a Linux terminal to generate a password hash as alternative to step 1 above.

Enable Logging

With this authorization method, it’s good to know whether there were any unsuccessful login attempts. You can use the logging system for that:
  1. Follow the instructions for logging audit trail events to create a log for the audit.access.denied event.
  2. Your auth/auth/logback-audit.xml config file should look like the one below:
If you want to log all login attempts, both unsuccessful and successful, just change the logger name value to "audit.access".

Multi-Tenancy

The setup on this page applies unchanged in a multi-tenant deployment. Two things are added on top: a tenant entry per user that matches the tenant name in guarded_tenants.yml, and a tenant-restricted user role in roles.

Enable Tenant Login

Complete per-tenant password file example, and the other login options available to tenants.