Extensible Single Sign-On (com.apple.extensiblesso)

com.apple.extensiblesso

The payload that configures an app extension that performs single sign-on (SSO).

iOS(13.0)macOS(10.15)visionOS(1.1)
Branch: release

Settings (57)

SettingTypeRequiredDefaultManual InstallSupported OS
ExtensionIdentifier
ExtensionIdentifier
The bundle identifier of the app extension that performs SSO for the specified URLs.
stringrequired—
✗No
iOS (13.0+)macOS (10.15+)visionOS (1.1+)
TeamIdentifier
TeamIdentifier
The team identifier of the app extension. The device requires this key on macOS and ignores it elsewhere.
stringoptional—
✗No
Type
Type
The type of SSO.
stringrequired—
✗No
iOS (13.0+)macOS (10.15+)visionOS (1.1+)
Realm
Realm
The realm name for `Credential` payloads. Use proper capitalization for this value. Ignored for `Redirect` payloads.
stringoptional—
✗No
iOS (13.0+)macOS (10.15+)visionOS (1.1+)
ExtensionData
ExtensionData
A dictionary of arbitrary data passed through to the app extension.
1 subkey
dictionaryoptional—
✗No
iOS (13.0+)macOS (10.15+)visionOS (1.1+)
└─
ANY
ANY
Keys and values to pass to the app extension.
anyoptional—
✗No
iOS (13.0+)macOS (10.15+)visionOS (1.1+)
URLs
URLs
An array of URL prefixes of identity providers where the app extension performs SSO. Required for `Redirect` payloads. Ignored for `Credential` payloads. The URLs need to begin with `http://` or `https://`. The system: - Matches scheme and host name case-insensitively - Doesn't allow query parameters and URL fragments - Requires that the URLs of all installed Extensible SSO payloads are unique
1 subkey
arrayoptional—
✗No
iOS (13.0+)macOS (10.15+)visionOS (1.1+)
└─
URL
URL
An http or https URL prefix.
stringrequired—
✗No
iOS (13.0+)macOS (10.15+)visionOS (1.1+)
Hosts
Hosts
An array of host or domain names that apps can authenticate through the app extension. Required for `Credential` payloads. Ignored for `Redirect` payloads. The system: - Matches host or domain names case-insensitively - Requires that all the host and domain names of all installed Extensible SSO payloads are unique > Note: > Host names that begin with a "." are wildcard suffixes that match all subdomains; otherwise the host name needs be an exact match.
1 subkey
arrayoptional—
✗No
iOS (13.0+)macOS (10.15+)visionOS (1.1+)
└─
hostname
hostname
A host or domain name, with or without a leading dot.
stringrequired—
✗No
iOS (13.0+)macOS (10.15+)visionOS (1.1+)
ScreenLockedBehavior
ScreenLockedBehavior
If set to `Cancel`, the system cancels authentication requests when the screen is locked. If set to `DoNotHandle`, the request continues without SSO instead. This doesn't apply to requests where `userInterfaceEnabled` is `false`, or for background `URLSession` requests.
stringoptionalCancel
✓Yes
iOS (15.0+)macOS (12.0+)
DeniedBundleIdentifiers
DeniedBundleIdentifiers
An array of bundle identifiers of apps that don't use SSO provided by this extension.
1 subkey
arrayoptional—
✓Yes
iOS (15.0+)macOS (12.0+)
└─
bundleIdentifier
bundleIdentifier
The bundle identifier of the app.
stringrequired—
✗No
iOS (13.0+)macOS (10.15+)visionOS (1.1+)
AuthenticationMethod
AuthenticationMethod
Deprecated (macOS 14.0)
The Platform SSO authentication method the extension uses. Requires that the SSO Extension also supports the method. Don't use this. Use the `AuthenticationMethod` key in the `PlatformSSO` dictionary instead.
stringoptional—
✓Yes
macOS (13.0 - 14.0)
RegistrationToken
RegistrationToken
The token this device uses for registration with Platform SSO. Use it for silent registration with the Identity Provider. Requires that `AuthenticationMethod` in `PlatformSSO` isn't empty.
stringoptional—
✓Yes
macOS (13.0+)
PlatformSSO
PlatformSSO
The dictionary to configure Platform SSO. Requires setting `Type` to `Redirect`.
30 subkeys
dictionaryoptional—
✓Yes
macOS (14.0+)
└─
AuthenticationMethod
AuthenticationMethod
The Platform SSO authentication method to use with the extension. Requires that the SSO Extension also support the method. `OpenID` is available in macOS 27 and later.
stringoptional—
✗No
iOS (13.0+)macOS (10.15+)visionOS (1.1+)
└─
UseSharedDeviceKeys
UseSharedDeviceKeys
If `true`, the system uses the same signing and encryption keys for all users. Only supported on the device channel.
booleanoptionalfalse
✗No
└─
AccountDisplayName
AccountDisplayName
The display name for the account in notifications and authentication requests.
stringoptional—
✗No
iOS (13.0+)macOS (10.15+)visionOS (1.1+)
└─
LoginFrequency
LoginFrequency
The duration, in seconds, until the system requires a full login instead of a refresh. The default value is 64,800 (18 hours). The minimum value is 3600 (1 hour).
Range: 3600 -
integeroptional64800
✗No
iOS (13.0+)macOS (10.15+)visionOS (1.1+)
└─
EnableCreateUserAtLogin
EnableCreateUserAtLogin
Enables creating users at the Login Window with an `AuthenticationMethod` of either `Password` or `SmartCard`. Requires that `UseSharedDeviceKeys` is `true`.
booleanoptionalfalse
✗No
iOS (13.0+)macOS (10.15+)visionOS (1.1+)
└─
EnableCreateFirstUserDuringSetup
EnableCreateFirstUserDuringSetup
If `true`, the device uses Platform SSO to create the first user account on the Mac during `Setup Assistant`.
booleanoptionaltrue
✓Yes
macOS (26.0+)
└─
EnableAuthorization
EnableAuthorization
Enables using identity provider accounts at authorization prompts. Requires that `UseSharedDeviceKeys` is `true`. The system assigns groups using `AdministratorGroups`, `AdditionalGroups`, or `AuthorizationGroups`.
booleanoptionalfalse
✗No
iOS (13.0+)macOS (10.15+)visionOS (1.1+)
└─
TokenToUserMapping
TokenToUserMapping
The attribute mapping to use when creating users, or for authorization.
2 subkeys
dictionaryoptional—
✗No
iOS (13.0+)macOS (10.15+)visionOS (1.1+)
└─ └─
AccountName
AccountName
The claim name to use for the user's account name.
stringoptional—
✗No
iOS (13.0+)macOS (10.15+)visionOS (1.1+)
└─ └─
FullName
FullName
The claim name to use for the user's full name.
stringoptional—
✗No
iOS (13.0+)macOS (10.15+)visionOS (1.1+)
└─
NewUserAuthenticationMethods
NewUserAuthenticationMethods
The set of authentication methods to use for newly created accounts at login or during `Setup Assistant`. The system uses `Password` and `SmartCard` if this key isn't present.
1 subkey
arrayoptional—
✓Yes
macOS (26.0+)
└─ └─
NewUserAuthenticationMethod
NewUserAuthenticationMethod
An authentication method to use for newly created accounts at login or during `Setup Assistant`. Allowed values: * `Password`: The account uses a password for authentication. * `SmartCard`: The account uses a smart card for authentication. * `AccessKey`: The account uses an access key for authentication. * `OpenID`: The account uses OpenID for authentication. Available in macOS 27 and later.
stringoptional—
✗No
iOS (13.0+)macOS (10.15+)visionOS (1.1+)
└─
NewUserAuthorizationMode
NewUserAuthorizationMode
The permission to apply to newly created accounts at login. Allowed values: * `Standard`: The account is a standard user. * `Admin`: The system adds the account to the local administrators group. * `Groups`: The system assigns groups to the account using `AdministratorGroups`, `AdditionalGroups`, or `AuthorizationGroups`. * `Temporary`: The system uses a temporary session configuration for newly created accounts at login.
stringoptional—
✗No
iOS (13.0+)macOS (10.15+)visionOS (1.1+)
└─
UserAuthorizationMode
UserAuthorizationMode
The permission to apply to an account each time the user authenticates. Allowed values: * `Standard`: The account is a standard user. * `Admin`: The system adds the account to the local administrators group. * `Groups`: The system assigns group to the account using `AdministratorGroups`, `AdditionalGroups`, or `AuthorizationGroups`.
stringoptional—
✗No
iOS (13.0+)macOS (10.15+)visionOS (1.1+)
└─
AdministratorGroups
AdministratorGroups
The list of groups to use for administrator access. The system requests membership during authentication.
1 subkey
arrayoptional—
✗No
iOS (13.0+)macOS (10.15+)visionOS (1.1+)
└─ └─
Group
Group
The group name.
stringoptional—
✗No
iOS (13.0+)macOS (10.15+)visionOS (1.1+)
└─
AdditionalGroups
AdditionalGroups
The list of created groups that don't have administrator access.
1 subkey
arrayoptional—
✗No
iOS (13.0+)macOS (10.15+)visionOS (1.1+)
└─ └─
Group
Group
The group name.
stringoptional—
✗No
iOS (13.0+)macOS (10.15+)visionOS (1.1+)
└─
AuthorizationGroups
AuthorizationGroups
The pairing of Authorization Rights to group names. When using this, the system updates the Authorization Right to use the group.
1 subkey
dictionaryoptional—
✗No
iOS (13.0+)macOS (10.15+)visionOS (1.1+)
└─ └─
ANY
ANY
The key is an access right value, the value is the group to be associated with that access right.
stringoptional—
✗No
iOS (13.0+)macOS (10.15+)visionOS (1.1+)
└─
AccessKeyReaderGroupIdentifier
AccessKeyReaderGroupIdentifier
The reader group identifier for use with the `AccessKey`. The value needs to match the configured access key. Required if `NewUserAuthenticationMethods` contains `AccessKey`.
dataoptional—
✓Yes
macOS (26.0+)
└─
AccessKeyTerminalIdentityUUID
AccessKeyTerminalIdentityUUID
The `PayloadUUID` of an identity payload to use as the `Terminal` identity of the access key. The identity needs to be trusted by the access key. Required if `NewUserAuthenticationMethods` includes `AccessKey`. Allowed identity payload types: - `com.apple.security.pkcs12` - `com.apple.security.acme` - `com.apple.security.scep`
stringoptional—
✓Yes
macOS (26.0+)
└─
AccessKeyReaderIssuerCertificateUUID
AccessKeyReaderIssuerCertificateUUID
The `PayloadUUID` of a certificate payload for the issuer certificate of the `Terminal` identity of the access key. Other specifications refer to the key as the "Reader CA Public Key". The key must be an elliptic curve key. Required if `NewUserAuthenticationMethods` includes `AccessKey`. The issuer of the Terminal identity of the access key needs to match this certificate, otherwise the device fails the authentication.
stringoptional—
✓Yes
macOS (26.2+)
└─
AllowAccessKeyExpressMode
AllowAccessKeyExpressMode
If `true`, the system uses the access key in express mode, and doesn't require authentication before use.
booleanoptionalfalse
✓Yes
macOS (26.0+)
└─
FileVaultPolicy
FileVaultPolicy
The policy to apply when using Platform SSO at FileVault unlock on a Mac with Apple silicon. * `AttemptAuthentication`: The device attempts Platform SSO authentication before proceeding. If offline, unlock continues if the local account password matches. If online and the credential is incorrect, then the device requires a successful Platform SSO authentication is required, even if taken offline. Only use when `AuthenticationMethod` is `Password`. * `RequireAuthentication`: The device requires Platform SSO authentication before proceeding. If the device is offline and `AllowOfflineGracePeriod` is enabled, then the device uses the offline `OfflineGracePeriod` to determine if the user can proceed or not. If online and the credential is incorrect, then the device requires a valid Platform SSO authentication to proceed, regardless of the `OfflineGracePeriod`. If the account isn't registered for Platform SSO and `AllowAuthenticationGracePeriod` is enabled, then the device uses `AuthenticationGracePeriod` to determine if the user can proceed or not. Only use when `AuthenticationMethod` is `Password`. * `AllowOfflineGracePeriod`: The device allows the use of the `OfflineGracePeriod`. If `AllowOfflineGracePeriod` isn't set, then the device denies offline access. Only use when `AuthenticationMethod` is `Password` and `RequireAuthentication` is enabled, or `AuthenticationMethod` is `OpenID`. * `AllowAuthenticationGracePeriod`: The device allows the use of the `AuthenticationGracePeriod` for other local accounts when `RequireAuthentication` is enabled. The `AuthenticationGracePeriod` starts when any of the policies are updated. If `AllowAuthenticationGracePeriod` isn't set, then the device denies unregistered account access. Only use when `AuthenticationMethod` is `Password`. * `RequireTouchID`: The device requires the use of Touch ID (and not Apple Watch) for FileVault unlock. Only use when `AuthenticationMethod` is `Password` or `UserSecureEnclaveKey`. * `RequireTouchIDOrWatch`: The device requires the use of Touch ID or Apple Watch for FileVault unlock. Only use when `AuthenticationMethod` is `Password` or `UserSecureEnclaveKey`. * `AllowOpenIDForTouchIDFallback`: The device allows web login as a fallback if Touch ID fails or isn't available. Only use when `AuthenticationMethod` is `Password` or `UserSecureEnclaveKey`.
1 subkey
arrayoptional—
✓Yes
macOS (15.0+)
└─ └─
policy
policy
The policy to apply.
stringrequired—
✗No
iOS (13.0+)macOS (10.15+)visionOS (1.1+)
└─
LoginPolicy
LoginPolicy
The policy to apply when using Platform SSO at the Login Window. * `AttemptAuthentication`: The device attempts Platform SSO authentication before proceeding. If offline, login continues if the local account password matches. If online and the credential is incorrect, then the device requires a successful Platform SSO authentication to proceed, even if taken offline. Only use when `AuthenticationMethod` is `Password`. * `RequireAuthentication`: The device requires Platform SSO authentication before proceeding. If the device is offline and `AllowOfflineGracePeriod` is enabled, then the device uses the offline `OfflineGracePeriod` to determine if the user can proceed or not. If online and the credential is incorrect, then the device requires a valid Platform SSO authentication to proceed, regardless of the `OfflineGracePeriod`. If the account isn't registered for Platform SSO and `AllowAuthenticationGracePeriod` is enabled, then the device uses the `AuthenticationGracePeriod` to determine if the user can proceed or not. Only use when `AuthenticationMethod` is `Password`. * `AllowOfflineGracePeriod`: The device allows the use of the `OfflineGracePeriod`. If `AllowOfflineGracePeriod` isn't set, then the device denies offline access. Only use when `AuthenticationMethod` is `Password` and `RequireAuthentication` is enabled, or `AuthenticationMethod` is `OpenID`. * `AllowAuthenticationGracePeriod`: The device allows the use of the `AuthenticationGracePeriod` for other local accounts when `RequireAuthentication` is enabled. The `AuthenticationGracePeriod` starts when any of the policies have been updated. If `AllowAuthenticationGracePeriod` isn't set, then the device denies unregistered account access. Only use when `AuthenticationMethod` is `Password`. * `RequireTouchID`: The device requires the use of Touch ID (and not Apple Watch) for login. Only use when `AuthenticationMethod` is `Password` or `UserSecureEnclaveKey`. * `RequireTouchIDOrWatch`: The device requires the use of Touch ID or Apple Watch for login. Only use when `AuthenticationMethod` is `Password` or `UserSecureEnclaveKey`. * `AllowOpenIDForTouchIDFallback`: The device allows web login as fallback if Touch ID fails or isn't available. Only use when `AuthenticationMethod` is `Password` or `UserSecureEnclaveKey`.
1 subkey
arrayoptional—
✓Yes
macOS (15.0+)
└─ └─
policy
policy
The policy to apply.
stringrequired—
✗No
iOS (13.0+)macOS (10.15+)visionOS (1.1+)
└─
UnlockPolicy
UnlockPolicy
The policy to apply when using Platform SSO at screensaver unlock. * `AttemptAuthentication`: The device attempts Platform SSO authentication before proceeding. If offline, unlock will continue if the local account password matches. If online and the credential is incorrect, then the device requires a successful Platform SSO authentication to proceed, even if taken offline. Only use when `AuthenticationMethod` is `Password`. * `RequireAuthentication`: The device requires Platform SSO authentication before proceeding. If the device is offline and `AllowOfflineGracePeriod` is enabled, then the offline `OfflineGracePeriod` is used to determine if the user can proceed or not. If online and the credential is incorrect, then the device requires a valid Platform SSO authentication to proceed regardless of the `OfflineGracePeriod`. If the account isn't registered for Platform SSO and `AllowAuthenticationGracePeriod` is enabled, then the device uses `AuthenticationGracePeriod` to determine if the user can proceed or not. Only use when `AuthenticationMethod` is `Password`. * `AllowOfflineGracePeriod`: The device allows the use of the `OfflineGracePeriod`. If `AllowOfflineGracePeriod` isn't set, then the device denies offline access. Only use when `AuthenticationMethod` is `Password` and `RequireAuthentication` is enabled, or `AuthenticationMethod` is `OpenID`. * `AllowAuthenticationGracePeriod`: The device allows the use of the `AuthenticationGracePeriod` for other local accounts when `RequireAuthentication` is enabled. The `AuthenticationGracePeriod` starts when any of the policies have been updated. If `AllowAuthenticationGracePeriod` isn't set, then the device denies the unregistered account access. Only use when `AuthenticationMethod` is `Password`. * `AllowTouchIDOrWatchForUnlock`: The device allows Touch ID or Apple Watch to unlock the screensaver instead of Platform SSO authentication when `RequireAuthentication` is enabled. Only use when `AuthenticationMethod` is `Password`. * `RequireTouchID`: The device requires the use of Touch ID (and not Apple Watch) for unlock. Only use when `AuthenticationMethod` is `Password` or `UserSecureEnclaveKey`. * `RequireTouchIDOrWatch`: The device requires the use of Touch ID or Apple Watch for unlock. Only use when `AuthenticationMethod` is `Password` or `UserSecureEnclaveKey`. * `AllowOpenIDForTouchIDFallback`: The device allows web login as fallback if Touch ID fails or isn't available. Only use when `AuthenticationMethod` is `Password` or `UserSecureEnclaveKey`.
1 subkey
arrayoptional—
✓Yes
macOS (15.0+)
└─ └─
policy
policy
The policy to apply.
stringrequired—
✗No
iOS (13.0+)macOS (10.15+)visionOS (1.1+)
└─
OfflineGracePeriod
OfflineGracePeriod
The amount of time (in seconds) after the last successful Platform SSO login for using a local account password offline. Required when setting `AllowOfflineGracePeriod`.
integeroptional—
✓Yes
macOS (15.0+)
└─
AuthenticationGracePeriod
AuthenticationGracePeriod
The amount of time (in seconds) after receiving or updating a `FileVaultPolicy`, `LoginPolicy`, or `UnlockPolicy` that the system can use unregistered local accounts. Required when `AllowAuthenticationGracePeriod` is set.
integeroptional—
✓Yes
macOS (15.0+)
└─
NonPlatformSSOAccounts
NonPlatformSSOAccounts
The list of local accounts that aren't subject to the `FileVaultPolicy`, `LoginPolicy`, or `UnlockPolicy`. The accounts don't receive a prompt to register for Platform SSO.
1 subkey
arrayoptional—
✓Yes
macOS (15.0+)
└─ └─
username
username
A local account username.
stringrequired—
✗No
iOS (13.0+)macOS (10.15+)visionOS (1.1+)
└─
AllowDeviceIdentifiersInAttestation
AllowDeviceIdentifiersInAttestation
If `true`, the system includes the device UDID and serial number in Platform SSO attestations.
booleanoptionalfalse
✓Yes
macOS (15.4+)
└─
SynchronizeProfilePicture
SynchronizeProfilePicture
If `true`, the system requests the user's profile picture from the SSO extension.
booleanoptionalfalse
✓Yes
macOS (26.0+)
└─
TemporarySessionQuickLogin
TemporarySessionQuickLogin
If `true`, the system uses a quicker Authenticated Guest Mode login to Mac behavior. The system erases user data from only select locations in the user home directory after each session completes. Once every eight hours the system erases the full user home directory after a session completes. Turn this on for shared environments that have a high frequency of short sessions.
booleanoptionalfalse
✓Yes
macOS (26.0+)
└─
EnableRegistrationDuringSetup
EnableRegistrationDuringSetup
If `true`, the system enables the PlatformSSO registration process during Setup Assistant on devices running macOS 26 and later. Set this key to `true` when configuring PlatformSSO before enrollment using the `com.apple.psso.required` error response.
booleanoptionalfalse
✓Yes
macOS (26.0+)
└─
WebLoginURLAllowList
WebLoginURLAllowList
New in macOS 27.0
The set of allowed hosts that the system can load in the PSSO web view. Required if `AuthenticationMethod` is `OpenID`, or `NewUserAuthenticationMethods` contains `OpenID`.
1 subkey
arrayoptional—
✓Yes
macOS (27.0+)
└─ └─
Hosts
Hosts
A host or host prefix.
stringoptional—
✗No
iOS (13.0+)macOS (10.15+)visionOS (1.1+)
└─
AllowWebLoginPasswordSync
AllowWebLoginPasswordSync
New in macOS 27.0
If `true`, the system detects the password during web login and synchronizes it to the local account password for the user.
booleanoptionalfalse
✓Yes
macOS (27.0+)

