Tutorial: Configure O'Reilly learning platform for automatic user provisioning

This tutorial describes the steps you need to perform in both O'Reilly learning platform and Microsoft Entra ID to configure automatic user provisioning. When configured, Microsoft Entra ID automatically provisions and de-provisions users to O'Reilly learning platform using the Microsoft Entra provisioning service. For important details on what this service does, how it works, and frequently asked questions, see Automate user provisioning and deprovisioning to SaaS applications with Microsoft Entra ID.

Supported capabilities

  • Create users in O'Reilly learning platform.
  • Remove users in O'Reilly learning platform when they do not require access anymore.
  • Keep user attributes synchronized between Microsoft Entra ID and O'Reilly learning platform.
  • Single sign-on to O'Reilly learning platform (recommended).


The scenario outlined in this tutorial assumes that you already have the following prerequisites:

  • A Microsoft Entra tenant
  • A user account in Microsoft Entra ID with permission to configure provisioning (for example, Application Administrator, Cloud Application administrator, Application Owner, or Global Administrator).
  • A user account in O'Reilly learning platform with Admin permissions.
  • An O'Reilly learning platform single sign-on (SSO) enabled subscription.

Step 1: Plan your provisioning deployment

Step 2: Configure O'Reilly learning platform to support provisioning with Microsoft Entra ID

Before you begin to configure the O'Reilly learning platform to support provisioning with Microsoft Entra ID, you’ll need to generate a SCIM API token within the O’Reilly Admin Console.

  1. Navigate to O’Reilly Admin Console by logging in to your O’Reilly account.
  2. Once you’ve logged in, click Admin in the top navigation and select Integrations.
  3. Scroll down to the API tokens section. Under API tokens, click Create token and select the SCIM API. Then give your token a name and expiration date, and click Continue. You’ll receive your API key in a pop-up message prompting you to store a copy of it in a secure place. Once you’ve saved a copy of your key, click the checkbox and Continue.
  4. You will use the O’Reilly SCIM API token in Step 5.

Add O'Reilly learning platform from the Microsoft Entra application gallery to start managing provisioning to O'Reilly learning platform. If you have previously set up O'Reilly learning platform for SSO, you can use the same application. However it's recommended that you create a separate app when testing out the integration initially. Learn more about adding an application from the gallery here.

Step 4: Define who will be in scope for provisioning

The Microsoft Entra provisioning service allows you to scope who will be provisioned based on assignment to the application and or based on attributes of the user. If you choose to scope who will be provisioned to your app based on assignment, you can use the following steps to assign users to the application. If you choose to scope who will be provisioned based solely on attributes of the user, you can use a scoping filter as described here.

  • Start small. Test with a small set of users before rolling out to everyone. When scope for provisioning is set to assigned users, you can control this by assigning one or two users to the app. When scope is set to all users, you can specify an attribute based scoping filter.

  • If you need more roles, you can update the application manifest to add new roles.

Step 5: Configure automatic user provisioning to O'Reilly learning platform

This section guides you through the steps to configure the Microsoft Entra provisioning service to create, update, and disable users in O’Reilly learning platform based on user assignments in Microsoft Entra ID.

To configure automatic user provisioning for O'Reilly learning platform in Microsoft Entra ID:

  1. Sign in to the Microsoft Entra admin center as at least a Cloud Application Administrator.

  2. Browse to Identity > Applications > Enterprise applications

    Screenshot of Enterprise applications blade.

  3. In the applications list, select O'Reilly learning platform.

    Screenshot of the O'Reilly learning platform link in the Applications list.

  4. Select the Provisioning tab.

    Screenshot of Provisioning tab.

  5. Set the Provisioning Mode to Automatic.

    Screenshot of Provisioning tab automatic.

  6. Under the Admin Credentials section, input your O'Reilly learning platform Tenant URL, which is https://api.oreilly.com/api/scim/v2, and Secret Token, which you generated in Step 2. Click Test Connection to ensure Microsoft Entra ID can connect to O'Reilly learning platform. If the connection fails, double-check that your token is correct or contact the O’Reilly platform integration team for help.

    Screenshot of Token.

  7. In the Notification Email field, enter the email address of a person who should receive the provisioning error notifications and select the Send an email notification when a failure occurs check box.

    Screenshot of Notification Email.

  8. Select Save.

  9. Under the Mappings section, select Synchronize Microsoft Entra users to O'Reilly learning platform.

  10. Review the user attributes that are synchronized from Microsoft Entra ID to O'Reilly learning platform in the Attribute-Mapping section. The attributes selected as Matching properties are used to match the user accounts in O'Reilly learning platform for update operations. If you choose to change the matching target attribute, you'll need to ensure that the O'Reilly learning platform API supports filtering users based on that attribute. Select the Save button to commit any changes.

    Attribute Type Supported for filtering Required by O'Reilly learning platform
    userName String
    active Boolean
    emails[type eq "work"].value String
    name.givenName String
    name.familyName String
    externalId String
  11. To configure scoping filters, refer to the following instructions provided in the Scoping filter tutorial.

  12. To enable the Microsoft Entra provisioning service for O'Reilly learning platform, change the Provisioning Status to On in the Settings section.

    Screenshot of Provisioning Status Toggled On.

  13. Define the users that you would like to provision to O'Reilly learning platform by choosing the desired values in Scope in the Settings section.

    Screenshot of Provisioning Scope.

  14. When you're ready to provision, click Save.

    Screenshot of Saving Provisioning Configuration.

This operation starts the initial synchronization cycle of all users defined in Scope in the Settings section. The initial cycle takes longer to perform than subsequent cycles, which occur approximately every 40 minutes as long as the Microsoft Entra provisioning service is running.

Step 6: Monitor your deployment

Once you've configured provisioning, use the following resources to monitor your deployment:

  • Use the provisioning logs to determine which users have been provisioned successfully or unsuccessfully
  • Check the progress bar to see the status of the provisioning cycle and how close it's to completion
  • If the provisioning configuration seems to be in an unhealthy state, the application goes into quarantine. Learn more about quarantine states here.

More resources

Next steps