Search Results :

×

SCIM User Provisioning using ASP.NET SCIM Client with WordPress

The ASP.NET SCIM Client enables automated user provisioning and synchronization between WordPress and your ASP.NET application. SCIM (System for Cross-domain Identity Management) is an open standard used to securely manage user identities across systems. Using this integration, user operations such as create, update, and delete can be handled efficiently. Follow the step-by-step guide below to configure SCIM user provisioning using the ASP.NET SCIM Client.

  • Login to http://portal.miniorange.com/ and navigate to the Downloads tab. From there, locate your purchased plugin and click on Download Plugin to download the plugin zip file.
  • Extract the Downloaded zip file in your machine and place the nuget package file (.nupkg file) in a some folder like "C:\miniOrangePackages"
  • Run the following command in your VS terminal to add it as a package source:
dotnet nuget add source C:\miniOrangePackages--name miniOrangePackage
  • Open your Project in the terminal:
cd C:\Path\To\YourProject
  • Install the Package in your project using the below command:
dotnet add package miniOrange.SCIM.Client --source miniOrangePackage

OR

  • After placing the NuGet package (.nupkg file) in a local folder, instead of using the terminal, you can also install it using Visual Studio by following the steps below:
  • Open your .NET application in Visual Studio, click on Tools in the top navigation bar, and navigate to NuGet Package Manager → Manage NuGet Packages for Solution.
Nuget Package Manager

  • A new window will open; click on the gear icon next to the Package source dropdown.
Gear icon

  • A pop-up window will open; select Package Sources from the left navigation panel, click on the plus (+) icon, enter a name for the package source, provide the path of the folder where you placed the NuGet package in the Source field, then click Update and finally click OK to save the changes, as shown in the image.
Package Sources Window

  • After closing the pop-up window, select the newly added package source from the Package source dropdown.
Package Source dropdown

  • Now click on the Browse tab, search for miniOrange.SCIM.Client, select the package from the results, and click Install.
miniOrange.SAML.SSO

  • Note: To integrate the miniOrange ASP.NET SCIM Client in your application, you will be required to add the below namespaces, services and HTTP configurations in your project, below is a sample implementation for reference.
    Include only the highlighted section below in the Program.cs file of your application.
  using miniOrange.SCIM.Client.DependencyInjection;
  using miniOrange.SCIM.Client.Middleware;
  var builder=WebApplication.CreateBuilder(args);

  // Add services to the container.
  builder.Services.AddRazorPages();
  builder.Services.AddControllersWithViews();
  builder.Services.AddSCIMClientServices();

  var app = builder.Build();
        if(!app.Environment.IsDevelopment())
  {
    app.UseExceptionHandler("/Error");
    app.UseHsts();
  }

  app.UseHttpsRedirection();
  app.UseRouting();
  app.UseAuthorization();
  app.MapRazorPages();

  app.UseCookiePolicy();
  app.UseAuthentication();

  #if NET9_0_OR_GREATER
  app.MapStaticAssets();
  #else
  app.UseStaticFiles();
  #endif

  app.UseSCIMClientMiddleware();();
  app.Run();

Step by step guide for ASP.NET SCIM Client setup using WordPress as provisioning source.

  • After integration, open your browser and access the SCIM Client dashboard using the URL below:
 https://your-app.com/?scimaction=config
  • If the configuration page opens, it indicates that the miniOrange SCIM Client has been successfully integrated into your application.
ASP.NET SCIM Client - Configuration Method

  • On the SCIM Client database configuration page, you will find two configuration methods to set up your database connection. You can either select from existing connection strings or configure the connection manually based on your application setup.

Select from available connection strings
  • Select your Database Provider from the dropdown (e.g., SQL Server, MySQL, PostgreSQL, SQLite) based on your application setup.
ASP.NET SCIM Client - Database Provider

  • Choose an Available Connection String from the dropdown (e.g., DefaultConnection) that is already configured in your application.
ASP.NET SCIM Client - Available Connection Strings

  • Click on Save Configuration and then Test Connection to verify the database connectivity.Once the connection is successful, click on Next to proceed further.
ASP.NET SCIM Client - Save and Test Connection

OR

Configure manually
  • Select your Database Provider and enter the required database details such as Server, Port (optional), Database Name, Username, and Password. You can also enable Use Integrated Security (Windows Authentication) if applicable.
ASP.NET SCIM Client - Configure Manually

  • Enable the “I have connection string” toggle if you want to provide the complete connection string directly instead of entering individual fields.
  • Click on Save Configuration and then Test Connection to verify the database connectivity. Once the connection is successful, click on Next to proceed further.
ASP.NET SCIM Client - Connection String Toggle Button

  • After clicking on Next, you will be redirected to the login page. Log in with your licensed miniOrange account to continue configuring the SCIM Client.
ASP.NET SCIM Client - Login Page

  • After logging in, the License Activation dashboard will open. Enter the license key to activate the plugin, which you will receive after logging in to portal.miniorange.com and navigating to Manage License → License Keys.
ASP.NET SCIM Client - License Key

  • Then, check the box "I have read the above conditions and want to activate the plugin", and click the Activate License button.
ASP.NET SCIM Client - Activate License Button

  • Once the license is successfully activated, the SCIM Configuration dashboard will open.
ASP.NET SCIM Client Dashboard

  • Open your browser and navigate to your WordPress admin login page.
 https://your-wordpress-site.com/wp-admin
  • Enter your Username or Email Address and Password, then click on the Log In button to access the WordPress Admin Dashboard.
