Sso Saml Entraid
import Inc0_sso_saml_before_you_begin from './sso-saml-before-you-begin.mdx'; import Inc1_sso_saml_ldapsync from './sso-saml-ldapsync.mdx'; import Inc2_sso_saml_faq from './sso-saml-faq.mdx';
This page provides guidance on configuring SAML with Microsoft Entra ID for Mattermost.
- Need to configure Entra ID for OpenID Connect authentication instead? See the Entra ID Single Sign-On documentation for details.
- See the supported SAML encryption methods in the authentication configuration settings documentation.
Prerequisites¶
- A Microsoft Entra tenant containing applicable user data.
- A verified custom domain for your tenant. See Microsoft's Add your custom domain name to your tenant documentation for details.
- A Microsoft Entra ID P1 or P2 license.
- An account with at least the Application Administrator role in your Entra tenant.
Set up an enterprise app for Mattermost SSO in Entra ID¶
- Sign in to the Microsoft Entra admin center with an account that has at least the Application Administrator role.
- In the left navigation menu, select Entra ID > Enterprise applications.
- Select + New application.
- Select + Create your own application.
- In the What's the name of your app? field, enter Mattermost.
- Under What are you looking to do with your application?, select Integrate any other application you don't find in the gallery (Non-gallery).
- Select Create. Entra provisions the application; this may take a few seconds.
- In the Mattermost enterprise application settings, select Manage > Users and groups, then assign the approved users and/or groups that should have access to Mattermost.
Alternatively, you can select Manage > Properties, set Assignment required? to No, then select Save. This grants Mattermost access to all users in your Entra tenant — evaluate whether this aligns with your organization's access control requirements before proceeding.
- In the Mattermost enterprise application settings, select Manage > Single sign-on, then select SAML under Select a single sign-on method.
-
Select Edit in the Basic SAML Configuration section, then set the fields below and select Save:
- Identifier (Entity ID):
https://<your-mattermost-url> - Reply URL (Assertion Consumer Service URL):
https://<your-mattermost-url>/login/sso/saml - Sign on URL:
https://<your-mattermost-url>/login
- Identifier (Entity ID):
-
Select Edit in the Attributes & Claims section, then configure the required claim and additional claims as described below.
How Entra claims map to Mattermost
The SAML assertion Entra sends to Mattermost contains a set of claims — name/value pairs describing the user. Mattermost reads these claims based on the attribute names you configure in System Console > Authentication > SAML 2.0 > Attributes (for example, Email Attribute, Username Attribute, First Name Attribute).
The Claim name you set in Entra must match the value you enter in the corresponding Mattermost attribute field exactly, character for character. The Value (also called Source attribute) tells Entra which user property to send — for example,
user.mailsends the user's email address.a. Required claim — Unique User Identifier (Name ID)
Set the Name identifier format and Source attribute values as required for your environment. The Name ID is part of the SAML assertion, but Mattermost account binding is controlled by the Id Attribute (SAML) setting if you configure it, or by email otherwise. If you want immutable user binding in Mattermost, add a separate
Idclaim under Additional claims and set its Value (source attribute) to an immutable Entra attribute such asuser.objectid.user.userprincipalnameis also a common choice for Name ID when a human-readable identifier is preferred, with the trade-off that renames in Entra can orphan the corresponding Mattermost account if you rely on it for identity matching.b. Additional claims
By default, Entra populates this section with four claims using the
http://schemas.xmlsoap.org/ws/2005/05/identity/claims/...namespace. These work, but we recommend replacing them with short, readable names that match the attribute fields in Mattermost. To edit a claim, select it, update the Name field (and clear the Namespace field), then save.Mattermost matches each attribute by its full claim name, including the namespace, exactly as it appears in the SAML assertion. By default, Entra emits its built-in claims under the namespace
http://schemas.xmlsoap.org/ws/2005/05/identity/claims/— so the claim that appears in the Claim name column asemailaddressis actually sent in the assertion ashttp://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress.Entering only the short name (for example,
emailorname) in a Mattermost attribute field will not match, and login will fail with an error such asSAML login was unsuccessful because one of the attributes is incorrect... <attribute> attribute is missing.You have two options:
- Clear the namespace on each claim in Entra ID (the approach shown in the table below) so the claim name becomes the short value (for example,
email), then enter that same short value in Mattermost; or - Leave the default namespace in Entra ID and enter the fully-qualified claim name in Mattermost (for example,
http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress).
If a login fails, the safest way to confirm the exact claim names being sent is to capture and decode the SAML response from the browser (for example, with the SAML-tracer browser extension) and read the
Nameattribute of each<Attribute>element.The following claim configuration covers a typical Mattermost setup (using the clear-namespace option):
Mattermost attribute field Entra claim name Entra source attribute Email Attribute emailuser.mailUsername Attribute usernameuser.mailnicknameFirst Name Attribute firstnameuser.givennameLast Name Attribute lastnameuser.surnamePosition Attribute positionuser.jobtitleUse
user.mailnicknamerather thanuser.userprincipalnameas the source for the username claim. The user principal name is typically formatted as an email address (user@domain.com), but Mattermost usernames cannot contain the@character, so SAML logins usinguser.userprincipalnamewill fail. The mail nickname is the local part of the email address (the portion before@) and maps cleanly to a valid Mattermost username.If your organization doesn't populate
mailnicknameconsistently, another option is a custom Entra attribute or a transformation that strips the domain from the UPN.After editing, your Attributes & Claims page should look similar to the screenshot below:

