
April 2025: Additional app identifier required for the associated domain entry on macOS 15 Sequoia
Introduction to Just-in-Time Local Account Creation on macOS with Okta
Just-in-Time (JIT) local account creation is a powerful feature that enables users to create a local account on a macOS device directly from the login window, using their Okta credentials.
By leveraging their Okta username and password, users can seamlessly create accounts without requiring prior setup. This feature is especially valuable for environments with shared devices or workstations, allowing any Okta user within an organization’s tenant to quickly gain access.
The process is simplified for administrators as well, offering an efficient method to provision user accounts on macOS systems.
JIT local account creation is built on Apple’s Shared Device Keys framework, which integrates with the Platform Single Sign-On (SSO) infrastructure.
This alignment with Apple’s identity framework ensures secure, streamlined authentication while reducing the administrative burden associated with manual user account setup
Requirements for Implementing Just-in-Time Local Account Creation with Okta on macOS
To successfully implement Just-in-Time (JIT) local account creation on macOS using Okta, the following requirements must be in place:
- Okta Identity Engine (OIE) Organization:
- Your organization must be operating on the Okta Identity Engine (OIE), which is essential for enabling advanced features like Just-in-Time account creation.
- Desktop Access SKU:
- The Desktop Access SKU must be enabled in your OIE org. This SKU grants the necessary permissions and functionalities to manage device authentication and account provisioning on macOS.
- Platform Single Sign-on (Desktop Password Sync) Configuration:
- Platform Single Sign-on (Desktop Password Sync) must be configured to ensure that users can log in with their Okta credentials. Detailed configuration steps can be found in the relevant blog post or documentation, ensuring proper sync between Okta and macOS systems.
- Jamf Pro Environment:
- A Jamf Pro environment should be set up and operational, with the necessary administrative permissions configured. Jamf Pro is critical for deploying MDM profiles and managing macOS devices.
- Okta Verify:
- Okta Verify version 9.27 or higher must be installed on all macOS devices.
- macOS Version:
- The computer must be running macOS 14.0 (Sonoma) or later.
JIT local account creation and related features are supported only on this version and above, ensuring compatibility with Apple’s latest security and identity management frameworks.
- The computer must be running macOS 14.0 (Sonoma) or later.
- Device Enrollment in Jamf Pro:
- The device should be enrolled in Jamf Pro, with Bootstrap tokens enabled. Bootstrap tokens are essential for securing the device enrollment process and supporting Single Sign-On (SSO) features.
- Setup Assistant Completion:
- The device’s Setup Assistant must be completed, and an initial local administrator account created. This ensures that the device is fully configured and ready for user account creation.
- Platform SSO MDM Profiles:
- Platform Single Sign-On (SSO) MDM profiles must be deployed to the device. These profiles allow Okta to integrate with Apple’s identity framework, supporting seamless user authentication and local account provisioning.
Ensuring that these requirements are met will provide a secure and efficient setup for
Just-in-Time local account creation, allowing users to authenticate and create accounts directly on macOS devices using their Okta credentials.
Enable JIT provisioning in the Admin Console
In the Admin Console, go to Settings > Features.

Locate Just-In-Time Local Account Creation for macOS, and click the toggle to enable the feature.

Add custom attributes to Platform SSO app
Check that the Okta username is in an email format and the username must also be supported by macOS, some characters, such as +, are not supported.
Ensure that the Okta user’s first name and last name are populated, and not set to null.
The macOS account details are sourced from this information.
If the first and last name attributes are null, you must create a custom attribute for username mapping.
To do that, in the Admin Console, go to Directory > Profile Editor.
Open the Platform Single Sign-On for macOS or Desktop Password Sync Profile Editor.

Click +Add Attribute

Enter the necessary values in the DisplayName and Description fields. Make sure to set the Variable name to macOSAccountUsername. Leave the remaining fields unchanged, then click Save to finalize the configuration

Repeat the same steps to create another variable, this time for macOSAccountFullName.
Note: If either macOSAccountUsername or macOSAccountFullName is not set, the system will default to a predefined value.
After creating the variables, click on the Mappings button in the same tab to continue.

Click on the Okta User to Platform Single Sign-On for macOS or Okta user to Desktop Password Sync tab.
Set a particular mapping for the newly created variables
In my example, I am setting the macOSAccountUsername to the Okta user’s email.
Click on Save Mappings

And click on Apply updates now.