ASP.NET SCIM Client - Wordpress Admin Dashboard

  • After logging in, you will be redirected to the WordPress Admin Dashboard.From the left sidebar, click on SCIM user provisioning to open the plugin.
Wordpress SCIM User Provisioning Plugin

  • Once inside the plugin, scroll down to the SCIM API Credentials section. Copy the SCIM Base URL and SCIM Bearer Token and keep them handy, as you will need them in the next step.
Wordpress SCIM Base URL and Bearer Token

  • Now, switch back to your .NET SCIM Client dashboard and navigate to the SCIM Configuration tab. Paste the copied SCIM Base URL into the SCIM Endpoint URL field and the SCIM Bearer Token into the Bearer Token field.
.NET SCIM CLient - SCIM Configuration tab

  • Once done, click on Save Configuration and then Test Connection to verify the setup.
  • Once the connection is established successfully, a confirmation pop-up will appear displaying Connection Successful. Click OK to proceed.
.NET SCIM CLient - Save and Test Connection

  • Navigate to the Attribute Mappings tab from the left sidebar. Select the database table (e.g., Users) from the dropdown and click Save.
.NET SCIM CLient - Attribute Mapping

  • Map each Source Attribute (User) to its corresponding Target Attribute (SCIM) by selecting the appropriate database column from the Search or select column dropdown for each row.
  • Note: The Target Attribute refers to the standard SCIM schema field to which your database column value will be provisioned.
.NET SCIM CLient - Attribute Mapping

  • To add a custom attribute mapping (e.g., PhoneNumber), click the + Add Mapping button and configure the source and target attributes as needed.
  • Once all mappings are configured, click Save All Mappings to save your changes.
.NET SCIM CLient - Source and Target Attribute

Group Mappings

If your Identity Provider supports group provisioning, you can configure group mappings to sync groups from your application to WordPress.

  • Navigate to the Group Mappings tab from the left sidebar. Under Group Table, select the database table that contains your group information and click Save.
  • Similarly, under Group Identifier Column, select the column that serves as the group name identifier and click Save.
  • Under the Group Attribute Mappings section, map each Source Attribute (Group) to its corresponding Target Attribute (SCIM), which refers to the standard SCIM schema field to which your group column value will be provisioned.
  • To add a custom attribute mapping, click the + Add Mapping button. Once done, click Save Mappings to save your changes.
.NET SCIM CLient - Group Mappings

  • Scroll down to the Role Name Mappings section. If the group names in your application differ from those on the server, disable the Groups same as server toggle and map your local group names to the corresponding external group names under the Group Name Mappings section.
  • Enter the Local Group Name and the corresponding External Group Name in the provided fields. To add more mappings, click the + Add Mapping button, and once done, click Save to save your changes.
.NET SCIM CLient - Role Name Mappings

  • If the Groups same as server toggle is enabled, local group names will be used as-is and no name mapping is required.
.NET SCIM CLient - Role Name Mappings

  • Navigate to the Sync Options tab from the left sidebar.
  • Under User Sync Settings, set the Batch Size to define the number of user records to be grouped per bulk operation.
  • You can also enable the Sync users in batches (Use SCIM Bulk API) toggle, which processes multiple objects in a single API request for faster synchronization.
  • Once configured, click Save Configuration.
.NET SCIM CLient - Batch Size

  • Note: Batch Size is only applicable when using One Time Sync or Schedule Sync.
  • Real Time Sync: Turn on the Enable Real Time Sync toggle to allow real-time synchronization of user changes such as create, update, and delete operations to the SCIM server as they occur. When disabled, real-time sync operations will be rejected. Click Save Configuration to apply the changes.
  • One Time Sync: To perform an immediate one-time synchronization of all users from your .NET application to the SCIM server, click the Perform One Time Sync button.
.NET SCIM CLient - Real time and one time sync

  • Schedule Sync: Turn on the Enable Schedule Sync toggle to automatically synchronize users from your .NET application to the SCIM server at configured intervals.
  • Once enabled, set the Start Date & Time to specify when the scheduled sync should begin.
  • Then select the sync Frequency as per your requirement — Daily, Weekly, Monthly, or Custom.
  • If you select Custom, enter a Custom Value and select the Unit (e.g., Days) to define your own sync interval.
  • Click Save Configuration to apply the changes.
.NET SCIM CLient - Schedule Sync

Group Sync Options
  • Navigate to the Group Sync Options tab from the left sidebar.
  • Note that group sync requires group mappings to be configured under the Group Mappings tab beforehand.
  • Under Group Sync Settings, set the Batch Size to define the number of group records to be grouped per bulk operation.
  • You can also enable the Sync groups in batches (Use SCIM Bulk API) toggle, which processes multiple group objects in a single API request for faster synchronization.
  • Click Save Configuration to apply the changes.
.NET SCIM CLient - Batch Size

  • Under Group Real Time Sync, turn on the Enable Real Time Sync toggle to allow real-time synchronization of group changes such as create, update, and delete operations to the SCIM server as they occur.
  • When disabled, real-time sync operations will be rejected. Click Save Configuration to apply the changes.
.NET SCIM CLient - Real Time Sync


 Thank you for your response. We will get back to you soon.

Something went wrong. Please submit your query again

We'll Reach Out to You at the Earliest!


ADFS_sso ×
Hello there!

Need Help? We are right here!

support