From d340aa05fdbe06356d0b618969054d5b34e77c58 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sven=20H=C3=BCster?= Date: Mon, 20 Apr 2026 14:12:50 +0200 Subject: [PATCH 01/16] Enhance SAML configuration instructions for Mattermost Updated instructions for configuring SAML attributes and claims in Entra for Mattermost integration, including detailed explanations of required and additional claims. --- .../onboard/sso-saml-entraid.rst | 58 +++++++++++++++++-- 1 file changed, 54 insertions(+), 4 deletions(-) diff --git a/source/administration-guide/onboard/sso-saml-entraid.rst b/source/administration-guide/onboard/sso-saml-entraid.rst index 2344db4dd41..ee6c5c95ba8 100644 --- a/source/administration-guide/onboard/sso-saml-entraid.rst +++ b/source/administration-guide/onboard/sso-saml-entraid.rst @@ -37,10 +37,60 @@ Set up an enterprise app for Mattermost SSO in Entra ID - **Reply URL (Assertion Consumer Service URL)**: ``https:///login/sso/saml`` - **Sign on URL**: ``https:///login`` -9. Select **Edit** in the **Attributes & Claims** section then set the below attributes: +9. Select **Edit** in the **Attributes & Claims** section, then configure the required claim and additional claims as described below. - a. Set the the **Unique User Identifier (Name ID)** required claim **Name identifier format** and **Source attribute** values as required for your environment. Setting the **Source attribute** to an immutable value such as ``user.objectid`` is recommended. - b. Edit claim names and namespaces under **Additional claims** to match SAML attribute settings you wish to set in Mattermost. Configurable settings are Email, Username, Id, Guest, Admin, First Name, Last Name, Nickname, Position, and Preferred Language. + **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.mail`` sends 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. Setting the **Source attribute** to an immutable value such as ``user.objectid`` is recommended, because unlike email addresses or usernames, the object ID never changes even if the user is renamed. Mattermost uses the Name ID as the user's unique identifier by default, so you do not need to add a separate ``Id`` claim under **Additional claims**. + + 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. + + The following claim configuration covers the most common Mattermost setup: + + .. list-table:: + :header-rows: 1 + :widths: 25 20 25 30 + + * - Mattermost attribute field + - Entra claim name + - Entra source attribute + - Notes + * - Id Attribute + - *(leave blank)* + - ``user.objectid`` (via Name ID) + - Uses the required Name ID claim set above. + * - Email Attribute + - ``email`` + - ``user.mail`` + - + * - Username Attribute + - ``username`` + - ``user.userprincipalname`` + - + * - First Name Attribute + - ``firstname`` + - ``user.givenname`` + - + * - Last Name Attribute + - ``lastname`` + - ``user.surname`` + - + + After editing, your **Attributes & Claims** page should look similar to the screenshot below: + + .. image:: ../../images/entra-attributes-and-claims.png + :alt: Entra Attributes & Claims page showing simplified claim names + :width: 100% + + Additional Mattermost SAML attributes — **Guest**, **Admin**, **Nickname**, **Position**, and **Preferred Language** — are optional. Add them only if you want to drive those fields from Entra (for example, mapping admin status from an Entra group or attribute). If you add them, 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. 10. 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**. 11. Select the **Certificate (Base64)** Download link in the **SAML Certificates** section. This is the **Identity Provider Public Certificate** to be uploaded to Mattermost. @@ -79,4 +129,4 @@ Configure SAML Sign-On for Mattermost :start-after: :nosearch: .. include:: sso-saml-faq.rst - :start-after: :nosearch: \ No newline at end of file + :start-after: :nosearch: From 83d5fed68bf15230c7db9b03ef5c9df8502cae1e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sven=20H=C3=BCster?= Date: Mon, 20 Apr 2026 14:35:32 +0200 Subject: [PATCH 02/16] Update sso-saml-entraid.rst --- source/administration-guide/onboard/sso-saml-entraid.rst | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/source/administration-guide/onboard/sso-saml-entraid.rst b/source/administration-guide/onboard/sso-saml-entraid.rst index ee6c5c95ba8..5c4e2a2a4a6 100644 --- a/source/administration-guide/onboard/sso-saml-entraid.rst +++ b/source/administration-guide/onboard/sso-saml-entraid.rst @@ -73,8 +73,8 @@ Set up an enterprise app for Mattermost SSO in Entra ID - * - Username Attribute - ``username`` - - ``user.userprincipalname`` - - + - ``user.mailnickname`` + - See note below. * - First Name Attribute - ``firstname`` - ``user.givenname`` @@ -84,6 +84,11 @@ Set up an enterprise app for Mattermost SSO in Entra ID - ``user.surname`` - + .. note:: + Use ``user.mailnickname`` rather than ``user.userprincipalname`` as 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 using ``user.userprincipalname`` will 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 ``mailnickname`` consistently, 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: .. image:: ../../images/entra-attributes-and-claims.png From 201af0cf552383efaec93e3b8712e6a63a8d1c21 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sven=20H=C3=BCster?= Date: Tue, 21 Apr 2026 09:30:34 +0200 Subject: [PATCH 03/16] Update sso-saml-entraid.rst --- .../onboard/sso-saml-entraid.rst | 55 +++++++++++-------- 1 file changed, 33 insertions(+), 22 deletions(-) diff --git a/source/administration-guide/onboard/sso-saml-entraid.rst b/source/administration-guide/onboard/sso-saml-entraid.rst index 5c4e2a2a4a6..bfd46556901 100644 --- a/source/administration-guide/onboard/sso-saml-entraid.rst +++ b/source/administration-guide/onboard/sso-saml-entraid.rst @@ -20,24 +20,27 @@ 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 -------------------------------------------------------- -1. Log into the Microsoft Azure portal and select the **Microsoft Entra ID** service. -2. In the left menu, select **Manage > Enterprise applications**. -3. Select the **New application** button. -4. In the **Search application** field, search for **Microsoft Entra SAML Toolkit** and select **Microsoft Entra SAML Toolkit**. -5. In the **Name** field, enter **Mattermost SAML** then select the **Create** button. -6. In the **Mattermost SAML** enterprise application settings, select **Manage > Users and Groups** to assign users and/or groups to the application **or** select **Manage > Properties** then set **Assignment required?** to **No** then select **Save**. -7. In the **Mattermost SAML** enterprise application settings, select **Manage > Single sign-on** then select **SAML** under **Select a single sign-on method**. -8. Select **Edit** in the **Basic SAML Configuration section** then set the below fields then select **Save**: +1. Sign in to the `Microsoft Entra admin center `__ with an account that has at least the **Application Administrator** role. +2. In the left navigation menu, select **Entra ID > Enterprise applications**. +3. Select **+ New application**. +4. Select **+ Create your own application**. +5. In the **What's the name of your app?** field, enter **Mattermost**. +6. Under **What are you looking to do with your application?**, select **Integrate any other application you don't find in the gallery (Non-gallery)**. +7. Select **Create**. Entra provisions the application; this may take a few seconds. +8. In the **Mattermost** enterprise application settings, select **Manage > Users and groups** to assign users and/or groups to the application, **or** select **Manage > Properties**, set **Assignment required?** to **No**, then select **Save**. +9. In the **Mattermost** enterprise application settings, select **Manage > Single sign-on**, then select **SAML** under **Select a single sign-on method**. +10. Select **Edit** in the **Basic SAML Configuration** section, then set the fields below and select **Save**: - - **Identity (Entity ID)**: ``https://`` - - **Reply URL (Assertion Consumer Service URL)**: ``https:///login/sso/saml`` - - **Sign on URL**: ``https:///login`` + - **Identifier (Entity ID)**: ``https://`` + - **Reply URL (Assertion Consumer Service URL)**: ``https:///login/sso/saml`` + - **Sign on URL**: ``https:///login`` -9. Select **Edit** in the **Attributes & Claims** section, then configure the required claim and additional claims as described below. +11. Select **Edit** in the **Attributes & Claims** section, then configure the required claim and additional claims as described below. **How Entra claims map to Mattermost** @@ -97,12 +100,20 @@ Set up an enterprise app for Mattermost SSO in Entra ID Additional Mattermost SAML attributes — **Guest**, **Admin**, **Nickname**, **Position**, and **Preferred Language** — are optional. Add them only if you want to drive those fields from Entra (for example, mapping admin status from an Entra group or attribute). If you add them, 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. -10. 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**. -11. Select the **Certificate (Base64)** Download link in the **SAML Certificates** section. This is the **Identity Provider Public Certificate** to be uploaded to Mattermost. -12. In the **Mattermost SAML** 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.crt`` file. The Import dialog says to upload a certificate with a file extension ``.cer``, but ``.crt`` files are also accepted. Upload the file then select **Add**. -13. Select the ``...`` to the right of the imported certificate details, select **Activate token encryption certificate**, then select **Yes** to activate. -14. On the **Home** page for **Microsoft Entra ID**, select the **Overview** link in the left navigation menu and copy the **Tenant ID** value. The **Tenant ID** will be used in Mattermost **SAML 2.0** URL settings. -15. In the left navigation menu, select **Manage > Enterprise applications**. Select the **Mattermost SAML** application then copy the **Application ID**. The **Application ID** will be used in the **Identity Provider Metadata URL** setting in the Mattermost **SAML 2.0** settings. +12. 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**. +13. Select the **Certificate (Base64)** Download link in the **SAML Certificates** section. This is the **Identity Provider Public Certificate** to be uploaded to Mattermost. +14. 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.crt`` file. The Import dialog says to upload a certificate with a file extension ``.cer``, but ``.crt`` files are also accepted. Upload the file then select **Add**. +15. Select the ``...`` to the right of the imported certificate details, select **Activate token encryption certificate**, then select **Yes** to activate. +16. Copy the **Tenant ID** for use in the Mattermost **SAML 2.0** URL settings. + + .. note:: + 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. + +17. 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 -------------------------------------- @@ -113,12 +124,12 @@ Configure SAML Sign-On for Mattermost 4. Select **Get SAML Metadata From IdP** to verify that the SAML metadata can be retrieved successfully. 5. Set **SAML SSO URL**: ``https://login.microsoftonline.com//saml2`` 6. Set **Identity Provider Issuer URL** (trailing slash is required): ``https://sts.windows.net//`` -7. Choose the **Identity Provider Public Certificate** file from step 11 of **Set up an enterprise app for Mattermost SSO in Entra ID** then upload. +7. Choose the **Identity Provider Public Certificate** file from step 13 of **Set up an enterprise app for Mattermost SSO in Entra ID** then upload. 8. Set **Verify Signature** to **True**. 9. Set **Service Provider Login URL**: ``https:///login/sso/saml`` 10. Set **Service Provider Identifier**: ``https://`` -11. Set **Enable Encryption** to **True** -12. 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.key`` file. +11. Set **Enable Encryption** to **True**. +12. 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.key`` file. 13. 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.crt`` file. 14. Set **Sign Request** to suit your environment. The **Signature Algorithm** must match the algorithm set in Entra ID (**RSAwithSHA256** is recommended). @@ -126,7 +137,7 @@ Configure SAML Sign-On for Mattermost 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. -15. Set attribute settings to match attributes configured in step 9 of the **Set up an enterprise app for Mattermost SSO in Entra ID** section. +15. 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. 16. Set the **Login Button Text** to suit your environment. 17. Select the **Save** button. From a09e76cf00f35ef21261e52851e73dd35f3dfa0e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sven=20H=C3=BCster?= Date: Tue, 21 Apr 2026 11:26:32 +0200 Subject: [PATCH 04/16] Update sso-saml-entraid.rst --- .../onboard/sso-saml-entraid.rst | 86 +++++++++---------- 1 file changed, 43 insertions(+), 43 deletions(-) diff --git a/source/administration-guide/onboard/sso-saml-entraid.rst b/source/administration-guide/onboard/sso-saml-entraid.rst index bfd46556901..40da82ae34e 100644 --- a/source/administration-guide/onboard/sso-saml-entraid.rst +++ b/source/administration-guide/onboard/sso-saml-entraid.rst @@ -42,63 +42,63 @@ Set up an enterprise app for Mattermost SSO in Entra ID 11. Select **Edit** in the **Attributes & Claims** section, then configure the required claim and additional claims as described below. - **How Entra claims map to Mattermost** + **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 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.mail`` sends the user's email address. + 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.mail`` sends the user's email address. - a. **Required claim — Unique User Identifier (Name ID)** + a. **Required claim — Unique User Identifier (Name ID)** - Set the **Name identifier format** and **Source attribute** values as required for your environment. Setting the **Source attribute** to an immutable value such as ``user.objectid`` is recommended, because unlike email addresses or usernames, the object ID never changes even if the user is renamed. Mattermost uses the Name ID as the user's unique identifier by default, so you do not need to add a separate ``Id`` claim under **Additional claims**. + Set the **Name identifier format** and **Source attribute** values as required for your environment. Setting the **Source attribute** to an immutable value such as ``user.objectid`` is recommended, because unlike email addresses or usernames, the object ID never changes even if the user is renamed. ``user.userprincipalname`` is also a common choice when a human-readable identifier is preferred, with the trade-off that renames in Entra can orphan the corresponding Mattermost account. Mattermost uses the Name ID as the user's unique identifier by default, so you do not need to add a separate ``Id`` claim under **Additional claims**. - b. **Additional claims** + 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. + 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. - The following claim configuration covers the most common Mattermost setup: + The following claim configuration covers a typical Mattermost setup: - .. list-table:: - :header-rows: 1 - :widths: 25 20 25 30 + .. list-table:: + :header-rows: 1 + :widths: 30 25 45 - * - Mattermost attribute field - - Entra claim name - - Entra source attribute - - Notes - * - Id Attribute - - *(leave blank)* - - ``user.objectid`` (via Name ID) - - Uses the required Name ID claim set above. - * - Email Attribute - - ``email`` - - ``user.mail`` - - - * - Username Attribute - - ``username`` - - ``user.mailnickname`` - - See note below. - * - First Name Attribute - - ``firstname`` - - ``user.givenname`` - - - * - Last Name Attribute - - ``lastname`` - - ``user.surname`` - - + * - Mattermost attribute field + - Entra claim name + - Entra source attribute + * - Id Attribute + - *(leave blank)* + - ``user.objectid`` (via Name ID) + * - Email Attribute + - ``email`` + - ``user.mail`` + * - Username Attribute + - ``username`` + - ``user.mailnickname`` + * - First Name Attribute + - ``firstname`` + - ``user.givenname`` + * - Last Name Attribute + - ``lastname`` + - ``user.surname`` + * - Position Attribute + - ``role`` + - ``user.jobtitle`` + * - *(custom attribute, optional)* + - ``department`` + - ``user.department`` - .. note:: - Use ``user.mailnickname`` rather than ``user.userprincipalname`` as 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 using ``user.userprincipalname`` will fail. The mail nickname is the local part of the email address (the portion before ``@``) and maps cleanly to a valid Mattermost username. + .. note:: + Use ``user.mailnickname`` rather than ``user.userprincipalname`` as 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 using ``user.userprincipalname`` will 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 ``mailnickname`` consistently, another option is a custom Entra attribute or a transformation that strips the domain from the UPN. + If your organization doesn't populate ``mailnickname`` consistently, 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: + After editing, your **Attributes & Claims** page should look similar to the screenshot below: - .. image:: ../../images/entra-attributes-and-claims.png - :alt: Entra Attributes & Claims page showing simplified claim names - :width: 100% + .. image:: ../../images/entra-attributes-and-claims.png + :alt: Entra Attributes & Claims page showing simplified claim names + :width: 100% - Additional Mattermost SAML attributes — **Guest**, **Admin**, **Nickname**, **Position**, and **Preferred Language** — are optional. Add them only if you want to drive those fields from Entra (for example, mapping admin status from an Entra group or attribute). If you add them, 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. + 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. 12. 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**. 13. Select the **Certificate (Base64)** Download link in the **SAML Certificates** section. This is the **Identity Provider Public Certificate** to be uploaded to Mattermost. From 252f318e1b0324eaf21ce356f5402e7072190f96 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sven=20H=C3=BCster?= Date: Tue, 21 Apr 2026 11:35:04 +0200 Subject: [PATCH 05/16] Add image for Tenant ID location in Entra Added an image reference for the Tenant ID location in Entra. --- source/administration-guide/onboard/sso-saml-entraid.rst | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/source/administration-guide/onboard/sso-saml-entraid.rst b/source/administration-guide/onboard/sso-saml-entraid.rst index 40da82ae34e..0c14b8994e3 100644 --- a/source/administration-guide/onboard/sso-saml-entraid.rst +++ b/source/administration-guide/onboard/sso-saml-entraid.rst @@ -111,6 +111,10 @@ Set up an enterprise app for Mattermost SSO in Entra ID 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. + .. image:: ../../images/entra-tenant-id.png + :alt: Where to find the Tenant ID + :width: 100% + 17. 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). From 80103156ac7a96d8364ebd1228f725029c77a133 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sven=20H=C3=BCster?= Date: Tue, 21 Apr 2026 11:35:44 +0200 Subject: [PATCH 06/16] Add files via upload --- source/images/entra-attributes-and-claims.png | Bin 0 -> 45855 bytes source/images/entra-tenant-id.png | Bin 0 -> 69703 bytes 2 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 source/images/entra-attributes-and-claims.png create mode 100644 source/images/entra-tenant-id.png diff --git a/source/images/entra-attributes-and-claims.png b/source/images/entra-attributes-and-claims.png new file mode 100644 index 0000000000000000000000000000000000000000..f4d659365f5cd04139a870631c090309885857d1 GIT binary patch literal 45855 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

