miniorange logo

User Provisioning and Data Synchronization – User Synchronization for WordPress

Automate user creation, updation and deletion from the IDP and sync to your WordPress site in real-time.

Introduction

With the growth of any business or organization, the importance of data accuracy, consistency, and privacy is rising. Things that may seem like a minor data error or glitch can have a major negative impact on sales, decision-making, and customer retention.

In any business environment, efficiency in maintaining user data is considered to be one of the most crucial tasks. Users had the freedom to update their data as per their wish and in the past, the guy at the backend had the responsibility to make sure that data is reflected everywhere i.e. the environments which are integrated with the main environment where the users are created initially. This process of manual user sync is quite time-consuming since it required manual syncing of each user. Coming to the present day, this process has been fairly automized for the benefit of the user as well as the organization. Consistent data plays an upper hand in any business. It is crucial for enterprises to ensure data consistency, especially when aggregating data from multiple internal or external sources.

Users and their information can be synced in real-time at multiple places depending upon the functionality of the tool used for it. There are n number of tools developed for different platforms that exist, but before exploring those tools we need to first understand what is meant by user synchronization ? and why is the concept growing so rapidly?

Why is user sync important ?

User synchronization is a process that helps two or more components involved in some integration or relation, obtain the correct and updated user information from each other, which in turn helps them run efficiently and attains the desired functionality of the components

Sorting through data and syncing it with existing databases, then parsing it out on a regular basis, all while maintaining data integrity can be tedious and costly. That’s why user data synchronization has become one of the most valuable tools to manage your users.

As the availability of personal information for apps, websites, and emails increases, the importance of synchronization grows. Updates to information generated by the user as well as the end target should be permanent and secure. This synchronization process requires clean and consistent data for products and services as well as data management issues such as security and regulatory compliance.

Data conflicts can result in errors and low data quality, which consequently leads to a lack of trusted data down the line. With data synchronization properly implemented throughout a system, a business will see performance improvement in many areas.

Benefits of User Synchronization

Benefits of User Synchronization

Types of Synchronization

When it comes to the categorization of synchronization techniques, one can segregate syncing into two categories i.e. Unidirectional and Bi-directional. Both of these can be further classified on the basis of when you want to sync your user data.

  • Unidirectional Sync
    Unidirectional synchronization or the one-way sync, as the name suggests, means synchronization of data between two components i.e. when user information is updated at one component, it gets updated at its linked component. Ideally in this type of synchronization, you can sync data from the source component to destination component but not vice versa. To support unidirectional sync, the source component should have the capability to send a sync request to the destination component, and the destination component should have the capability to listen and process the sync request further.

  • Bi-directional Sync
    I. Bidirectional synchronization a.k.a two-way sync, is syncing of the corresponding user data on its counter component on the change in data on the source or destination component, in real-time or in timed bursts. To add support of a two-way sync, both components involved should have the capabilities to send a sync request as well as process a sync request.
    II. Talking about when – it clearly defines the time at which you want to synchronize your data. This can be either Automated and On-demand. Both Unidirectional Sync, as well as Bi-directional Sync, support Automated and On-demand synchronization. Depending on the requirement, the sync types can be mixed & matched to get the ideal combination suited for an existing setup of systems.

  • Automated User Sync
    These processes occur on the basis of external triggers. It can be further classified into Real-Time synchronization and Scheduled synchronization:

  • 1. Real-time synchronization
    I. In the case of real-time sync, modifications in user details are simultaneously synchronized at all the components when there is an update at one component. This is achieved with the help of supported triggers and APIs of the components. As mentioned earlier, the sync can be either uni-directional or bi-directional depending on the requirement.
    II. Drawing parallels with consistency in distributed systems, strong consistency can be achieved by combining Real-time Sync with Bi-directional Sync in a way that you can perform bi-directional sync in real-time. As soon as there is a change in user details at either of the components involved, the trigger is fired and a sync request is sent to all the integrated components.

  • 2. Scheduled synchronization
    I. This type of automated synchronization lets you synchronize user details at a specified time without having to compromise the user data. It acts as a scheduler for the user data to be passed on from one component to another.
    II. It automatically syncs the user information from one location to another irrespective of whether the user details have been updated by the user or not. This type of sync ensures regular data updates in both locations with your chosen time of comfort.
    III. In a setup with high transaction rates, scheduled sync might be a disadvantage since the components might return stale data when all the involved components do not have the updated data yet. This type of synchronization aims for eventual consistency, rather than strong consistency.

  • On-demand Sync
    I. While automated synchronization synchronizes user data more frequently, the downside of synchronizing more frequently is that you may overload your server with requests, which can pose a huge risk during business hours. This is where on-demand sync comes into the picture.
    II. On-demand synchronization enables you to sync your users with a click of a button at that particular instant instead of synchronization of users at the time of creation or modification. This avoids the risk of server overload which is likely to happen when a huge amount of user data is to be synced during scheduled or real-time synchronization. You can hence decide on syncing your user data at a time when the user traffic is less or when a major change needs to be propagated to all components.
    III. It seeks to achieve point-in-time consistency which deals with ensuring the uniformity of all elements of a system at a specific point in time. This prevents data loss during system crashes, improper shutdowns and other network issues.