Set up Device Access SCEP certificates
Device Access SCEP certificates are required to use PlatformSSO on devices running macOS Sonoma (14.0) and later.
These certificates deploy with your Jamf Pro environment, and are used to grant access to specific API endpoints and to identify the device making the calls.
Configure Okta as a CA for Device Access
In this section I am covering how to configure Okta as a CA with dynamic SCEP.
In the Okta Admin Console, open Security –> Device Integrations

Click the Device Access tab and click on the Add SCEP configuration.

Select Generic as the Dynamic SCEP URL type and press the Generate button.

Copy the following values, as you need them in a later step, while creating the SCEP profile in your Jamf Pro environment.
- SCEP URL
- Challenge URL
- Username
- Password
- Save your settings.

Create a dynamic SCEP profile in Jamf Pro
In the Jamf Pro console , go to Computers –> Configuration Profiles and click New to create the new profile.

On the General page, enter the following information:
- A name for the profile.
- Optional. Enter a description of the profile.
- Select the appropriate level for the certificate.
Okta Verify uses this certificate to identify managed devices and managed users.
To ensure that all users of the device are managed, you should select Computer Level.

Click SCEP, and then click Configure.

For the SCEP profile, enter the following information:
- Paste the SCEP URL that you copied from the Okta admin console in the previous step
- Enter a name for the SCEP profile
- Choose a time frame for the profile to be redistributed when its SCEP-issused certificate is the specified number of days from expiring.
Okta doesn’t support automatic certificate renewal.
The profile must be redistributed to replace the expired certificate. - Enter an appropriate subject name. For example, if you selected Computer Level, set the subject to indicate the device name e.g.
CN=$COMPUTERNAME ODA $UDID

- Select Dynamic-Microsoft CA
- Enter the Challenge URL hat you copied from the Okta admin console in the previous step
- Enter the username
- Enter the password
- Re-enter the password

- As Key Size select 2048
- Select Use as digital signature
- Deselect Allow export from keychain
- Select Allow all apps access
- Save your settings

Now we need to configure the targets that the profile will be deployed to, navigate to the Scope menu:
- Select your Target Computers
- Select your Target Users
- Save your settings

Verify that the Okta CA was installed on your devices
Open Keychain Access on your device

to verify that a client certificate and associated private key exists.

Configure PlatformSSO MDM profile in
Jamf Pro
In this section, we will cover the steps to configure a Platform Single Sign-On (SSO) MDM profile with Just-in-Time (JIT) account creation support within a Jamf Pro environment.
This configuration enables seamless integration between Okta and macOS devices, allowing users to authenticate and create local accounts using their Okta credentials.
We’ll walk through how to set up the MDM profile to ensure proper support for JIT account creation, streamlining user onboarding and device management.
In the Jamf Pro console navigate to Computers > Configuration Profiles
Click + New
Click the Options tab
Click on the General tab and enter a name for this policy. e.g.: Okta PSSO

Scroll down, click on the Single Sign-On Extensions and click + Add to add a new extension.

Set the following parameters:
- Payload type: SSO
- Extension identifier: com.okta.mobile.auth-service-extension
- Team identifier: B7F62B65BN
- Sign-on type: Redirect

Under URLs, enter a URL with the following format (for your own Okta org):
https://<<your-org>>.oktapreview.com/device-access/api/v1/nonce
Click on the +Add to add a second URL and set to:
https://<<your-org>>.oktapreview.com/oauth2/v1/token
Replace https://<your-org>>.oktapreview.com with your Okta org URL.

Set these parameters:
- Use Platform SSO: Include
- Authentication method: Password
Enable
- Use Shared Device Keys
- Create New User at Login
Registration Token should be set to a random value as field isn’t used, as the SCEP certificate is used in place of the Registration Token, but must be populated.

- Configure the User Mapping settings
- Set macOSAccountUsername as the AccountName
- Use macOSAccountFullName as the FullName

In the sidebar of the window, scroll up and click on Associated Domains click on
Configure

Click + Add

and put the following In the App Identifier box:
B7F62B65BN.com.okta.mobile.auth-service-extension and B7F62B65BN.com.okta.mobile
In the Associated Domain box, you will need to add your Okta org URL with
authsrv: preceding the URL. e.g.: authsrv:<<your-org>>.oktapreview.com
Click Save.

Now navigate to Applications & Custom Settings > Upload and Click on the + Add button

