Initial proof of concept for macOS streamlined PSSO during enrollment #34096
+459
−1
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Resolves #33566
Background
Apple introduced new Platform SSO functions on macOS 26 (Tahoe) to streamline the user authentication
during Setup Assistant.
https://developer.apple.com/documentation/devicemanagement/implementing-platform-sso-during-device-enrollment
https://developer.apple.com/documentation/devicemanagement/errorcodeplatformssorequired
https://developer.apple.com/documentation/devicemanagement/extensiblesinglesignon
https://support.apple.com/guide/deployment/platform-sso-for-macos-dep7bbb05313/web
Company Portal is the Microsoft application used for PSSO on Apple devices. Microsoft says Company
Portal does not include support for the newly introduced Platform SSO functions on macOS Tahoe 26.
According to Microsoft, these functions will be evaluated and incorporated into future Company
Portal releases as appropriate. No timeline is provided.
https://techcommunity.microsoft.com/blog/microsoft-entra-blog/now-generally-available-platform-sso-for-macos-with-microsoft-entra-id/4437424
https://learn.microsoft.com/en-us/intune/intune-service/configuration/platform-sso-macos
https://learn.microsoft.com/en-us/intune/intune-service/configuration/use-enterprise-sso-plug-in-macos-with-intune
Okta has similarly stated that their Okta Verify app does not currently support the new Platform SSO
functions on macOS 26.
Additionally, Jamf reported the same lack of IdP support in their blog post regarding the new Platform
SSO functions. https://www.jamf.com/blog/macos-26-platform-sso-simplified-setup/
Additional investigation
Despite the IdP vendor's statements about lack of current support, there have been isolated reports
that community members have been able to use new Platform SSO functions on macOS 26; however, the broader
community has not been able to independently confirm those isolated reports. We found no
documentation by vendors or community members that describes a working setup in any detail.
Proof of concept
Nevertheless, we endeavored to create a proof of concept implementation of the new Platform SSO
functions to see how far we could get. We were able to successfully enroll a macOS 26 device
using the new Platform SSO functions, but we were not able to complete the user authentication
portion of the flow because of the lack of IdP support.
Apple describes the steps for the Platform SSO during enrollment as follows:
We were able to successfully complete steps 1-11, including returning the required 403 PSSO error
with details that allow the device to configure Platform SSO and trigger an initial authentication
with the organization’s identity provider. As expected, the device requested the package manifest,
the package itself (i.e. Microsoft Company Portal app), and the ExtensibleSingleSignOn profile,
which were served by Fleet. The device successfully installed the profile and the package. The
device created a web view for the AuthURL (served by Entra) and presented the sign-in view to the user.
In the web view, we were able to successfully sign with Entra credentials. After completing the web
view sign-in, we were presented with second sign-in form. The second form was a Setup Assistant
dialog with a prompt to sign in to your organization using the Entra username and password.
Attempting to sign in to the second form using the same Entra credentials failed. We believe this is
because Entra does not fully support the
apple-remotemanagement-user-login
callback scheme used byPlatform SSO in the context of device enrollment.
Follow-up
Monitor IdP vendor announcements and community forums for support of the new Platform SSO functions
on macOS 26.
Investigate approaches to implement a Fleet-hosted AuthURL to support the
apple-remotemanagement-user-login
callback scheme (the Apple docs are ambiguous on this part ofthe flow). This might be similar to our existing approaches used for OTA enrollment or
account-driven enrollment flows.
Technical design considerations:
shared endpoints with ad hoc branching logic that is getting quite complex.
configuration_web_url
approachthat we currently use for DEP enrollment with end-user auth enabled. For the new features, the
cloudConfig profile cannot include the
configuration_web_url
key and must instead only use theurl
key (i.e. the same key used for DEP enrollment when end-user auth is not enabled).Design considerations for UX for admins to configure PSSO during Setup Assistant:
contemplated by Apple seems to be closer to the way we handle InstallEnterpriseApplication
requests for macOS, where Fleet generates and serves a manifest that in turn points to a
package hosted by Fleet. We currently use this approach for fleetd base and the bootstrap
package, but in earlier iterations (now deprecated) we also used to support it for other
packages. Potentially the package could be hosted at a location specified by the
admin; however, in that case, the admin would also need to generate/host the manifest too (or
Fleet would need to download the package and generate the manifest)
provided by the IdP. This will probably not be a 1:1 mapping to the existing IdP settings.
to strike a balance between simplicity and flexibility for power users.