Skip to content

Conversation

@cwarnermm cwarnermm added this to the v11.3.0 milestone Dec 22, 2025
@cwarnermm cwarnermm added 1: Dev Review Requires review by a core commiter 2. SME Review Guidance labels Dec 22, 2025
@github-actions
Copy link

Newest code from mattermost has been published to preview environment for Git SHA 599a914

@enahum
Copy link
Contributor

enahum commented Dec 22, 2025

@cwarnermm I glanced at it and I spotted a few things that are incorrect.. going to take my time to
review this tomorrow and try and guide you a bit more soecially regarding steps on Entra

Copy link
Contributor

@enahum enahum left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Intune.md

Check this file to see if it helps.

The implementation plan has more info about the error codes. (i'll share over DM)


* Commit to Azure AD ``objectId`` as the authoritative identity.
* Ensure all authentication methods (OAuth, SAML, LDAP) resolve to the same value.
* Confirm access tokens include the ``oid`` claim.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this will be part of the configuration steps when configuring in Entra, not sure this is needed here.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is it accurate to say that Entra configuration enforces these conditions, or should we phrase this as "must be validated by the admin during Entra setup"?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I mean, this is something that they will HAVE to configure in Entra when they register the application (This is not registering the mobile application, just an Entra application, then during the configuration of that Application they will need to add some claims the the access token, but the access token even without optional claims, will include the oid

Screenshot for reference

Image

* You require Android Intune MAM support (not yet available).
* Your deployment cannot use Microsoft Entra ID (Azure AD).
* Your identity strategy cannot use Azure AD ``objectId`` as the authoritative user identifier.
* You need a rollout model where users can defer or bypass Intune enrollment.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This point is interesting, cause they can have multiple login methods, only the login method selected in the Intune MAM configuration in the system console is subject to this.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think we need to make this clearer.. for example they can have users with another login method and this is then a false statement, guest users and again this is a false statement.

Comment on lines 73 to 86
* Register the Mattermost mobile app as a public/native Entra application.
* Copy the **Application (Client) ID**.

To register an application in Microsoft Entra, see: https://learn.microsoft.com/en-us/entra/identity-platform/quickstart-register-app

* Configure the iOS platform with the correct bundle ID and redirect URI.

For Entra portal steps, see: https://learn.microsoft.com/en-us/entra/identity-platform/scenario-mobile-app-configuration

For redirect URI formatting details, see: https://learn.microsoft.com/en-us/entra/identity-platform/how-to-add-redirect-uri

* Grant required Intune MAM API permissions with admin consent.

To grant tenant-wide admin consent, see: https://learn.microsoft.com/en-us/entra/identity/enterprise-apps/grant-admin-consent
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

not at all.

Register an Application in Entra that will be use to authenticate the users.

this link works To register an application in Microsoft Entra, see: https://learn.microsoft.com/en-us/entra/identity-platform/quickstart-register-app and we can keep that, but probably best to direct them to configure this for Single tenant

The redirect URI should remain empty

Once the app is registered, they should Expose an API more info here: https://learn.microsoft.com/en-us/entra/identity-platform/quickstart-configure-app-expose-web-apis

The API to be exposed should be api://<APPLICATION-ID> normally filled automatically, then add a scope named login.mattermost

Once that is done, they need to Add a client application, add the Client Id as listed below and assign the Authorized scopes to api://<APPLICATION-ID>/login.mattermost

  • Mattermost Mobile Beta: 64e9952b-20eb-46dc-92ad-99089ed24903
  • Mattermost Mobile: not yet created, we will need to update this document

in addition I will share a script once we have the Client Id for Mattermost Mobile so we can attach it here.

Then in Token configuration -> Add optional claim, Select Token type Access then select the claims

  • email
  • family_name
  • given_name
  • preferred_username
  • upn

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

To finalize the documentation, I'll need:

  • Production Mobile Client ID
  • Confirmation that login.mattermost is the final scope name
  • Confirmation that all listed access token claims are mandatory
  • The script you mentioned (or guidance on where it will live)

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

To finalize the documentation, I'll need:

  • Production Mobile Client ID
  • Confirmation that login.mattermost is the final scope name
  • Confirmation that all listed access token claims are mandatory
  • The script you mentioned (or guidance on where it will live)
  • Production Mobile Client ID -> @iyampaul still needs to configure this, I need it too.
  • login.mattermost is the FINAL scope
  • Not all claims are mandatory, but let's act as if they are.
  • The script I can provide once I have the Production Mobile Client ID, the Guidance should be in the document I shared in the section that describes the configuration for "Expose an API"

3. Enter your credentials.
4. When prompted, tap **Enroll**.

During enrollment, you may see the Microsoft sign-in screen again. This is normal and usually takes only a few seconds.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this does not happen during sign-in only if Intune is enabled mid-session

During enrollment, you may see the Microsoft sign-in screen again. This is normal and usually takes only a few seconds.

5. When enrollment completes, you are notified.
6. When prompted, enter a PIN to add an extra layer of protection for your work data.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this is only if the policy enforces a PIN


.. note::

If you tap **Cancel**, you will not be able to use Mattermost on mobile until enrollment succeeds. You can retry immediately or `log out <#what-happens-when-i-log-out-manually>`__ and retry later.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this is only in mid-session, not during signin

Comment on lines 107 to 128
If you try to copy content from Mattermost into another app, the paste will not work.

Screenshot & Screen Recording Restrictions
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

To prevent sensitive content from being captured, you will not be able to take screenshots or record your screen while using Mattermost.

If you try to take a screenshot or record your screen, the screenshot or recording will not be captured.

File Save Restrictions
~~~~~~~~~~~~~~~~~~~~~~~

To keep work files protected, you will not be able to save files to personal locations.

If you try to save a file from Mattermost to a personal location, the save will not work. Files can be saved only to locations approved by your organization.

Browser & Sharing Restrictions
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

To ensure data stays within protected apps, you will not be able to open links in unapproved browsers or share content to unmanaged apps.

If you tap a link in Mattermost, it opens only in an approved browser. If you try to share content to an unmanaged app, the share will not work.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

All of these are enforced or not depending on the Intune policy, perhaps we should point to a microsoft documentation that explains each policy or we should try to be broad with the explanation.

@github-actions
Copy link

Newest code from mattermost has been published to preview environment for Git SHA 6334a30

@github-actions
Copy link

Newest code from mattermost has been published to preview environment for Git SHA 3350638

@github-actions
Copy link

Newest code from mattermost has been published to preview environment for Git SHA 0f31a06

@github-actions
Copy link

Newest code from mattermost has been published to preview environment for Git SHA f47ab17

@github-actions
Copy link

Newest code from mattermost has been published to preview environment for Git SHA a2dfc71

@github-actions
Copy link

Newest code from mattermost has been published to preview environment for Git SHA 90580db

@github-actions
Copy link

Newest code from mattermost has been published to preview environment for Git SHA 3af81d6

@cwarnermm cwarnermm requested a review from enahum December 23, 2025 22:23
@cwarnermm cwarnermm requested a review from enahum January 7, 2026 20:31
@github-actions
Copy link

github-actions bot commented Jan 7, 2026

Newest code from mattermost has been published to preview environment for Git SHA 5147147

Copy link
Contributor

@enahum enahum left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

sorry, the comments remain in a pending state


* Commit to Azure AD ``objectId`` as the authoritative identity.
* Ensure all authentication methods (OAuth, SAML, LDAP) resolve to the same value.
* Confirm access tokens include the ``oid`` claim.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I mean, this is something that they will HAVE to configure in Entra when they register the application (This is not registering the mobile application, just an Entra application, then during the configuration of that Application they will need to add some claims the the access token, but the access token even without optional claims, will include the oid

Screenshot for reference

Image

Comment on lines 73 to 86
* Register the Mattermost mobile app as a public/native Entra application.
* Copy the **Application (Client) ID**.

To register an application in Microsoft Entra, see: https://learn.microsoft.com/en-us/entra/identity-platform/quickstart-register-app

* Configure the iOS platform with the correct bundle ID and redirect URI.

For Entra portal steps, see: https://learn.microsoft.com/en-us/entra/identity-platform/scenario-mobile-app-configuration

For redirect URI formatting details, see: https://learn.microsoft.com/en-us/entra/identity-platform/how-to-add-redirect-uri

* Grant required Intune MAM API permissions with admin consent.

To grant tenant-wide admin consent, see: https://learn.microsoft.com/en-us/entra/identity/enterprise-apps/grant-admin-consent
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

To finalize the documentation, I'll need:

  • Production Mobile Client ID
  • Confirmation that login.mattermost is the final scope name
  • Confirmation that all listed access token claims are mandatory
  • The script you mentioned (or guidance on where it will live)
  • Production Mobile Client ID -> @iyampaul still needs to configure this, I need it too.
  • login.mattermost is the FINAL scope
  • Not all claims are mandatory, but let's act as if they are.
  • The script I can provide once I have the Production Mobile Client ID, the Guidance should be in the document I shared in the section that describes the configuration for "Expose an API"

Step 5: Validate Using the Mobile App
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

* Ensure test users are assigned in Intune and properly licensed.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

They'll get an alert saying

"Consent Denied"
"You denied consent for Intune management. The affected accounts have been unenrolled and signed out."

So of course, this is not true from the part of the user, but still the consent is missing.

| Custom attributes | Not supported | Unsupported by Intune |
+-------------------+------------------+------------------------------+

Attribute Synchronization & Access Enforcement
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"Your account isn't fully set up yet. Please sign in to Mattermost via the web or desktop app first."

@github-actions
Copy link

github-actions bot commented Jan 8, 2026

Newest code from mattermost has been published to preview environment for Git SHA 3240e43

@github-actions
Copy link

github-actions bot commented Jan 9, 2026

Newest code from mattermost has been published to preview environment for Git SHA 9a770d3

@github-actions
Copy link

github-actions bot commented Jan 9, 2026

Newest code from mattermost has been published to preview environment for Git SHA bf6a4e8

@github-actions
Copy link

github-actions bot commented Jan 9, 2026

Newest code from mattermost has been published to preview environment for Git SHA 31d650e

@github-actions
Copy link

github-actions bot commented Jan 9, 2026

Newest code from mattermost has been published to preview environment for Git SHA dceacd5

@cwarnermm cwarnermm requested review from enahum and esarafianou and removed request for iyampaul January 9, 2026 19:32
4. Authorize the ``api://<APPLICATION-ID>/login.mattermost`` scope.
5. Save your changes.

If the official client application ID isn't yet available, complete the remaining steps and return here once Mattermost provides it.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

we have the one for the beta app, I already shared it but here it is again just in case 64e9952b-20eb-46dc-92ad-99089ed24903 we can add this one and once we have the id for the production app we can update this doc.

4. When enrollment completes, you are notified.
5. If your organization’s Intune App Protection Policy requires it, you’ll be prompted to set a PIN to protect your work data. Once the PIN is confirmed, the Mattermost Mobile App unlocks access to your workspace.

If you dismiss enrollment during sign-in, return to the sign-in flow and complete enrollment to continue using Mattermost on that device.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

enrollment cannot be dismissed, this happens automatically on sign-in, what they dismiss/cancel is the login flow.

In the event that Intune is enabled mid-session, they could dismiss the prompt to enroll, but this seems to belong in the next section.

@cwarnermm cwarnermm requested a review from enahum January 12, 2026 16:32
@github-actions
Copy link

Newest code from mattermost has been published to preview environment for Git SHA f1eea82

@github-actions
Copy link

Newest code from mattermost has been published to preview environment for Git SHA 7f36db7

@github-actions
Copy link

Newest code from mattermost has been published to preview environment for Git SHA 8aec224

Copy link
Contributor

@enahum enahum left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

almost there

@cwarnermm cwarnermm requested a review from enahum January 12, 2026 17:39
@github-actions
Copy link

Newest code from mattermost has been published to preview environment for Git SHA 844e7bc

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

1: Dev Review Requires review by a core commiter 2. SME Review Guidance

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants