SCIM

Requirements (on-premise)

GLPI Version
Minimum PHP
Recommended

10.0.x

8.1

8.2

11.0.0

8.2

8.4

A GLPI Network BASIC subscription (or higher) is required. This plugin is also available for all GLPI Network Cloud instances.

Password/SSO

Although it's mentioned in the SCIM specifications, password sync is not always available depending on the provider:

Install the plugin

  • From the marketplace, download the SCIM plugin

images/scim-1.png

Setup GLPI

You must declare an identity server in the plugin configuration (You can add any number).

  • Go to your instance GLPI

  • Select Setup > SCIM Identity servers

  • Click + Add

  • Add a name

  • Select the admin account who can update your GLPI's datas

  • Click Activate

  • Select the Baerer method

  • click + Add

  • You can see now the API URL

images/scim-20.png

For Azure, the awaited secret is a long life valid jwt token. We cannot use an oauth exchange (Azure doesn't ask for an authorize URL). So in GLPI, setup you SCIM server with Bearer security and paste the JWT token from GLPI in the Secret token field of Azure.

You'll be given an API URL you may paste into your identity provider configuration. Check the specific provider documentation for more details.

You may set some optional parameters :

  • Save requests in logs: if checked, all requests will be saved in the "Historical" tab of your declared server.

  • Default server: if checked, this server will be used by default without providing it's ID in the API URL.

  • Security: a dropdown of available security methods. Currently implemented:

    • None: no security, anyone can access the API.

    • Basic: HTTP Basic authentication. You must provide a username and a password.

    • Digest: HTTP Digest authentication. You must provide a username and a password.

    • Bearer: HTTP Bearer authentication. A long lived (10 years) JWT token will be generated.

    • OAuth2: OAuth2 authentication. You must provide at least a valid redirection URI. We support the following flows:

      • Authorization code.

      • Client credentials.

Your SCIM server is now ready to receive requests from your identity provider.

images/scim_api.png

Entra

References

Setup

Create application

  • Connect to your Azure portal

  • Click on Add

  • then Enterprise application.

images/scim-4.png
  • Click on Create your application.

  • In the section that appears on the right, enter the name of your application and choose the 3rd option `integrate any other application don't find in the gallery`.

images/scim-5.png

Setup the application

  • Once you've created your application, go to Provisioning.

images/scim-6.png
images/scim-7.png
  • Click on Test connection. A message will appear informing you of the successful connection.

images/scim-8.png
  • On the same page, you can also configure an email address and a number in case of failure or accidental deletions.

images/scim-9.png
  • Click on Save

Synchronising all users

  • You can choose to synchronise your entire directory.

  • Go to the Settings > Scope tab and select Sync all users and groups.

images/scim-10.png

Synchronising selected groups and users (default option)

  • You can choose to synchronise only certain groups and/or users. When refreshing the `Provisioning` page

  • Go to the Parameters > Scope tab

  • Select Synchronise assigned users and groups only

images/scim-11.png
  • Then go to Users and groups

  • Click on Add a user/group

  • Click on No selection

  • Select the groups and users you want in the box on the right

  • Then Select and Assign.

images/scim-12.png

Activate provisioning

  • In the Provisioning section

  • Change the status from Disabled to Enabled

images/scim-13.gif

Check synchronisation status

  • In the Overview section, you can check that synchronisation has been successful.

images/scim-14.png
  • On the GLPI side, Go to the Request log section of your SCIM plugin Setup > SCIM identity servers to check that the accounts are correctly synchronised.

images/scim-15.png

OKTA

References

Create application

  • From your OKTA portal

  • Click on Applications

  • And Create app integration

images/scim-16.png
  • Select SWA - Secure Web Authentication

images/scim-17.png
  • Add a name to your application

  • Add the URL of your GLPI instance (this will redirect your user to your GLPI if this application is avaiblable to the OKTA user portal)

  • Click Finish

images/scim-18.png

Setup the application

  • Go back to General

  • Click Edit

  • Name the label

  • Select SCIM to activate the service

  • Click Save

images/scim-19.png

To setup the provisioning, you need to setup GLPI. Refer to setup GLPI to configure URL API and JWT Token

  • Copy the API URL and the JWT token, you need to paste this information in OKTA.

  • Go back to your OKTA application

  • Paste the API URL

  • Select the Unique identifier field for users (name.familyName, phoneNumber, name.givenName, id, userName, email, etc. This will be the method to authenticate the users)

  • Select the actions which can be supported

  • Select HTTP Header

  • Paste the JWT token

images/scim-21.png
  • Click Test Connector Configuration

images/scim-22.png
  • you can now close this window and save your configuration

  • Always in provisioning, you can edit and select the possible actions for updating your user data.

images/scim-23.png

The last step is to assign your application to users

Synchronising all users

  • Go to admin console

  • Select Directory > Groups

  • Select Everyone

  • In Applications, click Assign applications

  • Click on assign on your SCIM application

  • Click Save and Go Back

images/scim-24.png

Synchronising selected groups and users

  • Go to admin console

  • Select Directory > People

  • Select the User you want to import

  • In Applications, click Assign applications

  • Click on assign on your SCIM application

  • Click Save and Go Back

Repeat this step for all users and groups you want to import.

FAQ

If you have any questions about using the plugin, please consult our FAQ

Last updated

Was this helpful?