Events
Apr 9, 3 PM - Apr 10, 12 PM
Code the Future with AI and connect with Java peers and experts at JDConf 2025.
Register NowThis browser is no longer supported.
Upgrade to Microsoft Edge to take advantage of the latest features, security updates, and technical support.
Mac users can join their new device to Microsoft Entra ID during the first-run out-of-box experience (OOBE). The macOS Platform single sign-on (PSSO) is a capability on macOS that is enabled using the Microsoft Enterprise Single Sign-on Extension. PSSO allows users to sign in to a Mac device using a hardware-bound key, smart card, or their Microsoft Entra ID password.
This tutorial shows you how to configure Platform SSO to support Kerberos-based SSO to on-premises and cloud resources, in addition to SSO to Microsoft Entra ID. Kerberos SSO is an optional capability within Platform SSO, but it's recommended if users still need to access on-premises Active Directory resources that use Kerberos for authentication.
Refer to the Microsoft Entra ID macOS Platform SSO documentation to learn how to configure and deploy Platform SSO. Platform SSO should be deployed on Enterprise-managed Macs regardless of whether you choose to deploy Kerberos SSO using this guide.
You must configure a Kerberos SSO MDM profile. Use the following settings, ensuring that you replace all references to contoso.com and Contoso with the proper values for your environment:
Configuration Key | Recommended Value | Note |
---|---|---|
preferredKDCs |
<string>kkdcp://login.microsoftonline.com/contoso.com/kerberos</string> |
Replace the contoso.com value with the value of one of your tenant domains or your tenant's GUID |
Hosts |
<string>contoso.com</string> |
Replace contoso.com with your on-premises domain/forest name |
Hosts |
<string>*.contoso.com</string> |
Replace contoso.com with your on-premises domain/forest name. Keep the preceding *. characters before your domain/forest name |
PayloadOrganization |
<string>Contoso</string> |
Replace Contoso with the name of your organization |
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>PayloadContent</key>
<array>
<dict>
<key>ExtensionData</key>
<dict>
<key>allowPasswordChange</key>
<true/>
<key>allowPlatformSSOAuthFallback</key>
<true/>
<key>performKerberosOnly</key>
<true/>
<key>pwReqComplexity</key>
<true/>
<key>syncLocalPassword</key>
<false/>
<key>usePlatformSSOTGT</key>
<true/>
<key>preferredKDCs</key>
<array>
<string>kkdcp://login.microsoftonline.com/contoso.com/kerberos</string>
</array>
</dict>
<key>ExtensionIdentifier</key>
<string>com.apple.AppSSOKerberos.KerberosExtension</string>
<key>Hosts</key>
<array>
<string>contoso.com</string>
<string>*.contoso.com</string>
<string>windows.net</string>
<string>*.windows.net</string>
<string>KERBEROS.MICROSOFTONLINE.COM</string>
<string>MICROSOFTONLINE.COM</string>
<string>*.MICROSOFTONLINE.COM</string>
</array>
<key>PayloadDisplayName</key>
<string>Single Sign-On Extensions Payload</string>
<key>PayloadIdentifier</key>
<string>1aaaaaa1-2bb2-3cc3-4dd4-5eeeeeeeeee5C</string>
<key>PayloadType</key>
<string>com.apple.extensiblesso</string>
<key>PayloadUUID</key>
<string>1aaaaaa1-2bb2-3cc3-4dd4-5eeeeeeeeee5</string>
<key>PayloadVersion</key>
<integer>1</integer>
<key>Realm</key>
<string>KERBEROS.MICROSOFTONLINE.COM</string>
<key>TeamIdentifier</key>
<string>apple</string>
<key>Type</key>
<string>Credential</string>
<key>URLs</key>
<array/>
</dict>
</array>
<key>PayloadDescription</key>
<string></string>
<key>PayloadDisplayName</key>
<string>Kerberos SSO Extension for macOS</string>
<key>PayloadEnabled</key>
<true/>
<key>PayloadIdentifier</key>
<string>2bbbbbb2-3cc3-4dd4-5ee5-6ffffffffff6</string>
<key>PayloadOrganization</key>
<string>Contoso</string>
<key>PayloadRemovalDisallowed</key>
<true/>
<key>PayloadScope</key>
<string>System</string>
<key>PayloadType</key>
<string>Configuration</string>
<key>PayloadUUID</key>
<string>2bbbbbb2-3cc3-4dd4-5ee5-6ffffffffff6</string>
<key>PayloadVersion</key>
<integer>1</integer>
</dict>
</plist>
Save the configuration using a text editor with the mobileconfig file extension (for example, the file could be named kerberos.mobileconfig) after you have updated the configuration with the proper values for your environment.
If you use Intune as your MDM, you can perform the following steps to deploy the profile. Make sure you follow the previous instructions about replacing contoso.com values with the proper values for your organization.
US-NC IT Team
or JohnGlenn_ITDepartment
. Select Next.The next time the device checks for configuration updates, the settings you configured are applied.
Once the profile has been assigned to the device, you can check that your device has Kerberos tickets by running the following command in the Terminal app:
app-sso platform -s
You should have two Kerberos tickets, one for your on-premises AD with the ticketKeyPath value of tgt_ad and one for your Microsoft Entra ID tenant with the ticketKeyPath value of tgt_cloud. The output should resemble the following:
Validate your configuration is working by testing with appropriate Kerberos-capable resources:
When deploying support for Kerberos SSO with Platform SSO, the standard Kerberos SSO extension capabilities of macOS are still leveraged. Like with a deployment of the native Kerberos SSO extension without Platform SSO, the Kerberos SSO extension menu extra will appear in the macOS menu bar:
When deploying Kerberos support with Platform SSO, users do not need to interact with the Kerberos SSO extension menu extra to have Kerberos functionality work. Kerberos SSO functionality will still operate if the user does not sign into the menu bar extra and the menu bar extra reports "Not signed in". You may instruct users to ignore the menu bar extra when deploying with Platform SSO, per this article. Instead, make sure that you validate that kerberos functionality works as expected without interaction with the menu bar extra, as outlined in the Testing Kerberos SSO section of this article.
Some browsers require additional configuration to enable Kerberos SSO support, including if you are using Platform SSO to enable Kerberos on your macOS devices. When deploying Kerberos support on macOS, deploy the appropriate settings for each of the browsers you utilize to ensure they can interact with the macOS Kerberos SSO features:
Events
Apr 9, 3 PM - Apr 10, 12 PM
Code the Future with AI and connect with Java peers and experts at JDConf 2025.
Register Now