Overview
SCIM (System for Cross-domain Identity Management) is an open standard that automates user provisioning and de-provisioning between identity providers (such as OneLogin) and external applications. Setting up SCIM in OneLogin allows for seamless user management, reducing administrative overhead and ensuring security compliance.
Prerequisites
Before setting up SCIM provisioning in OneLogin, ensure you have the following:
-
Administrator Access to OneLogin.
-
SCIM API Credentials from the target application.
-
SCIM-Enabled Application that supports user provisioning.
Steps
Configuring SCIM for OneLogin on Simpplr
-
Navigate to Manage > Application > Integration > People data.
-
Click Add Integration and select OneLogin.
-
Enter a unique name for the integration (Duplicate names are not allowed).
-
Click Add, which will take you to the newly added integration screen.
-
Click Generate Token. This will display two key configurations:
-
SCIM Base URL: The endpoint URL used by vendors to make API calls for test connections, provisioning, and syncing.
-
Token: The authentication token that Simpplr uses to validate incoming requests from the vendor for provisioning and synchronization operations.
-
Configure OneLogin for SCIM
-
Log in to OneLogin. You will need administrator access to do the next steps.
-
In the top right corner, click Administration.
-
To create a new application:
-
From the main menu, select Applications > choose Add App.
-
Select SCIM Provisioner with SAML (SCIM v2 Enterprise) and select Save.
-
-
Configure SCIM in the newly created application.
-
Go to the created application/search for already created application.
-
Select the Configuration tab.
-
Let us suppose the base url of the tenant is
https://ats-reg-testing.qa.simpplr.xyz/
, then putsimpplr.xyz
in SAML Audience URL and putqa.simpplr.xyz
in SAML Consumer URL. -
Copy SCIM Base URL from newly created integration and paste in Scim Base URL in the configuration tab.
-
Copy Token and paste in the SCIM Bearer Token in the configuration tab.
-
-
Configure Field Mappings in OneLogin.
-
Copy and past the basic schema in the SCIM JSON templates.
{ "schemas": [ "urn:ietf:params:scim:schemas:core:2.0:User", "urn:ietf:params:scim:schemas:extension:enterprise:2.0:User" ], "externalId": "{$user.id}", "userName": "{$parameters.scimusername}", "name": { "familyName": "{$user.lastname}", "givenName": "{$user.firstname}" }, "emails": [ { "value": "{$user.email}", "type": "work", "primary": true } ], "displayName": "{$user.display_name}", "locale": "{$user.locale_code}", "phoneNumbers": [ { "value": "{$user.phone}" } ], "roles": "{$user.custom_fields.Roles}", "active": "{$user.status}" }
-
This is the Basic Schema mapping with all the basic user fields for the users created in OneLogin.
-
Configuring Standard and Custom Fields in OneLogin.
-
Depending Upon use of Standard and Custom Fields, the schema would be defined as follows:
-
Simpplr Defines Standard Fields and Custom fields as:
Simpplr Defined Standard Fields urn:ietf:params:scim:schemas:extension:simpplrapp:User:business_unit urn:ietf:params:scim:schemas:extension:simpplrapp:User:about Simpplr Defined Custom Fields urn:ietf:params:scim:schemas:extension:simpplrapp:66886f53-e818-46cc-b25d-25162482afbc:User:b3d05d30-70c8-4a84-9364-0b3311f4259a
-
Now for standard Fields will be added in the JSON as:
"urn:ietf:params:scim:schemas:extension:simpplrapp:User": { "business_unit": "{$user.display_name}", "about": "{$user.about}" }
-
Similarly, Custom fields will be defined as:
"urn:ietf:params:scim:schemas:extension:simpplrapp:66886f53-e818-46cc-b25d-25162482afbc:User": { "b3d05d30-70c8-4a84-9364-0b3311f4259a": "{$user.customField1}" }
-
The final schema with added standard and custom fields will look something like this:
{ "schemas": [ "urn:ietf:params:scim:schemas:core:2.0:User", "urn:ietf:params:scim:schemas:extension:enterprise:2.0:User" ], "externalId": "{$user.id}", "userName": "{$parameters.scimusername}", "name": { "familyName": "{$user.lastname}", "givenName": "{$user.firstname}" }, "emails": [ { "value": "{$user.email}", "type": "work", "primary": true } ], "displayName": "{$user.display_name}", "locale": "{$user.locale_code}", "phoneNumbers": [ { "value": "{$user.phone}" } ], "roles": "{$user.custom_fields.Roles}", "active": "{$user.status}", "urn:ietf:params:scim:schemas:extension:simpplrapp:User": { "business_unit": "{$user.display_name}", "about": "{$user.about}" }, . "urn:ietf:params:scim:schemas:extension:simpplrapp:66886f53-e818-46cc-b25d-25162482afbc:User": { "b3d05d30-70c8-4a84-9364-0b3311f4259a": "{$user.customField1}" . } }
-
-
-
Configure provisioning for SCIM app:
-
Select the Provisioning tab.
-
Check Enable Provisioning.
-
Under Require admin approval before this action section, uncheck the Create, Delete, and Update checkboxes to have OneLogin provision new users and update users to the SCIM app without requiring administrative approval.
-
Select Save.
-
-
Test provisioning with your SCIM App.
-
Select the Access tab.
-
In the Roles section, ensure Default is checked.
-
Select Save.
-
From the main menu, select Users.
-
Select the user to provision to the SCIM app.
-
Select the Applications tab for the user.
-
In the Roles section, select Default.
-
Select Save User to start the provisioning process.
-
-
View provisioning:
-
From the main menu, select Users > Provisioning.
-
Refresh the page to view the updates.
-
Go to Applications, open the SCIM app.
-
Select the Users tab to see provisioned users.
-
-
To disconnect OneLogin SCIM, follow the steps:
-
Go to Simpplr. Click on Manage > Applications > Integrations > People Data.
-
Select the SCIM, click on the 3 dots, and click Delete.
-
Log in to OneLogin.
-
Click on Administration from the application section from the main menu and then click on App Name.
-
Select the Provisioning tab and uncheck the Enable provisioning in the Workflow section.
-
Click Save.
-
Comments
Please sign in to leave a comment.