l 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 Az5oCK literal 0 HcmV?d00001 diff --git a/source/images/entra-tenant-id.png b/source/images/entra-tenant-id.png new file mode 100644 index 0000000000000000000000000000000000000000..8e815e9eec64ee901bb09fbab5298a90eb10891d GIT binary patch literal 69703 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

<_nu$1BG#eMs|O0_ig1`43lm%4yqu@=?$= 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 literal 0 HcmV?d00001 From ee1196f3f893e9b3e6f2b3e19eb8f3e786f76da2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sven=20H=C3=BCster?= Date: Tue, 21 Apr 2026 11:41:39 +0200 Subject: [PATCH 07/16] Fix formatting of image attributes in SSO SAML guide --- source/administration-guide/onboard/sso-saml-entraid.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/source/administration-guide/onboard/sso-saml-entraid.rst b/source/administration-guide/onboard/sso-saml-entraid.rst index 0c14b8994e3..d73cea608d9 100644 --- a/source/administration-guide/onboard/sso-saml-entraid.rst +++ b/source/administration-guide/onboard/sso-saml-entraid.rst @@ -112,8 +112,8 @@ Set up an enterprise app for Mattermost SSO in Entra ID 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. .. image:: ../../images/entra-tenant-id.png - :alt: Where to find the Tenant ID - :width: 100% + :alt: Where to find the Tenant ID + :width: 100% 17. Copy the **Application ID** for use in the **Identity Provider Metadata URL** setting in the Mattermost **SAML 2.0** settings. From d2b8e2b397c203d3caaa295c6175faae743c52c5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sven=20H=C3=BCster?= Date: Tue, 21 Apr 2026 11:49:23 +0200 Subject: [PATCH 08/16] Update source/administration-guide/onboard/sso-saml-entraid.rst Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --- source/administration-guide/onboard/sso-saml-entraid.rst | 3 --- 1 file changed, 3 deletions(-) diff --git a/source/administration-guide/onboard/sso-saml-entraid.rst b/source/administration-guide/onboard/sso-saml-entraid.rst index d73cea608d9..52b95cf1270 100644 --- a/source/administration-guide/onboard/sso-saml-entraid.rst +++ b/source/administration-guide/onboard/sso-saml-entraid.rst @@ -83,9 +83,6 @@ Set up an enterprise app for Mattermost SSO in Entra ID * - Position Attribute - ``role`` - ``user.jobtitle`` - * - *(custom attribute, optional)* - - ``department`` - - ``user.department`` .. note:: Use ``user.mailnickname`` rather than ``user.userprincipalname`` as 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 using ``user.userprincipalname`` will fail. The mail nickname is the local part of the email address (the portion before ``@``) and maps cleanly to a valid Mattermost username. From 7f0d3f80c7ffd65aa0a2024118d94e8b3320fecd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sven=20H=C3=BCster?= Date: Tue, 21 Apr 2026 11:49:43 +0200 Subject: [PATCH 09/16] Update source/administration-guide/onboard/sso-saml-entraid.rst Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --- source/administration-guide/onboard/sso-saml-entraid.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/source/administration-guide/onboard/sso-saml-entraid.rst b/source/administration-guide/onboard/sso-saml-entraid.rst index 52b95cf1270..624f390766f 100644 --- a/source/administration-guide/onboard/sso-saml-entraid.rst +++ b/source/administration-guide/onboard/sso-saml-entraid.rst @@ -108,8 +108,8 @@ Set up an enterprise app for Mattermost SSO in Entra ID 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. - .. image:: ../../images/entra-tenant-id.png - :alt: Where to find the Tenant ID + .. image:: ../../images/entra-tenant-id.png + :alt: Where to find the Tenant ID :width: 100% 17. Copy the **Application ID** for use in the **Identity Provider Metadata URL** setting in the Mattermost **SAML 2.0** settings. From 99c77579499eaa26ad49e720e95f3014929319af Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sven=20H=C3=BCster?= Date: Tue, 21 Apr 2026 11:51:21 +0200 Subject: [PATCH 10/16] Update source/administration-guide/onboard/sso-saml-entraid.rst Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --- source/administration-guide/onboard/sso-saml-entraid.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/administration-guide/onboard/sso-saml-entraid.rst b/source/administration-guide/onboard/sso-saml-entraid.rst index 624f390766f..4b1c1cb1311 100644 --- a/source/administration-guide/onboard/sso-saml-entraid.rst +++ b/source/administration-guide/onboard/sso-saml-entraid.rst @@ -50,7 +50,7 @@ Set up an enterprise app for Mattermost SSO in Entra ID a. **Required claim — Unique User Identifier (Name ID)** - Set the **Name identifier format** and **Source attribute** values as required for your environment. Setting the **Source attribute** to an immutable value such as ``user.objectid`` is recommended, because unlike email addresses or usernames, the object ID never changes even if the user is renamed. ``user.userprincipalname`` is also a common choice when a human-readable identifier is preferred, with the trade-off that renames in Entra can orphan the corresponding Mattermost account. Mattermost uses the Name ID as the user's unique identifier by default, so you do not need to add a separate ``Id`` claim under **Additional claims**. + 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 ``Id`` claim under **Additional claims** and set its **Value** (source attribute) to an immutable Entra attribute such as ``user.objectid``. ``user.userprincipalname`` is 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** From 9c215f54e5ee6dcc855d4ed9df65b7c590b79705 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sven=20H=C3=BCster?= Date: Tue, 21 Apr 2026 11:57:17 +0200 Subject: [PATCH 11/16] Update source/administration-guide/onboard/sso-saml-entraid.rst Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --- source/administration-guide/onboard/sso-saml-entraid.rst | 3 --- 1 file changed, 3 deletions(-) diff --git a/source/administration-guide/onboard/sso-saml-entraid.rst b/source/administration-guide/onboard/sso-saml-entraid.rst index 4b1c1cb1311..5a9630c8219 100644 --- a/source/administration-guide/onboard/sso-saml-entraid.rst +++ b/source/administration-guide/onboard/sso-saml-entraid.rst @@ -65,9 +65,6 @@ Set up an enterprise app for Mattermost SSO in Entra ID * - Mattermost attribute field - Entra claim name - Entra source attribute - * - Id Attribute - - *(leave blank)* - - ``user.objectid`` (via Name ID) * - Email Attribute - ``email`` - ``user.mail`` From 93e44462db80451a5c6479f9d2d25eb5f8f67ea7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sven=20H=C3=BCster?= Date: Tue, 21 Apr 2026 11:57:49 +0200 Subject: [PATCH 12/16] Update source/administration-guide/onboard/sso-saml-entraid.rst Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --- source/administration-guide/onboard/sso-saml-entraid.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/administration-guide/onboard/sso-saml-entraid.rst b/source/administration-guide/onboard/sso-saml-entraid.rst index 5a9630c8219..500391962ce 100644 --- a/source/administration-guide/onboard/sso-saml-entraid.rst +++ b/source/administration-guide/onboard/sso-saml-entraid.rst @@ -78,7 +78,7 @@ Set up an enterprise app for Mattermost SSO in Entra ID - ``lastname`` - ``user.surname`` * - Position Attribute - - ``role`` + - ``position`` - ``user.jobtitle`` .. note:: From 64ba8a1ad720381d701783a6fc408166a7e3a148 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sven=20H=C3=BCster?= Date: Tue, 21 Apr 2026 11:58:16 +0200 Subject: [PATCH 13/16] Add files via upload --- source/images/entra-attributes-and-claims.png | Bin 45855 -> 46776 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/source/images/entra-attributes-and-claims.png b/source/images/entra-attributes-and-claims.png index f4d659365f5cd04139a870631c090309885857d1..6bad055debd57436e9d7dc0f3364029bb530db92 100644 GIT binary patch literal 46776 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ΞEx~i=L3b7{O(>)8bT+v4iQ+Mg>FG8Z*NU@U+Nqok zyCM+QjLAdWv|VE2Q05~0 z8zdwplRxWZw(c&X-jzEM$(pYslYlMTZP`$iQ`Ds`yr;3bcSX90l~esJ^xvY6%a<%1 zI7y~f-~`dQNq+i$)1ik)Va)R#Zc+RgfX4zpAf#dNN&^{6@r;g*$y;M>k@NBb2d-;G z*eMWy6tmK2o06hr7oLH!ke4SKeZ=2pr9qn;DzK(60nXPs-Pmd^sio!lC4$p^v@1EG zkat65L!k3&CQhDZMAn?<;>A1&c22>+^7D}uHeXm<`)U6t_RZ@rUCO}+?%V1y#V_`t zccOc4rKZ}SL{{9VDqME)OLp8O3spV~daAr2gWY+jg8bM_i{{#5E73-)hBd`P?brXr lmHpnF_@8Y5H}K_(?%b5Z_Fy>$d)8+*(l^&DI^=ZiKLBHT3!VS~ literal 45855 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

