Skip to content

Test Your SCIM Endpoint

ArvindHarinder1 edited this page Sep 24, 2020 · 14 revisions

Test Your SCIM Endpoint

Provided below are test cases that you can use to ensure that your SCIM endpoint is compliant with the SCIM RFC.

All the endpoints are are at the {host}/scim/ directory and can be interacted with standard HTTP requests. The /scim/ route can be modified in the ControllerConstant.cs file located in AzureADProvisioningSCIMreference > ScimReferenceApi > Controllers. You can use http endpoints for testing locally, but the Azure AD provisioning service requires that your endpoint supports HTTPS.

Run the Solution Locally

  1. Click "Clone or download" and click "Open in Desktop" OR copy the link.
  2. If you chose to copy the link, open Visual Studio and choose "Clone or check out code.
  3. Use the copied link from Github to make a local copy of all files.
  4. The Solution Explorer should open. Navigate to Microsoft.SCIM.sln view by double-clicking on it.
  5. Click IIS Express to execute. The project will launch as a web page with the local host URL.

Configure Postman

  1. Download the Postman client.

  2. Import the Postman collection by copying the link https://aka.ms/ProvisioningPostman and pasting it into Postman as shown below:

  3. Create a Postman environment for testing by specifying the following variables below:

    • If running the project locally using IIS Express:
      Variable Value
      Server localhost
      Port :44359 (* Don't forget the ':')
      Api scim
    • If running the project locally using Kestrel:
      Variable Value
      Server localhost
      Port :5001 (* Don't forget the ':')
      Api scim
    • If hosting the endpoint in Azure:
      Variable Value
      Server (Input your SCIM URL)
      Port (* leave it blank)
      Api scim

Run the Postman Tests

The SCIM endpoints are secured, before you connecting you need to get a security token. In the sample code, you can use the {host}/scim/token endpoint to generate a self-signed token. Use "Get Key" from the Postman Collection to send a GET request to the token endpoint and retrieve the security token (the resulting token will be stored in the "token" variable and used in the subsequent requests).