Search Results :

×

User Provisioning between two Drupal websites

User Provisioning between two Drupal websites


If you have users on two Drupal websites and want to keep both sites updated with user information without logging in separately each time, miniOrange offers a solution using the SCIM standard. It helps provision users to both Drupal websites seamlessly.

In order to address this issue, miniOrange has developed a Drupal module that allows Drupal to Drupal User Provisioning and Sync. This module enables users to log into another Drupal website using their Drupal account credentials in order to visit your website. The SCIM User Provisioner module also supports provisioning with custom Providers. Any IDP that follows the SCIM standard is compatible with the SCIM User Provisioner module.

Installation Steps


  • Download the module:
    composer require 'drupal/user_provisioning'
  • Navigate to Extend menu on your Drupal admin console and search for miniOrange User Provisioning using the search box.
  • Enable the module by checking the checkbox and click on Install button.
  • Configure the module at
    {BaseURL}/admin/config/people/user_provisioning/overview
  • Install the module:
    drush en user_provisioning
  • Clear the cache:
     drush cr
  • Configure the module at
    {BaseURL}/admin/config/people/user_provisioning/overview
  • Navigate to Extend menu on your Drupal admin console and click on Install new module button.
  • Install the Drupal User Provisioning and Sync module either by downloading the zip or from the URL of the package (tar/zip).
  • Click on Enable newly added modules.
  • Enable this module by checking the checkbox and click on Install button.
  • Configure the module at
    {BaseURL}/admin/config/people/user_provisioning/overview

Let's assume you have two Drupal sites: a Server site and a Client site. In this setup, the Server site will function as a Drupal SCIM Server, while the Client site will operate as a Drupal SCIM Client. This configuration ensures that any CRUD (Create, Read, Update, Delete) operations executed on the Client site will be synchronized and reflected on the Server site

Configure Drupal as SCIM Server

Note: You will require the Premium version of the module to set up Drupal as an SCIM server.

  • Head towards the Drupal site and navigate to the User Provisioning tab of the module (/admin/config/people/user_provisioning/provisioning).
  • In the Changes from Provider to Drupal (SCIM Server) section, click on the Configure button, as indicated in the screenshot below.
  • Azure-AD-click-on-configure-button
  • From Configure Drupal as a SCIM server copy the SCIM Base URL and SCIM Bearer Token and keep it handy.
  • Drupal User Provisioning and Sync - Copy the SCIM Base URL and SCIM Bearer Token

Configure Drupal as SCIM Client

  • After installing and enabling the module on the Client site, navigate to the Configuration → miniOrange User Provisioning from the toolbar.
  • Head towards the User Provisioning tab of the module and click on the Configure button under the Changes from Drupal to Provider (SCIM Client) section.
  • SCIM-Server-Click-Configure-Drupal-to-Provider
  • Select the Enable SCIM Client API Integration checkbox.
  • SCIM-Server-Enable-API-Integration-Checkbox
  • Paste the copied values from the Server site into the SCIM 2.0 Base URL and SCIM Bearer Token fields and click on the Save and Test Credentials button.
  • Drupal-SCIM-Paste-Base-URL-Token
  • Once the test is successful you will get a success message.
  • Drupal-SCIM-Server-Configurations-Successful-Message

If you encounter any configuration issues, reach out to us at drupalsupport@xecurify.com with a screenshot of the error. We'll help you resolve it and guide you through the setup.

Attribute Mapping:

  • After the successful Test configurations, scroll down to the Attribute Mapping section.
  • Select the user attribute you want to map with the SCIM Provider Attribute from the Drupal User Attribute section and click on Next Step.
  • SCIM-Server-Attribute-Mapping-Click-Next-Step

How Provisioning Works?

The module supports 3 types of provisioning:

  1. Manual/On-Demand Provisioning
  2. Automatic Provisioning
  3. Scheduler-based Provisioning.
  • Choose your preferred provisioning option.
  • SCIM-Server-three-types-of-Provisioning

In this provisioning, the users are manually provisioned from the Drupal Client site to the Drupal Server site.

Configure Manual/On-Demand Provisioning

  • Enable the Manual/On-Demand Provisioning and select the Provisioning operations (i.e. create, update, deactivate, delete) as per your requirements and click on the All Done button.
  • SCIM-Server-Manual-Provisioning-Select-Operations

How Manual/On-Demand Provisioning Works?

  • Click on the Perform Manual Sync button under the Manual Provisioning column.
  • Drupal-SCIM-Server-Click-Perform-Manual-Provisioning
  • Search for the user you want to provision to the Drupal Server site and click on the Submit button.
  • drupal-SCIM-Server-Select-User-to-Provision
  • Once the user is successfully provisioned to the application, a success message is displayed.
  • SCIM-Server-User-Provisioned-Success
  • To confirm the changes Navigate to the Drupal Server site and check the status of the user provisioned.
  • Drupal-SCIM-Server-User-Provisioned-Manual

In this provisioning, any CRUD operations performed on users within the Drupal Client site will be mirrored on the Drupal Server site.

Configure Automatic Provisioning

  • Enable the Automatic Provisioning and select the Provisioning operations (i.e. create, update, deactivate, delete users ) as per your requirements and click on the All Done button.
  • SCIM-Server-Automatic-Provisioning-Select-Operations

How Automatic Provisioning Works?

Automatic Provisioning will help you provision your users using any of the following events:

  1. Admin Interface: When administrators or privileged users manually perform CRUD operations on a user’s account via the Drupal admin interface.
  2. User account change: Whenever users themselves perform CRUD operations on their own information form user/{user_id}/edit or any other custom form.
  3. 3rd Party Modules: Whenever a user entity is updated/created in the Drupal site using any third-party modules/applications or custom code.

Let’s see how automatic provisioning works with Admin Interface

  • Navigate to the People tab (admin/people) in the top navigation bar of the Drupal Client site and click on the +Add user button.
  • Drupal-SCIM-Server-Click-Add-User-Drupal
  • Fill in the user details and click on the Create new account button.
  • drupal-SCIM-Server-User-Information
  • Navigate to the People tab on the Drupal Server site to check the status of the user provisioned.
  • SCIM-Server-User-Provisioned-Automatic-Admin-Account

You can see the user has been successfully provisioned to the Drupal Server site.

If the Provision was not successful, please contact us at drupalsupport@xecurify.com. Please send the screenshot of the error window, and we will assist you in resolving the issue and guiding you through the setup.

 Case Studies
miniOrange has successfully catered to the use cases of 400+ trusted customers with its highly flexible/customizable Drupal solutions. Feel free to check out some of our unique case studies using this link.
 Other Solutions
Feel free to explore other Drupal solutions that we offer here. The popular solutions used by our trusted customers include 2FA, SSO, Website Security. 
  24*7 Active Support
The Drupal developers at miniOrange offer quick and active support for your queries. We can assist you from choosing the best solution for your use case to deploying and maintaining the solution.
Hello there!

Need Help? We are right here!

support
Contact miniOrange Support
success

Thanks for your inquiry.

If you dont hear from us within 24 hours, please feel free to send a follow up email to info@xecurify.com