Apple MDM & DDM Policy Explorer

Explore the full catalogue of Apple Mobile Device Management (MDM) and Declarative Device Management (DDM) policies for macOS and iOS. Search, filter, and reference policy keys for use with Microsoft Intune, Jamf, or any standards-compliant MDM solution.

Reference: policy categories & common keys

Policy categories

  • Configuration Profile
  • Declarative Configuration
  • Declarative Activation
  • Declarative Asset
  • Declarative Management

Common policy keys

  • com.apple.wifi.managed – Wi-Fi network configuration
  • com.apple.vpn.managed – VPN configuration
  • com.apple.applicationaccess – App and feature restrictions
  • com.apple.security.pkcs1 – Certificate (PKCS#1) payload
  • com.apple.security.pkcs12 – Identity certificate (PKCS#12) payload
  • com.apple.security.scep – SCEP certificate enrolment
  • com.apple.mail.managed – Mail account configuration
  • com.apple.eas.account – Exchange ActiveSync account
  • com.apple.MCX – Managed Client (macOS) preferences
  • com.apple.MCX.FileVault2 – FileVault 2 disk encryption
  • com.apple.dock – macOS Dock configuration
  • com.apple.screensaver – Screensaver configuration
  • com.apple.loginwindow – macOS login window configuration
  • com.apple.systempolicy.managed – Gatekeeper / system policy
  • com.apple.systempreferences – System Preferences pane restrictions
  • com.apple.SoftwareUpdate – Software update behaviour
  • com.apple.TCC.configuration-profile-policy – Privacy Preferences Policy Control (PPPC)
  • com.apple.notificationsettings – Per-app notification settings
  • com.apple.webcontent-filter – Web content filter
  • com.apple.dnsSettings.managed – DNS settings (DoH / DoT)
  • com.apple.relay.managed – Network relay configuration
  • com.apple.extensiblesso – Extensible Single Sign-On
  • com.apple.configuration.passcode.settings – DDM: passcode policy
  • com.apple.configuration.softwareupdate.enforcement.specific – DDM: enforced software update
  • com.apple.configuration.services.configuration-files – DDM: service configuration files
  • com.apple.configuration.management.status-subscriptions – DDM: status subscriptions
  • com.apple.activation.simple – DDM: simple activation predicate
  • com.apple.management.organization-info – DDM: organization information