The Guest, Admin, Nickname, and Preferred Language attributes are also configurable in Mattermost if you want to drive them from Entra. Use the same pattern: pick a short claim name in Entra, set its source attribute, and enter the matching claim name in the corresponding Mattermost attribute field.
- Clear the namespace on each claim in Entra ID (the approach shown in the table below) so the claim name becomes the short value (for example,
-
Select Edit in the SAML Certificates section. Select Sign SAML response and assertion for Signing Option and SHA-256 for Signing Algorithm, then select Save.
- Select the Certificate (Base64) Download link in the SAML Certificates section. This is the Identity Provider Public Certificate to be uploaded to Mattermost.
- In the Mattermost enterprise application settings, select Security > Token encryption. Select Import Certificate to import the Service Provider certificate. If you used the Bash script referenced in the Before you begin section, this is the
mattermost-x509.crtfile. The Import dialog says to upload a certificate with a file extension.cer, but.crtfiles are also accepted. Upload the file then select Add. - Select the
...to the right of the imported certificate details, select Activate token encryption certificate, then select Yes to activate. -
Copy the Tenant ID for use in the Mattermost SAML 2.0 URL settings.
Entra exposes three different GUIDs during this setup, and it's easy to confuse them. The Tenant ID identifies your entire Entra directory, while the Application ID and Object ID (visible on the enterprise application's Properties page) identify the Mattermost SAML application within that directory. Mattermost uses the Tenant ID and Application ID; the Object ID is not used.
To find the Tenant ID, select Entra ID from the admin center home, then locate the Tenant ID value in the Basic information panel on the Overview page.

-
Copy the Application ID for use in the Identity Provider Metadata URL setting in the Mattermost SAML 2.0 settings.
To find the Application ID, select Entra ID > Enterprise applications from the left navigation menu, select the Mattermost application, then copy the Application ID from the Properties page (shown alongside the Object ID, which is not needed).
Configure SAML Sign-On for Mattermost¶
- In the Mattermost System Console, select Authentication > SAML 2.0.
- Set Enable Login With SAML 2.0 to True.
- Set Identity Provider Metadata URL:
https://login.microsoftonline.com/<your-tenant-id>/federationmetadata/2007-06/federationmetadata.xml?appid=<your-app-id> - Select Get SAML Metadata From IdP to verify that the SAML metadata can be retrieved successfully.
- Set SAML SSO URL:
https://login.microsoftonline.com/<your-tenant-id>/saml2 - Set Identity Provider Issuer URL (trailing slash is required):
https://sts.windows.net/<your-tenant-id>/ - Choose the Identity Provider Public Certificate file from step 13 of Set up an enterprise app for Mattermost SSO in Entra ID then upload.
- Set Verify Signature to True.
- Set Service Provider Login URL:
https://<your-mattermost-url>/login/sso/saml - Set Service Provider Identifier:
https://<your-mattermost-url> - Set Enable Encryption to True.
- Choose your Service Provider Private Key file then upload. If you used the Bash script referenced in the Before you begin section, this is the
mattermost-x509.keyfile. - Choose your Service Provider Public Certificate then upload. If you used the Bash script referenced in the Before you begin section, this is the
mattermost-x509.crtfile. - Set Sign Request to True if you want Mattermost to sign outbound AuthnRequests sent to Entra ID — this is distinct from Entra signing its SAML responses and assertions (configured in step 12 of the Entra setup). If enabled, set Signature Algorithm to RSAwithSHA256 (Entra ID requires RSA-SHA256 for signed requests) and upload Mattermost's public certificate to Entra ID for request verification: in the enterprise application, select SAML Certificates, then upload the
mattermost-x509.crtfile under Verification certificates.
The Test single sign-on with Mattermost SAML tool in Microsoft Entra ID does not sign the request even if Sign Request is set to True in Mattermost. Depending on your security settings and key length, the Entra ID testing tool may successfully sign in while an actual sign in request from your Mattermost login page results in the error AADSTS90015: Requested query string is too long. since Entra ID handles the initial request with an HTTP GET redirect rather than HTTP POST.
- Set attribute settings to match the attributes configured in step 11 of the Set up an enterprise app for Mattermost SSO in Entra ID section. Each value must match the full claim name sent in the assertion, including the namespace, exactly. See the important note under step 11 for details and a common failure mode.
- Set the Login Button Text to suit your environment.
- Select the Save button.