Please enter com.okta.mobile for the first preference domain
Copy the following XML and enter it in the property list:
<plist version="1.0">
<dict>
<key>OktaVerify.OrgUrl</key>
<string>https://your-org.oktapreview.com</string>
<key>OktaVerify.UserPrincipalName</key>
<string>$USERNAME</string>
<key>OktaVerify.PasswordSyncClientID</key>
<string>CLIENTID</string>
</dict>
</plist>
Replace https://your-org.oktapreview.com with your org URL, and replace CLIENTID with the client ID found in the Desktop Password Sync app > Sign on tab in your Okta Tenant

$USERNAME is an optional value for OktaVerify.UserPrincipalName, which automatically populates the username in the Sign-In Widget. If a value isn’t specified, users need to input their username when logging in.
In the next step click on the + Add button again to add another preference domain.
Enter com.okta.mobile.auth-service-extension for the second one.
Copy the following XML and enter it in the second property list:
<plist version="1.0">
<dict>
<key>OktaVerify.OrgUrl</key>
<string>https://your-org.oktapreview.com</string>
<key>OktaVerify.UserPrincipalName</key>
<string>$USERNAME</string>
<key>OktaVerify.PasswordSyncClientID</key>
<string>CLIENTID</string>
<key>PlatformSSO.ProtocolVersion</key>
<string>2.0</string>
</dict>
</plist>

Replace https://your-org.oktapreview.com with your org URL, and replace CLIENTID with the client ID found in the Desktop Password Sync app > Sign on tab in your Okta Tenant
Navigate to the Scope section and distribute the profile to your devices.

Preparing the macOS Device for User Enrollment
Once all configuration steps are completed and the prerequisites are in place, the IT administrator needs to perform the following actions on the device:
Sign in to the computer using the administrator account.

The device will undergo silent registration using the SCEP certificate to authenticate its identity and enroll the PlatformSSO keys.
To verify successful registration:
- Look for the Registration Required notification, prompting the user to sign in with their credentials

or
- Open Terminal and run the command:
app-sso platform -s
If the registration is successful, the output will display Device Configuration and
Login Configuration details awaiting completion.

You can verify the steps in the Okta System Logs

The new device was successfully enrolled

and activated

At this point, avoid completing the device registration process, as doing so will enroll the administrator account into Okta FastPass.
The final registration should be left for the end user who the device is being provisioned for to ensure proper enrollment.
Follow these steps to ensure the device is properly set up:
- Check for Duplicate User Accounts:
- On the macOS device, go to System Settings > Users & Groups and verify there are no duplicate user accounts with similar names (e.g.,
j.workandja.work). - If duplicate accounts are present, remove the unnecessary accounts and delete their associated home directories from the
/Users/folder.
- On the macOS device, go to System Settings > Users & Groups and verify there are no duplicate user accounts with similar names (e.g.,
- Configure Login Window Settings:
- Open System Settings > Lock Screen and set When Switching User > Login window shows > Name and Password.
- This ensures the login window displays the username field, allowing users to enter their credentials.
Once these steps are completed, the device is ready to be handed off to the end user for final setup.
Demo Just-in-Time Local Account Creation
In this demo, we’ll walk through the process of Just-in-Time (JIT) local account creation using Okta on a macOS device.
You’ll see how users can seamlessly create local accounts directly from the macOS login window using their Okta credentials.
This demonstration highlights how the feature simplifies onboarding and device provisioning, ensuring a smooth, secure user experience in shared or multi-user environments.
Conclusion and Benefits of Just-in-Time Local Account Creation on macOS with Okta
Just-in-Time (JIT) local account creation on macOS with Okta offers a streamlined, efficient solution for both users and administrators.
By allowing users to create accounts at the login window using their Okta credentials, this feature simplifies the process of accessing macOS devices, particularly in shared environments.
It leverages Apple’s Shared Device Keys and Platform Single Sign-On, ensuring security and seamless integration with existing identity management frameworks.
Benefits of JIT Local Account Creation:
- Simplified User Onboarding: Users can quickly create accounts on macOS devices without pre-configured profiles, reducing administrative overhead.
- Improved Security: By using Okta credentials and Apple’s identity framework, organizations ensure secure authentication and account creation.
- Ideal for Shared Devices: Perfect for environments where multiple users share devices, enabling any Okta user to log in and create their account in real-time.
- Reduced Admin Effort: Automating account creation means less manual intervention, freeing up IT resources for more critical tasks.
- Seamless Integration: JIT leverages Apple’s SSO framework, ensuring a smooth experience for both users and admins.
This feature is a valuable addition for organizations looking to optimize user access while maintaining strong security and reducing the complexity of account management
