Platform SSO not working on macos devices for zscaler application other app like safari / chrome working well.
Need help from apple expert on the same.
Environment :
IDP : Entra ID
MDM : Omnissa Workspace one UEM
platform : macOS
Explore the intersection of business and app development. Discuss topics like device management, education, and resources for aspiring app developers.
Selecting any option will automatically load the page
Post
Replies
Boosts
Views
Activity
Hello!
I’m testing certificate issuance using a locally running Smallstep step-ca ACME server with the device-attest-01 challenge.
I’ve created a custom MDM profile for this purpose. When I install the profile, the certificate is issued successfully, but it is not saved to the Keychain as stated in the documentation. I can only see the certificate via mdmclient or in the Wi-Fi settings dropdown menu.
Is this expected behavior, or are there additional settings that need to be included in the MDM profile?
Topic:
Business & Education
SubTopic:
Device Management
Our organization is deploying passwordless authentication. Instead of using a password, employees must use the Microsoft Authenticator app to complete the login process.
Unfortunately, employees with passwordless authentication can't complete the login on the Wi-Fi Captive portal with SAML authentication. The reason is that when an employee switches to the Microsoft Authenticator app, the Apple CNA (Apple Network Captive Assistant) disappears. As a result, the authentication process breaks.
According to the https://developer.apple.com/news/?id=q78sq5rv source, iOS 14+ devices support the RFC-8908 standard. Unfortunately, we couldn't find a reliable source on how this feature works on iOS devices.
The question is: Is it possible to automatically forward Wi-Fi clients to the SAML authentication portal in the default browser app (for example, Safari) after connecting an employee to Wi-Fi?
We have created provisioning profile from apple developer account for our iPadOS app, the expiry date shown in the profile is 20-Aug-2026. However, when when I build the app with this provisional profile the expiry date shown in the app is 6-May-2026. My Certification expires on 2027. I see a embeded.mobileprovision profile inside the app, and it has an expiry of 6-May-2026. I did a clean build, cleared unnecessary profiles from profile folder, created a new provisional profile and tried, but nothing seems help.
We have a few apps, and no other app has this issue, only those two apps have this issue. As the expiry date the shorten, we also need to special handle these two apps, Will you please help me to resolve this issue?
Thanks.
I am checking the response of DeviceInformation Command to collect network information from iPad.
On iPad(iPad Pro 11, M4) devices that use WiFi without inserting Usim or Esim, network values such as CurrentMCC and ICCID are received in response to the DeviceInformation command.
cf.)Even though it may be garbage value, I blurred the unique information just in case.
<key>ServiceSubscriptions</key>
<array>
<dict>
<key>CarrierSettingsVersion</key>
<string>61.0</string>
<key>CurrentCarrierNetwork</key>
<string></string>
<key>CurrentMCC</key>
<string>450</string>
<key>CurrentMNC</key>
<string>08</string>
<key>EID</key>
<string>blah blah</string>
<key>ICCID</key>
<string>blah balh</string>
<key>IMEI</key>
<string>blah blah</string>
<key>IsDataPreferred</key>
<true/>
<key>IsRoaming</key>
<true/>
<key>IsVoicePreferred</key>
<false/>
<key>Label</key>
<string>Provisioning</string>
<key>LabelID</key>
<string>00000000-0000-0000-0000-000000000000</string>
<key>PhoneNumber</key>
<string></string>
<key>Slot</key>
<string>CTSubscriptionSlotOne</string>
<key>SubscriberCarrierNetwork</key>
<string>iPad</string>
</dict>
</array>
This is a bit weird. If I collect the same information from an iPhone(iPhone 15 Pro Max) that only uses wifi and does not use Usim or Esim, it does not respond with values like ICCID, CurrentMCC, etc.
<key>ServiceSubscriptions</key>
<array>
<dict>
<key>IMEI</key>
<string>blah blah</string>
<key>Slot</key>
<string>CTSubscriptionSlotOne</string>
</dict>
<dict>
<key>EID</key>
<string>blah blah</string>
<key>IMEI</key>
<string>blah blah</string>
<key>Slot</key>
<string>CTSubscriptionSlotTwo</string>
</dict>
</array>
I'm confused by the network information collected. Is there a reason why the collected network information of iPad and iPhone are different?
Topic:
Business & Education
SubTopic:
Device Management
Tags:
iOS
iPadOS
Core Telephony
Device Management
We are experiencing a critical issue where VPP app installations are consistently taking an excessive amount of time, leading to significant delays in asset association. We are deployionThis is a systemic problem that affects all VPP apps, not just an isolated case.
Apps:
39470db7-e475-4269-9709-c80641657027 =>
com.zimride.instant
d0876900-2579-463e-99f1-b7c85ef5c5e8
com.microsoft.azureauthenticator
Troubleshooting:
We have performed extensive troubleshooting and can confirm the following:
VPP Token: The VPP token has been successfully renewed and is currently active and valid.
License Availability: We've verified that there are sufficient VPP licenses available for the apps being deployed.
Device Status: We've attempted the following on the affected devices:
Restarted the devices.
Switched to different Wi-Fi networks.
Uninstalled and re-installed the apps.
App Status: The issue is not limited to a single app; all VPP apps are failing to install.
License Revocation: We attempted to revoke and reassign licenses for some devices, but this did not resolve the issue. The app was not pushed, and the pending status remained.
Troubleshooting:
Through our internal investigation, we have determined that the core issue is that the Asset Association Status is consistently taking excessive time. This seems to be preventing the app installation queue from processing.
We have observed a significant delay in the processing of events within the Notification Channel. The time between the event being created and a response being received is excessively long, indicating a potential backlog or issue. We have included a few recent examples below for your reference:
Event ID: 39470db7-e475-4269-9709-c80641657027
com.zimride.instant
Created Time: 2025-08-26 01:02:04
Response Time: 2025-08-26 01:34:05
Event ID: d0876900-2579-463e-99f1-b7c85ef5c5e8
com.microsoft.azureauthenticator
Created Time: 2025-08-25 21:16:29
Response Time: 2025-08-25 22:21:07
We would appreciate your help in the following areas:
Resolution: Could you provide any known solutions or workarounds for an asset association status that is taking excessive amount of time'?
Best Practices: Are there any recommended best practices or additional parameters we should be checking with the MDM that might influence the queueing of VPP app assignments?
Queueing Parameters: Could you provide insight into the parameters or conditions that can affect the queueing and processing of VPP app installations on Apple's servers?
Please let us know if there is any additional information or logs we can provide.
Topic:
Business & Education
SubTopic:
Device Management
Tags:
Business and Enterprise
Apple Business Manager
Device Management
In Device management profile,
VPN.VPN.OnDemandRulesElement
Action->Disconnect
Example payload:
OnDemandEnabled1OnDemandRules
ActionDisconnectInterfaceMatchCellular
When install my vpn payload with above configuration, I was unable to connect vpn manually when i try with wifi interface
Based on the doc, VPN should tear down when i connect with specific type interface(here cellular) i was unable to connec the vpn when i'm in cellular network good but when i connect to wifi still the same is happening. Is this a bug? tried in ios 18
Topic:
Business & Education
SubTopic:
Device Management
Hello All,
I am currently attempting to get application config working with enterprise apps but it seems as though the asset config is not applying at all. While the asset and application install correctly it does not seem that the config is read at all judging from the status message returned.
"StatusItems" : {
"app" : {
"managed" : {
"list" : [
{
"name" : "apps",
"config-state" : {
"app-config-state" : {
"state" : "unknown"
}
},
"identifier" : "app.identifier",
"version" : "3.2",
"short-version" : "3.2.0",
"state" : "managed",
"declaration-identifier" : "dec-identifier"
}
]
}
}
},
"Errors" : [
]
}
The asset file being sent down is as follows:
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Config 1</key>
<string>Value 1</string>
<key>Config 2</key>
<string>Value 2</string>
<key>Config 3</key>
<string>Value 3</string>
</dict>
</plist>
This is the config report being sent back by the device after everything has been fetched:
"StatusItems" : {
"management" : {
"declarations" : {
"activations" : [
{
"active" : true,
"identifier" : "group.activation.payload",
"valid" : "valid",
"server-token" : "56792E4AE25C3286640B45E6BD265AE97545B2B87F90A6355919FD8B2E3C3AB3"
}
],
"configurations" : [
{
"active" : true,
"identifier" : "app.install",
"valid" : "valid",
"server-token" : "34D7ACECAE16EE9EEAC0630FF2FF85524FFBB5BA3CB18CFB6296FBC860368C85"
},
{
"active" : true,
"identifier" : "ios.policy.subscription.list",
"valid" : "valid",
"server-token" : "376913E11BE7D26EC745B3B68C6FA94C4FC061B1B736D143EBE0F12FF73ADFF8"
}
],
"assets" : [
{
"active" : true,
"identifier" : "app.config.reference",
"valid" : "valid",
"server-token" : "1CFBE30EB56309005F742D667B80242E6A3CDC08ED228D0BC5F87749C6BBAB77"
}
],
"management" : [
]
}
},
"app" : {
"managed" : {
"list" : [
{
"state" : "downloading",
"declaration-identifier" : "app.install",
"identifier" : "app.identifier",
"name" : "apps",
"config-state" : {
"app-config-state" : {
"state" : "unknown"
}
}
}
]
}
}
},
"Errors" : [
]
}
Additional info would be useful, though a sysdiagnosis will be submitted to feedback as well.
Config did apply correctly when sending down through Install application command
There is a longstanding restriction payload for supervised iOS devices that disables "Erase All Content and Settings." We have been experimenting with supervised watches paired with supervised phones that have that payload applied, and yet "Erase All Content and Settings" remains available on the watch. Is this:
– a) An error with our payload? Should we be sending something else?
– b) A bug in watchOS supervision?
– c) A deliberate design choice? If so, what is the rationale for preventing organizations from maintaining this very basic level of control over devices they may be configuring and dispatching into the field?
Topic:
Business & Education
SubTopic:
Device Management
Tags:
watchOS
Apple Business Manager
Device Management
Downloaded screensavers not appearing in 4KSDR240FPS folder
Topic:
Business & Education
SubTopic:
Device Management
Hi.
I am writing a little MDM application.
Despite the basic task (add a password for 'remove profile' button in settings), it seems I am stuck with a problem:
When I try to enroll my device with enrollment.mobileconfig file, Apple Configurator app, I receive an error
The profile “Enrollment Profile” could not be installed because it is invalid.
Make sure the profile is valid and try installing it again.
The original architecture of my .mobileconfig contains of two payloads (com.apple.security.scep , com.apple.mdm), and it works correctly. However, when I try to add a third payload of com.apple.profileRemovalPassword , I receive the error stated above.
From logs collected on iPhone, here's what was found :
Failed to parse profile data. Error: NSError:
Desc : The profile “Enrollment Profile” is invalid.
Sugg : A profile containing an MDM payload must be removable.
US Desc: The profile “Enrollment Profile” is invalid.
US Sugg: A profile containing an MDM payload must be removable.
Domain : MCProfileErrorDomain
Code : 1000
Type : MCFatalError
Params : (
"Enrollment Profile"
)
...Underlying error:
NSError:
Desc : A profile containing an MDM payload must be removable.
US Desc: A profile containing an MDM payload must be removable.
Domain : MCProfileErrorDomain
Code : 1000
Type : MCFatalError
Extra info:
{
isPrimary = 1;
}
My main dictionary contains
HasRemovalPasscode
Also, I have tried playing around with
PayloadRemovalDisallowed
setting it to true and false, however, I keep getting the same error message.
There is also a second error produced:
Profile MCConfigurationProfile, version 1:
Display Name: “Enrollment Profile”
Description : “***”
Identifier : ***
UUID : ***
Organization: ***
Is Stub : No
Locked : Yes
Removal passcode present
Encrypted : No
Trusted : 0
Signed : No
Device Type : 0
Payloads:
Payload MCSCEPPayload, version 1
Description : “***”
Identifier : ***
UUID : ***
Type : com.apple.security.scep
Display name: ***
Organization: ***
Payload MCMDMPayload, version 1
Description : “***”
Identifier : ***
UUID : ***
Type : com.apple.mdm
Organization: ***
Payload MCRemovalPasswordPayload, version 1
Identifier : com.examp Can't parse profile: <decode: missing data>
The code for com.apple.profileRemovalPassword is taken from apple documentation (https://developer.apple.com/documentation/devicemanagement/profileremovalpassword)
I have also tried the automatic way - creating it from Apple Configurator, so it is correct in terms of syntax 100%.
Several important notes:
Creating a fresh new profile with just password removal protection single payload allows to perform a download of the profile
If I comment out the whole com.apple.mdm payload block, I will be able to download this profile on iPhone also
The com.apple.mdm block is also valid by itself, and works correctly
I have tried implementing other types of "dummy" payloads - for example com.apple.dock
<dict>
<key>PayloadType</key>
<string>com.apple.dock</string>
<key>PayloadVersion</key>
<integer>1</integer>
<key>PayloadIdentifier</key>
<string>com.example.test.dock</string>
<key>PayloadUUID</key>
<string>22222222-3333-4444-5555-666666666666</string>
<key>PersistentApps</key>
<array/>
</dict>
And everything worked out fine.
So my hypothetical conclusion out of these four notes might be in some type of interconnection between mdm and profileRemovalPassword, which isn't really listed anywhere? Or am I missing something ? Thank you in advance.
Hi Apple Development forums,
I am having trouble getting a Wireguard VPN config setup to automatically disconnect on all domain requests other than one specific domain.
I have my .mobileconfig designed as so:
<dict>
<key>Action</key>
<string>EvaluateConnection</string>
<key>ActionParameters</key>
<array>
<dict>
<key>Domains</key>
<array>
<string>service.domainname.com</string>
</array>
<key>DomainAction</key>
<string>ConnectIfNeeded</string>
<key>ProbeURL</key>
<string>https://service.domainname.com/</string>
</dict>
</array>
</dict>
<dict>
<key>Action</key>
<string>Disconnect</string>
<key>DNSDomainMatch</key>
<array>
<string>*.com</string>
<string>*.org</string>
<string>*.net</string>
</array>
</dict>
<dict>
<key>Action</key>
<string>Disconnect</string>
</dict>
</array>
The issue I'm having is regardless of whether I note a *.com or simply have the action Disconnect noted - the VPN stays connected after navigating to https://service.domainname.com.
would anyone have any thoughts on this? Or am I missing something here?
私は現在Intuneを使ったAppleIntelligenceの機能制限方法を調査しております。
AppleIntelligenceの機能のうち、以下5点を制御したく、その方法について教えてほしいです。
・作文ツール
・Gen文字
・写真(クリーンアップ機能等)
・さまたげ低減モード(通知の要約・優先順位機能含む)
・ChatGPTのサインイン(同期)・使用
今回ここに聞いた経緯としては、Microsoft社に本調査の確認をとったところ、
「制御後のデバイスの動作についてはAppleのペイロードを使用した制限のため、Appleに確認をとってほしい」
と伝えられたからです。
以下サイトではIntuneのAppleIntelligence機能の制御項目(MDM)が17項目ありますが、
ところどころ実動作について文章では理解ができない部分がありました。
・https://techcommunity.microsoft.com/blog/intunecustomersuccess/microsoft-intune-support-for-apple-intelligence/4254037
AppleDeveloperサポートにも確認をとりましたが、以下サイトを紹介のみで、
特に追加の情報はありませんでした。
・https://developer.apple.com/documentation/devicemanagement/restrictions
上記5機能を制限するためにはどの制限項目を使用すればよいでしょうか。
Topic:
Business & Education
SubTopic:
Device Management
Hi Apple Community,
At WWDC25, introduced a native device migration feature with iOS/macOS 26 and Apple Business Manager that promises seamless migration from one MDM to another without wiping devices or manual re-enrollment.
That said, while testing this in iOS/macOS 26 beta, we ran into an issue: the Wi-Fi settings deployed by the old MDM aren’t retained during the migration. This means devices lose Wi-Fi connectivity partway through, and users have to manually reconnect before the migration to the new MDM can continue.
This interrupts what should be a smooth, hands-off process. We wanted to ask if this is a known issue or limitation with the current beta? Are there any recommended ways to avoid losing Wi-Fi profiles during this migration window? Will this improve in future updates so that the Wi-Fi connection is preserved or seamlessly handed off to the new MDM?
Any tips, workarounds, or official guidance Apple can share on best practices for handling Wi-Fi profiles during ABM-native device migrations would be hugely appreciated.
Added Feedback with FeedBackAssistant ID : FB20150763
Thanks in advance.
Topic:
Business & Education
SubTopic:
Device Management
Tags:
Apple Business Manager
Device Management
Can I upload custom app onto the ABM? if yes then how can we install it into the user's devices?
Topic:
Business & Education
SubTopic:
General
Environment
Devices: e.g., iPhone 12 mini, iPhone 16 (multiple units)
OS: iOS 26 beta 2 and beta 4 (23A5297m)
Distribution: Apple Enterprise Program (In-House), deployed via MDM InstallApplication
Tooling: Xcode (latest available for iOS 26 betas)
Summary
Apps signed for Enterprise (In-House) distribution install successfully on iOS 26 betas via MDM, but terminate immediately on launch. The same builds run if installed from Xcode on the same devices. This is a regression from pre-iOS 26 versions where Enterprise builds installed via MDM launched normally.
Steps to Reproduce
Archive an iOS app and export for Enterprise (In-House) distribution.
Deploy the .ipa via MDM using InstallApplication to a device on iOS 26 beta (e.g., 23A5297m).
Tap the app icon to launch.
Actual Result
The app quits instantly on launch. System logs show launchd/runningboard errors, including NSPOSIXErrorDomain Code=85 (“Bad executable (or shared library)”):
runningboardd(RunningBoard)[34]: Process start failed with Error Domain=NSPOSIXErrorDomain Code=85 "Bad executable (or shared library)" UserInfo={NSLocalizedDescription=Launchd job spawn failed}
runningboardd(RunningBoard)[34]: Launch failed with Error Domain=NSPOSIXErrorDomain Code=85 "Bad executable (or shared library)"
SpringBoard(FrontBoard)[35]: Bootstrapping failed ... NSUnderlyingError = { NSLocalizedDescription = Launchd job spawn failed; }
Expected Result
Enterprise-signed builds installed via MDM should launch as they did on iOS 25.x and earlier.
Regression?
Works on iOS versions prior to 26.
Works on iOS 26 betas when installed from Xcode (developer-signed run).
Fails only for Enterprise (In-House) builds delivered via MDM.
Additional Notes / Possibly Related
We also reproduced a similar failure mode with a minimal Safari Web Extension project: it installs and appears under Settings → Safari → Extensions, but enabling it and opening Safari produces: “ is no longer available.”
Building a fresh project with a new bundle ID shows the same behavior on iOS 26 beta (23A5297m).
Logs contain: Error occurred during transaction: The provided identifier "" is invalid.
Running from Xcode (debug build) works.
Workarounds
None identified for Enterprise/MDM distribution. Only Xcode-installed builds run.
Impact
Blocks Enterprise deployment to our fleet on iOS 26 betas.
Feedback / Attachments
Included: sysdiagnose from an affected device, minimal Xcode project demonstrating the issue, Enterprise-exported app, and reproduction notes.
Happy to share additional logs or perform targeted tests if needed.
Request
Can Apple confirm whether this is a known regression vs. a policy/validation change in iOS 26 for Enterprise/MDM installs? Any guidance on a short-term mitigation or build/signing change we can apply would be appreciated.
Topic:
Business & Education
SubTopic:
Device Management
Hi,
We developed a Platform SSO extension for our IdP, Keycloak. It would be great to get some feedback on it:
https://francisaugusto.com/2025/Platform_single_sign_on_diy/
Dear Team,
We are working on retrieving email address of the user joined to Entra ID from Entra-joined macOS devices, specifically while running in a system context.The sudo dscl . -read /Users/$(whoami) RecordName command give the local user name whose password is synced with the entra ID. We would greatly appreciate guidance on how to retrieve the Entra ID joined user’s email address in a system context from Entra Joined mac devices, especially from those with prior experience in this area.
Thank you for your support.
Issue -
Safari application not fetched from system_profile command
Use case -
We are trying to get list of installed applications in the mac. For this we use System_profiler command to fetch the details list. It is working good, but the thing is , It doesnt fetch Safari app as an installed Application.
Command used -
**/usr/sbin/system_profiler SPApplicationsDataType**
Can anyone suggest any other way to fetch the installed applications list from the mac , which includes all the apps (including safari app) and remains effective ?
We are trying to develop an app that will be responsible for managing 5000+ managed iPads through Intune MDM. The user flow is to have a device locked to a single app when a user is not logged in, but to make the device available to other apps once a user is authenticated.
We already tried UIAccessibility GuidedAccess Mode and autonomous single app mode but those were not sufficient due to our need to be able to toggle this from the background. When the device may be asleep.
So another way we could achieve this functionality would be to control all app access under a launching mechanism. That way we could allow one app to be visible in our MDM configuration and try to access our business app through that using deep links.
If this were to work, we would have to be able to hide an app and still make it launchable from the manager.
Any ideas? Thanks