l 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 Az5oCK From 26cdcb7db79f9e3c738c975cc7523b9e5a3d7682 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sven=20H=C3=BCster?= Date: Tue, 21 Apr 2026 12:24:52 +0200 Subject: [PATCH 14/16] Add SAML configuration prerequisites and certificate script Added instructions for generating a self-signed X.509 certificate for SAML configuration, including a Bash script reference and environment variable details. --- .../onboard/sso-saml-entraid.rst | 113 +++++++++++++++++- 1 file changed, 111 insertions(+), 2 deletions(-) diff --git a/source/administration-guide/onboard/sso-saml-entraid.rst b/source/administration-guide/onboard/sso-saml-entraid.rst index 500391962ce..9a7ac41e38c 100644 --- a/source/administration-guide/onboard/sso-saml-entraid.rst +++ b/source/administration-guide/onboard/sso-saml-entraid.rst @@ -11,8 +11,117 @@ This page provides guidance on configuring SAML with Microsoft Entra ID for Matt - Need to configure Entra ID for **OpenID Connect** authentication instead? See the :doc:`Entra ID Single Sign-On ` documentation for details. - See the encryption options documentation for details on what :ref:`encryption methods ` Mattermost supports for SAML. -.. include:: sso-saml-before-you-begin.rst - :start-after: :nosearch: +Before you begin +---------------- + +Before configuring SAML, you need to generate a private key and self-signed X.509 certificate. These are uploaded to Mattermost as the **Service Provider Private Key** and **Service Provider Public Certificate**, and the certificate is also uploaded to Entra ID for token encryption. + +You can generate these files with any tool that produces a 4096-bit RSA private key and a matching self-signed certificate. The Bash script below is provided as a reference; adapt the variables to your environment before running it. + +.. dropdown:: Reference: Bash script for generating a self-signed Service Provider certificate + :icon: code + + This script generates a 4096-bit RSA private key (``mattermost-x509.key``) and a self-signed X.509 certificate (``mattermost-x509.crt``) valid for 10 years. Set the environment variables below before running it — the defaults are placeholders and should not be used in production. + + .. list-table:: + :header-rows: 1 + :widths: 20 50 30 + + * - Variable + - Purpose + - Default + * - ``CRT_FILENAME`` + - Base name for the generated files (``.key``, ``.crt``). + - ``mattermost-x509`` + * - ``CRT_C`` + - Country value (ISO 3166-1 alpha-2 country code). + - ``US`` + * - ``CRT_L`` + - Locality value (city). + - ``Palo Alto`` + * - ``CRT_O`` + - Organization value. + - ``Mattermost`` + * - ``CRT_OU`` + - Organizational Unit value. + - ``DevOps`` + * - ``CRT_CN`` + - Common Name value. Set this to the hostname of your Mattermost server. + - ``base.example.com`` + * - ``CRT_SAN`` + - Subject Alternative Name value. Comma-separated list of DNS names and/or IPs the certificate should cover. Most Mattermost SAML setups only need a single DNS entry matching the Mattermost hostname (e.g., ``DNS.1:mattermost.example.com``). + - ``DNS.1:logs.example.com,DNS.2:metrics.example.com,IP.1:192.168.0.1,IP.2:127.0.0.1`` + + **Example invocation** for a Mattermost server at ``mattermost.example.com``: + + .. code-block:: bash + + CRT_CN="mattermost.example.com" \ + CRT_SAN="DNS.1:mattermost.example.com" \ + CRT_O="Acme Corp" \ + CRT_OU="IT" \ + CRT_C="DE" \ + CRT_L="Berlin" \ + ./gencert.sh + + **The script:** + + .. code-block:: bash + + #!/bin/bash + + umask 007 + + FILE_NAME="${CRT_FILENAME:-"mattermost-x509"}" + CERT="${FILE_NAME}.crt" + KEY="${FILE_NAME}.key" + CSR="${FILE_NAME}.csr" + + # generate key + openssl genrsa -out $KEY 4096 + + if [ $? -ne 0 ]; then + echo "Error generating key" + exit + fi + + # generate certificate signing request + openssl req \ + -new \ + -key $KEY \ + -out $CSR \ + -subj "/C=${CRT_C:-"US"}/L=${CRT_L:-"Palo Alto"}/O=${CRT_O:-"Mattermost"}/OU=${CRT_OU:-"DevOps"}/CN=${CRT_CN:-"base.example.com"}" + + if [ $? -ne 0 ]; then + echo "Error generating certificate signing request (csr)" + exit + fi + + # generate self-signed certificate + openssl x509 \ + -req \ + -days 3650 \ + -in $CSR \ + -signkey $KEY \ + -sha256 \ + -out $CERT \ + -extfile <(echo -e "basicConstraints=critical,CA:true,pathlen:0\nsubjectAltName=${CRT_SAN:-"DNS.1:logs.example.com,DNS.2:metrics.example.com,IP.1:192.168.0.1,IP.2:127.0.0.1"}") + + if [ $? -ne 0 ]; then + echo "Error generating self-signed certificate" + exit + fi + + rm $CSR + chmod 600 $CERT + + echo -e "\nSuccess! $KEY and $CERT generated." + + After the script completes, you'll have ``mattermost-x509.key`` and ``mattermost-x509.crt`` in the current directory. Keep the ``.key`` file secure — it's the private key for your SAML Service Provider identity. + + For details on verifying the generated certificate or password-protecting the private key, see the :doc:`gencert.sh reference `. + +Save both files. The ``.key`` is the **Service Provider Private Key** and the ``.crt`` is the **Service Provider Public Certificate** referenced throughout the rest of this guide. Prerequisites ------------- From 35dc2c38aaf29ce9a38605bf0e6c53d0bca995e6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sven=20H=C3=BCster?= Date: Tue, 21 Apr 2026 14:12:32 +0200 Subject: [PATCH 15/16] Refactor SAML certificate generation instructions Updated the Bash script reference for generating a self-signed Service Provider certificate, consolidating information and improving clarity. --- .../onboard/sso-saml-entraid.rst | 203 +++++++++--------- 1 file changed, 99 insertions(+), 104 deletions(-) diff --git a/source/administration-guide/onboard/sso-saml-entraid.rst b/source/administration-guide/onboard/sso-saml-entraid.rst index 9a7ac41e38c..e71377e5ff8 100644 --- a/source/administration-guide/onboard/sso-saml-entraid.rst +++ b/source/administration-guide/onboard/sso-saml-entraid.rst @@ -18,110 +18,105 @@ Before configuring SAML, you need to generate a private key and self-signed X.50 You can generate these files with any tool that produces a 4096-bit RSA private key and a matching self-signed certificate. The Bash script below is provided as a reference; adapt the variables to your environment before running it. -.. dropdown:: Reference: Bash script for generating a self-signed Service Provider certificate - :icon: code - - This script generates a 4096-bit RSA private key (``mattermost-x509.key``) and a self-signed X.509 certificate (``mattermost-x509.crt``) valid for 10 years. Set the environment variables below before running it — the defaults are placeholders and should not be used in production. - - .. list-table:: - :header-rows: 1 - :widths: 20 50 30 - - * - Variable - - Purpose - - Default - * - ``CRT_FILENAME`` - - Base name for the generated files (``.key``, ``.crt``). - - ``mattermost-x509`` - * - ``CRT_C`` - - Country value (ISO 3166-1 alpha-2 country code). - - ``US`` - * - ``CRT_L`` - - Locality value (city). - - ``Palo Alto`` - * - ``CRT_O`` - - Organization value. - - ``Mattermost`` - * - ``CRT_OU`` - - Organizational Unit value. - - ``DevOps`` - * - ``CRT_CN`` - - Common Name value. Set this to the hostname of your Mattermost server. - - ``base.example.com`` - * - ``CRT_SAN`` - - Subject Alternative Name value. Comma-separated list of DNS names and/or IPs the certificate should cover. Most Mattermost SAML setups only need a single DNS entry matching the Mattermost hostname (e.g., ``DNS.1:mattermost.example.com``). - - ``DNS.1:logs.example.com,DNS.2:metrics.example.com,IP.1:192.168.0.1,IP.2:127.0.0.1`` - - **Example invocation** for a Mattermost server at ``mattermost.example.com``: - - .. code-block:: bash - - CRT_CN="mattermost.example.com" \ - CRT_SAN="DNS.1:mattermost.example.com" \ - CRT_O="Acme Corp" \ - CRT_OU="IT" \ - CRT_C="DE" \ - CRT_L="Berlin" \ - ./gencert.sh - - **The script:** - - .. code-block:: bash - - #!/bin/bash - - umask 007 - - FILE_NAME="${CRT_FILENAME:-"mattermost-x509"}" - CERT="${FILE_NAME}.crt" - KEY="${FILE_NAME}.key" - CSR="${FILE_NAME}.csr" - - # generate key - openssl genrsa -out $KEY 4096 - - if [ $? -ne 0 ]; then - echo "Error generating key" - exit - fi - - # generate certificate signing request - openssl req \ - -new \ - -key $KEY \ - -out $CSR \ - -subj "/C=${CRT_C:-"US"}/L=${CRT_L:-"Palo Alto"}/O=${CRT_O:-"Mattermost"}/OU=${CRT_OU:-"DevOps"}/CN=${CRT_CN:-"base.example.com"}" - - if [ $? -ne 0 ]; then - echo "Error generating certificate signing request (csr)" - exit - fi - - # generate self-signed certificate - openssl x509 \ - -req \ - -days 3650 \ - -in $CSR \ - -signkey $KEY \ - -sha256 \ - -out $CERT \ - -extfile <(echo -e "basicConstraints=critical,CA:true,pathlen:0\nsubjectAltName=${CRT_SAN:-"DNS.1:logs.example.com,DNS.2:metrics.example.com,IP.1:192.168.0.1,IP.2:127.0.0.1"}") - - if [ $? -ne 0 ]; then - echo "Error generating self-signed certificate" - exit - fi - - rm $CSR - chmod 600 $CERT - - echo -e "\nSuccess! $KEY and $CERT generated." - - After the script completes, you'll have ``mattermost-x509.key`` and ``mattermost-x509.crt`` in the current directory. Keep the ``.key`` file secure — it's the private key for your SAML Service Provider identity. - - For details on verifying the generated certificate or password-protecting the private key, see the :doc:`gencert.sh reference `. - -Save both files. The ``.key`` is the **Service Provider Private Key** and the ``.crt`` is the **Service Provider Public Certificate** referenced throughout the rest of this guide. +The script generates a 4096-bit RSA private key (``mattermost-x509.key``) and a self-signed X.509 certificate (``mattermost-x509.crt``) valid for 10 years. Set the environment variables below before running it — the defaults are placeholders and should not be used in production. + +.. list-table:: + :header-rows: 1 + :widths: 20 50 30 + + * - Variable + - Purpose + - Default + * - ``CRT_FILENAME`` + - Base name for the generated files (``.key``, ``.crt``). + - ``mattermost-x509`` + * - ``CRT_C`` + - Country value (ISO 3166-1 alpha-2 country code). + - ``US`` + * - ``CRT_L`` + - Locality value (city). + - ``Palo Alto`` + * - ``CRT_O`` + - Organization value. + - ``Mattermost`` + * - ``CRT_OU`` + - Organizational Unit value. + - ``DevOps`` + * - ``CRT_CN`` + - Common Name value. Set this to the hostname of your Mattermost server. + - ``base.example.com`` + * - ``CRT_SAN`` + - Subject Alternative Name value. Comma-separated list of DNS names and/or IPs the certificate should cover. Most Mattermost SAML setups only need a single DNS entry matching the Mattermost hostname (e.g., ``DNS.1:mattermost.example.com``). + - ``DNS.1:logs.example.com,DNS.2:metrics.example.com,IP.1:192.168.0.1,IP.2:127.0.0.1`` + +**Example invocation** for a Mattermost server at ``mattermost.example.com``: + +.. code-block:: bash + + CRT_CN="mattermost.example.com" \ + CRT_SAN="DNS.1:mattermost.example.com" \ + CRT_O="Acme Corp" \ + CRT_OU="IT" \ + CRT_C="DE" \ + CRT_L="Berlin" \ + ./gencert.sh + +**The script:** + +.. code-block:: bash + + #!/bin/bash + + umask 007 + + FILE_NAME="${CRT_FILENAME:-"mattermost-x509"}" + CERT="${FILE_NAME}.crt" + KEY="${FILE_NAME}.key" + CSR="${FILE_NAME}.csr" + + # generate key + openssl genrsa -out $KEY 4096 + + if [ $? -ne 0 ]; then + echo "Error generating key" + exit + fi + + # generate certificate signing request + openssl req \ + -new \ + -key $KEY \ + -out $CSR \ + -subj "/C=${CRT_C:-"US"}/L=${CRT_L:-"Palo Alto"}/O=${CRT_O:-"Mattermost"}/OU=${CRT_OU:-"DevOps"}/CN=${CRT_CN:-"base.example.com"}" + + if [ $? -ne 0 ]; then + echo "Error generating certificate signing request (csr)" + exit + fi + + # generate self-signed certificate + openssl x509 \ + -req \ + -days 3650 \ + -in $CSR \ + -signkey $KEY \ + -sha256 \ + -out $CERT \ + -extfile <(echo -e "basicConstraints=critical,CA:true,pathlen:0\nsubjectAltName=${CRT_SAN:-"DNS.1:logs.example.com,DNS.2:metrics.example.com,IP.1:192.168.0.1,IP.2:127.0.0.1"}") + + if [ $? -ne 0 ]; then + echo "Error generating self-signed certificate" + exit + fi + + rm $CSR + chmod 600 $CERT + + echo -e "\nSuccess! $KEY and $CERT generated." + +After the script completes, you'll have ``mattermost-x509.key`` and ``mattermost-x509.crt`` in the current directory. Keep the ``.key`` file secure — it's the private key for your SAML Service Provider identity. For details on verifying the generated certificate or password-protecting the private key, see the :doc:`gencert.sh reference `. + +The ``.key`` is the **Service Provider Private Key** and the ``.crt`` is the **Service Provider Public Certificate** referenced throughout the rest of this guide. Prerequisites ------------- From f7728023f4dac6121486bb4801bda4878cbf927d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sven=20H=C3=BCster?= Date: Tue, 21 Apr 2026 20:36:22 +0200 Subject: [PATCH 16/16] Update source/administration-guide/onboard/sso-saml-entraid.rst Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --- source/administration-guide/onboard/sso-saml-entraid.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/source/administration-guide/onboard/sso-saml-entraid.rst b/source/administration-guide/onboard/sso-saml-entraid.rst index e71377e5ff8..79939e44477 100644 --- a/source/administration-guide/onboard/sso-saml-entraid.rst +++ b/source/administration-guide/onboard/sso-saml-entraid.rst @@ -43,10 +43,10 @@ The script generates a 4096-bit RSA private key (``mattermost-x509.key``) and a - Organizational Unit value. - ``DevOps`` * - ``CRT_CN`` - - Common Name value. Set this to the hostname of your Mattermost server. + - Common Name value. You can use any descriptive value for this SAML encryption certificate; it doesn't need to match your Mattermost hostname, though you can use the hostname if you prefer. - ``base.example.com`` * - ``CRT_SAN`` - - Subject Alternative Name value. Comma-separated list of DNS names and/or IPs the certificate should cover. Most Mattermost SAML setups only need a single DNS entry matching the Mattermost hostname (e.g., ``DNS.1:mattermost.example.com``). + - Subject Alternative Name value. Comma-separated list of DNS names and/or IPs to include in the certificate. For SAML encryption, Mattermost and Entra ID don't require these values to match the Mattermost hostname, though using the hostname is a valid convention. - ``DNS.1:logs.example.com,DNS.2:metrics.example.com,IP.1:192.168.0.1,IP.2:127.0.0.1`` **Example invocation** for a Mattermost server at ``mattermost.example.com``: