OIDC Support
OpenID connect allow you to connect to the app using a third-party auth provider like Authelia, Authentik, keycloak and more. With OIDC, users only need to authenticate with the provider once to access all configured applications without additional passwords.
Configuration
After any changes you need to restart the app to apply them. After entering the client ID
the button for OIDC connection will appear on the login page. This uses the /login_oidc route then call /auth for the verification.
Connection Setup
To configure OIDC, add the following values to the .env
file, either using the /setup
route or by manually editing the file with a command like docker exec
:
You can find all those values quite easily in the provider's dashboard but here some hints: Server metadata URL usually end with this /.well-known/openid-configuration
Logout URL usually end with this /logout
Scopes, Claims, and Database Field Mapping
The next parameters are used to compare the received values from the OIDC with the JSON users database.
These defaults are recommended but can be customized. Here are some common OIDC fields:
OIDC
You will need to confirm with the provider system but those are the most common used:
given_name (the full name)
email (used to register in the provider)
preferred_username (username for login in the provider)
JSON
You can compare the previous values with the ones present in the JSON but under a different name.
full_name
email
username
The app will check for matching values in these fields and log in the user if there is a match.
Recommendations
Using the default field mappings is recommended, as they are widely supported. This setup compares values from the OIDC provider and the app's database to ensure that at least one field matches, allowing user login.
Auto Registration
If a user attempts to log in via OIDC and no matching fields are found, they can create a profile in the app. This will redirect them to /setup_profile
, where they can provide any additional information not supplied by the OIDC provider, such as their birthday, avatar, and full name. Auto-registration is disabled by default but can be enabled by setting ENABLE_AUTO_REGISTRATION=true
in the .env
file.
Disable Login Form
To enforce OIDC for users, set the environment variable ENABLE_DEFAULT_LOGIN
to false
, allowing only the OIDC button to be displayed.
Last updated