Authentication: Configuration
The authentication is configured within the access
configuration key
in the configuration file (linkurious/data/config/production.json
):
authRequired
(default:true
): Whether to require authentication (see below how to enable or disable authentication).guestMode
(default:false
): Enable the guest mode.loginTimeout
(default:Infinity
): Seconds of inactivity after which a user is logged out.dataEdition
(default:true
): Enable the creation, edition, and deletion of nodes and edges in all data-sources. Permissions can be fine-tuned for each group, see the documentation about users and groups. If set tofalse
, all edition requests sent through Linkurious Enterprise to the data-sources will be rejected.widget
(default:true
): Enable to publish visualizations online. Published visualizations are always accessible by anonymous users.externalUsersGroupMapping
(optional): How to map external groups to Linkurious Enterprise groups (see how to configure group mapping).externalUsersAllowedGroups
(optional): List of external groups of users allowed to log in into Linkurious Enterprise.externalUserDefaultGroupId
(optional): Default group id automatically set for new external users when no other rule is set inexternalUsersGroupMapping
. This configuration setting should not be used whenautoRefreshGroupMapping
is true, otherwise it may result in users with no groups to have no access to the data-source.autoRefreshGroupMapping
(default:false
): Iftrue
, when an external user logs in, their groups are reset according toexternalUsersGroupMapping
and are also not allowed to be updated.ldap
(optional): The connection to the LDAP service (see how to configure LDAP).msActiveDirectory
(optional): The connection to the Microsoft Active Directory service (see how to configure Active Directory).oauth2
(optional): The connection to an OAuth2/OpenID Connect identity provider (see how to configure Azure AD, Google or a generic OpenID Connect provider).saml2
(optional): The connection to a SAML2 identity provider (see how to configure SAML2 / ADFS).floatingLicenses
(default:Infinity
): The maximum number of users that can connect to Linkurious Enterprise at the same time.
Local vs. external authentication
To access Linkurious Enterprise when authRequired
is true
, users need accounts in Linkurious Enterprise.
Administrators can create accounts directly in Linkurious Enterprise (see how to create users)
or rely on an external authentication service.
Linkurious Enterprise supports the following external authentication services:
- LDAP
- Microsoft Active Directory
- Microsoft Azure Active Directory
- Google Suite
- OpenID Connect
- SAML2 / ADFS
If your company uses an authentication service that Linkurious Enterprise does not support yet, please get in touch.
When opting for external authentication, it is recommended to have at least one local administrator account configured as a fallback in case the third party authentication provider is unavailable.
Disabling authentication
Authentication can be disabled by setting authRequired
to false
.
When user authentication is disabled, all actions are performed under
the special account named Unique User
. The unique user has unrestricted
access and does not require a password, so anyone can access the platform.
We strongly discourage you to disable user authentication, as this leaves your data accessible to anyone. This option should only be considered in the case of a standalone local installation for evaluation or demonstration purposes.
Enabling authentication
If local authentication is disabled, it can be enabled from Linkurious Enterprise user interface.
Once local authentication is enabled, users need an account to access Linkurious Enterprise. Administrators can create accounts directly in Linkurious Enterprise (see how to create users).
To enable authentication use the Web user interface via the Admin > Users menu:
The following screen will be prompted if authentication is disabled. Click Enable Authentication.
Create an admin account and click Save and enable.
Floating licenses
When access.floatingLicenses
is defined, this is the behavior when a new user tries to log
into the server while it is full:
- if any session has been idle for more than 30 minutes, it is kicked to make space for the new user
- otherwise, if the new user is an administrator, the most idle session is kicked to make space for the new user
- otherwise, the new user fails to authenticate and gets an error message stating that the server is full.