docs/main/administration-guide/configure/authentication-configuration-settings.mdx
Mattermost supports up to 4 distinct, concurrent methods of user authentication:
Review and manage the following authentication configuration options in the System Console by selecting the Product menu, selecting System Console, and then selecting Authentication:
<Tip>System admins managing a self-hosted Mattermost deployment can edit the config.json file as described in the following tables. Each configuration value below includes a JSON path to access the value programmatically in the config.json file using a JSON-aware tool. For example, the EnableUserCreation value is under TeamSettings.
cat config/config.json | jq '.TeamSettings.EnableUserCreation'config.json file manually, look for an object such as TeamSettings, then within that object, find the key EnableUserCreation.Access the following configuration settings in the System Console by going to Authentication > Signup.
- LDAP and SAML users can always create a Mattermost account by logging in using LDAP or SAML user credentials, regardless of whether this configuration setting is enabled. - From Mattermost v10.9, email addresses enclosed in angle brackets (e.g., [[email protected]](mailto:[email protected])) will be rejected. To avoid issues, ensure all user emails comply with the plain address format (e.g., [email protected]). In addition, we strongly recommend taking proactive steps to audit and update Mattermost user data to align with this product change, as impacted users may face issues accessing Mattermost or managing their user profile. You can update these user emails manually using mmctl user email. - See the encryption options documentation for details on what encryption methods Mattermost supports for SAML.
Cloud admins can't modify this configuration setting.
</Note>Access the following configuration settings in the System Console by going to Authentication > Email.
Cloud admins can't modify this configuration setting.
</Note>- To provide users with only a single email sign in option on the login page, ensure that the enable sign-in with username configuration setting is set to false. - From Mattermost v10.9, email addresses enclosed in angle brackets (e.g., [[email protected]](mailto:[email protected])) will be rejected. To avoid issues, ensure all user emails comply with the plain address format (e.g., [email protected]). In addition, we strongly recommend taking proactive steps to audit and update Mattermost user data to align with this product change, as impacted users may face issues accessing Mattermost or managing their user profile. You can update these user emails manually using mmctl user email.
We highly recommended that email-based authentication is only used in small teams on private networks.
</Note>Access the following configuration settings in the System Console by going to Authentication > Password.
<Note>From Mattermost v11.0, password hashing uses PBKDF2 for enhanced security. User passwords are automatically migrated when they log in after upgrading to v11.0 or later. This migration is progressive and happens transparently when users authenticate.
</Note>You can customize the Forgot Password link URL by going to Site Configuration > Customization > Forgot Password Custom Link. See the configuration documentation for details.
</Note>Access the following configuration settings in the System Console by going to Authentication > MFA.
We recommend deploying Mattermost within your own private network, and using VPN clients for mobile access, so that Mattermost is secured with your existing protocols. If you choose to run Mattermost outside your private network, bypassing your existing security protocols, we recommend adding a multi-factor authentication service specifically for accessing Mattermost.
If your system has users who authenticate with methods other than AD/LDAP and email, MFA must be enforced with the authentication provider outside of Mattermost.
</Note>Access the following configuration settings in the System Console by going to Authentication > AD/LDAP. This opens the AD/LDAP setup wizard with step-by-step sections and testing to help configure each setting.
The wizard is organized into the following sections:
Each section includes a Test option you can use to verify your configuration incrementally, helping identify and resolve issues early in the setup process.
</Note>Configure your AD/LDAP server connection and basic authentication settings. Use the Test Connection button in this section to verify your server connection before proceeding to other configuration steps.
Synchronization with AD/LDAP settings in the System Console can be used to determine the connectivity and availability of arbitrary hosts. System admins concerned about this can use custom admin roles to limit access to modifying these settings. See the delegated granular administration) documentation for details.
</Note>Synchronization with AD/LDAP settings in the System Console can be used to determine the connectivity and availability of arbitrary hosts. System admins concerned about this can use custom admin roles to limit access to modifying these settings. See the delegated granular administration) documentation for details.
</Note>This field is required. Anonymous bind is not currently supported.
</Note>Define how Mattermost identifies and filters users and groups from your AD/LDAP directory. Use the Test Filters button in this section to verify your filters work correctly before proceeding to other configuration steps.
This filter uses the permissions of the Bind Username account to execute the search. This account should be specific to Mattermost and have read-only access to the portion of the AD/LDAP tree specified in the Base DN field.
</Note>This filter is only used when AD/LDAP Group Sync is enabled. See AD/LDAP Group Sync for more information.
</Note>If this setting is false, no additional users are designated as system admins by the filter. Users that were previously designated as system admins retain this role unless the filter is changed or removed.
Map AD/LDAP user attributes to Mattermost user profile fields. Use the Test Attributes button in this section to verify correct attribute mapping and data synchronization before proceeding to other configuration steps.
If a user's ID Attribute changes, a new Mattermost account is created that is not associated with the previous account. If you need to change this field after users have signed-in, use the mmctl ldap idmigrate command.
</Note>Configure group mapping for AD/LDAP group synchronization. Use the Test Group Attributes button in this section to verify proper group attribute mapping before proceeding to other configuration steps.
This attribute is only used when AD/LDAP Group Sync is enabled and it is required. See the AD/LDAP Group Sync documentation for more information.
</Note>This attribute is only used when AD/LDAP Group Sync is enabled and it is required. See the AD/LDAP Group Sync documentation for more information.
</Note>Configure timing and performance settings for AD/LDAP synchronization. These settings control how often Mattermost syncs with your AD/LDAP server.
LDAP syncs require a large number of database read queries. Monitor database load and adjust the sync interval to minimize performance degradation.
</Note>View synchronization status and manually trigger AD/LDAP synchronization. This section includes the AD/LDAP Synchronize Now button for immediate synchronization.
If a sync is Pending and does not complete, check that Enable Synchronization with AD/LDAP is set to true.
The following AD/LDAP configuration settings are available in the config.json file only and aren't available via the AD/LDAP wizard interface in the System Console.
The mmctl ldap sync command takes precedence over this server configuration setting. If you have this setting disabled, and run the mmctl command with the --include-removed-members flag, removed members will be re-added during LDAP synchronization.
Access the following configuration settings in the System Console by going to Authentication > SAML 2.0.
See the encryption options documentation for details on what encryption methods Mattermost supports for SAML.
In line with Microsoft ADFS guidance, we recommend configuring intranet forms-based authentication for devices that do not support WIA.
For more information, see AD/LDAP Setup for details.
- This setting should be false unless LDAP sync is enabled. Changing this setting from true to false will disable the override. - SAML IDs must match LDAP IDs when the override is enabled. - For more information, see AD/LDAP Setup for details.
</Note>Access the following configuration settings in the System Console by going to Authentication > OAuth 2.0. Settings for GitLab OAuth authentication can also be accessed under Authentication > GitLab in self-hosted deployments.
Use these settings to configure OAuth 2.0 for account creation and login.
For Enterprise subscriptions, GitLab settings can be found under OAuth 2.0
</Note>GitLab provides the Application Secret Key along with the the ID.
</Note>In line with Microsoft ADFS guidance we recommend configuring intranet forms-based authentication for devices that do not support WIA.
</Note>See the Entra ID Single Sign-On documentation for details.
</Note>See the Entra ID Single Sign-On documentation for details.
</Note>See the Entra ID Single Sign-On documentation for details.
</Note>See the Entra ID Single Sign-On documentation for details.
</Note>Access the following configuration settings in the System Console by going to Authentication > OpenID Connect.
GitLab OpenID is available in all plans. All other providers require Mattermost Enterprise or Professional.
</Note>See the GitLab Single Sign-On documentation for details.
</Note>See Step 2 of the GitLab Single Sign-On documentation for details.
</Note>See Step 2 of the GitLab Single Sign-On documentation for details.
</Note>See Step 2 of the GitLab Single Sign-On documentation for details.
</Note>See Step 2 of the GitLab Single Sign-On documentation for details.
</Note><table> <colgroup> <col style={{width: '100%'}} /> </colgroup> <tbody> <tr> <td><ul><li><strong>true</strong>: Allows team and account creation using Google OpenID authentication. | - System Config path: <strong>Authentication > OpenID Connect</strong> |</li></ul><dl><dt>- <strong>false</strong>: <strong>(Default)</strong> Disables Google OpenID authentication. | - <code>config.json</code> setting: <code>GoogleSettings</code> > <code>Enable</code> > <code>false</code> |</dt><dd><div class="line-block">- Environment variable: <code>MM_GOOGLESETTINGS_ENABLE</code> |</div></dd></dl><p>See <a href="mm-doc:%2Fadministration-guide%2Fonboard%2Fsso-google">Google Single Sign-On</a> implementation instructions. |</p></td> </tr> </tbody> </table>
- true: Allow team creation and account signup using Google OpenID Connect.
- false: (Default) Google OpenID Connect cannot be used for team creation or account signup.
In line with Microsoft ADFS guidance, we recommend configuring intranet forms-based authentication for devices that do not support WIA.
</Note>To make the preferred_username claim available, add it as an optional claim in the Azure Portal under App registrations > Token configuration. See Entra ID Single Sign-On for setup details.
The Discovery Endpoint setting can be used to determine the connectivity and availability of arbitrary hosts. System admins concerned about this can use custom admin roles to limit access to modifying these settings. See the delegated granular administration) documentation for details.
</Note>Access the following configuration settings in the System Console by going to Authentication > Guest Access.
Guest billing depends on channel access. Guests in exactly one channel are treated as single-channel guests and don't count toward the primary paid seat count. They're free up to a 1:1 ratio with licensed seats. Guests in multiple channels continue to count as paid active users. Direct messages and group messages don't affect whether a guest is counted as a single-channel guest. See the guest accounts documentation for full details.
</Note>This configuration setting applies to all Mattermost clients, including web, desktop app, and mobile app. See the guest accounts documentation for details.
</Note>See the guest accounts documentation for guest user setup details.
</Note>