How does miniOrange support User Synchronization ?

miniOrange provides user synchronization for various platforms including WordPress. We have diverse WordPress solutions for sync with major Identity Providers like Azure AD, Azure B2C, Salesforce, Okta, Keycloak etc.

  • User Sync for Azure AD / Azure B2C
    Employees, members, or students, are some types of users which are stored in AzureAD. The main concerns with such types of users are:
    I. Maintaining updated user profile data in Azure AD / Azure B2C as well as all the applications linked to it.
    II. Providing access to applications and revoking access to the application in cases when a user’s membership expires or is renewed, an employee is de-boarded or onboarded, a student migrates from one school to another.
    User sync in Azure provides you with the ability to manage the above concerns regarding user access for all applications linked to it using Microsoft Graph APIs. Our User Sync for AzureAD Plugin makes use of these Graph APIs along with Azure SCIM support and WP-Cron to enhance user management and provide the functionality of syncing data into WordPress, saving you the pain of making changes manually on both ends. This synchronization can include all user attributes including the profile picture of users and provides an option to delete or disable users in WordPress when a user is deprovisioned in Azure.
    Besides, the usual user synchronization between AzureAD and WordPress, we have solutions for seamless integration with PowerBI, Sharepoint, OneDrive, etc. to display their content on the WordPress site and additionally, access can be provided to such content based on user access level.
    The plugin also provides integrations with Microsoft, Azure AD/B2C, and Office 365 applications like such as Teams, Excel, OneNote, Outlook, Dynamic CRM 365, Application Insights, Bookings and so on.

  • Salesforce Object Sync
    Most online businesses run on a conjunction of two types of systems – a CMS (Content Management System) which models the content for an end-user and a CRM (Customer Relationship Management) which tracks and analyses the interaction between the content and end-user. Salesforce (CRM) and WordPress (CMS) is one such powerful integration that can give a head start to any business.
    The integral part of this integration remains to be the synchronization of the information flowing between these two systems. Our Salesforce Object Sync comes to the rescue here! The Salesforce Object Sync Plugin allows WordPress objects (post, page, user, blog) to be synced to Salesforce objects such that the records in Salesforce objects will be created/updated/deleted when the data in WordPress is added or modified.
    This plugin also provides a feature for the bi-directional synchronization i.e Salesforce object can be mapped to a WordPress object thus creating a complete Object Lifecycle Management system. It also allows syncing of WooCommerce orders, checkout details, membership levels, user data from WordPress to Salesforce, and vice-versa.
    The plugin also comes with numerous features such as Real-time sync, Field Mapping, Manual push to Salesforce, Bi-directional sync along with integration with 3rd party WordPress add-ons such as MemberPress, WooCommerce, and Paid MembershipPro.

  • SCIM User Provisioning
    The most commonly known standard for automating the exchange of user identity information between IT systems, SCIM – The System for Cross-domain Identity Management, was developed to securely automate the exchange of user identity data between company’s cloud applications. This protocol is supported by many Identity Providers like Azure AD, Okta, Centrify, GoogleApps, Jumpcloud, PingOne, OneLogin etc.
    With built-in accessibility and interoperability, SCIM solves identity maintenance challenges such as record tracking, manual registration and deletion, and simplifies the secure exchange of identity data. SCIM also maintains data synchronization between Identity Providers and Service Providers, effectively centralizing identity.
    Our WordPress SCIM User Provisioning Plugin provides user synchronization with all above-mentioned Identity Providers, as well as integration with BuddyPress custom profile fields. One bonus feature of SCIM Provisioning is SCIM Audit which saves user logs (records of user creation/update/deletion) for deeper control and insight.

  • WP to WP Sync
    Judging by the name alone one can already comprehend WP to WP sync as synchronization of users between two WordPress sites. It implies that if a user is created/updated/modified in one of the WordPress sites it is also created/updated/modified in the other WordPress site depending on the type of configurations made for synchronization i.e. unidirectional or bidirectional.
    This type of sync is usually required with parent-child WordPress site setups, where the parent site stores all the user information initially and then the data is funnelled to the child sites as when required. The data is required to be kept in sync since user data can then be updated in any child site as well as the parent site.
    This is achieved with the help of SCIM User Provisioning. The Bearer URL and token from both the sites are mapped into each other in the case of Bi-directional synchronization. But in the case of Unidirectional synchronization only the WordPress site whose users are to be synced into the other shares the bearer URL and token.

As seen above, one can see how User Sync can improve data security and effectively increase the capabilities of a business/organization.
Each user sync plugin offers a great solution for your needs, and the best choice can be made by looking at the features that each one offers. You can customize each one of them differently according to the need for your site. If you have any queries or any custom requirements regarding the solutions we can provide for user sync, you can contact us at samlsupport@xecurify.com.

Additional Resources

Author

miniOrange

    contact us button