SCIM 1.1
Deprecation
The SCIM 1.1 connector was deprecated in favor of the new SCIM connector, which supports both SCIM 1.1 and 2.0 specifications.
Overview
The SCIM 1.1 connector is designed to manage provisioning through the SCIM 1.1 specification.
Installation
Follow these steps to run the stand-alone connector server:
- Download the connector server jar file and store it in the connector server directory (any directory).
- Download the REST connector jar file and store it in the bundles subdirectory.
- Start the connector server. For more information, check the page about this topic.
Supported operations
- Create
- Delete
- Update
- Search
- Test
- Schema
Configuration
Configuration Properties
The following table describes all of the properties that you can specify for the configuration:
Configuration Property | Type | Required | Description |
---|---|---|---|
baseAddress | String | X | Base address of the SCIM REST service. E.g. https://mydomain.com/api/scim/v1/ |
username | String | Username for authentication to the target RESTful service | |
password | GuardedString | Password for authentication to the target RESTful service | |
accept | String | X | Value for the HTTP Accept header; defaults to application/json |
contentType | String | X | Value for the HTTP Content-Type header; defaults to application/json |
clientId | String | Client id for authentication to the target RESTful service | |
clientSecret | String | Client secret for authentication to the target RESTful service | |
accessTokenNodeId | String | Field id of the JSON object node, returned from target Access Token RESTful service, that contains token value; defaults to access_token | |
accessTokenBaseAddress | String | Base address of the target RESTful service used to obtain access token | |
accessTokenContentType | String | Value for the HTTP Content-Type header for the target Access Token RESTful service; defaults to application/x-www-form-urlencoded | |
customAttributesJSON | String | SCIM Resource Schema representation in JSON format, used to specify custom attributes. See here as reference | |
updateMethod | String | Method used for updates (PATCH or PUT ); defaults to PATCH |
A sample value for customAttributesJSON
parameter that includes some custom attributes you want the Connector to handle:
{
"id": "urn:scim:schemas:core:1.0:User",
"name": "User",
"description": "Core User",
"schema": "urn:scim:schemas:core:1.0",
"endpoint": "/Users",
"attributes": [
{
"name": "myCustomName",
"type": "string",
"multiValued": false,
"description": "",
"schema": "urn:scim:schemas:core:1.0",
"readOnly": false,
"required": false,
"caseExact": false
}
]
}
The important parts are:
attributes
;- all the
name
andschema
property of each attribute.
Indeed, the resulting schema representation will use the same name convention used for other complex attributes, e.g.:
name.familyName
addresses.other.formatted
emails.work.primary
phoneNumbers.work.value
…
so in this case it will be:
urn:scim:schemas:core:1.0.myCustomName
Testing
You'll need to create the file ./src/test/resources/net/tirasa/connid/bundles/
, with the following structure:scimv11
/auth.properties
auth.baseAddress= auth.username= auth.password= auth.contentType= auth.accept= auth.clientSecret= auth.clientId= auth.accessTokenNodeId= auth.accessTokenBaseAddress= auth.accessTokenContentType= auth.defaultEntitlement= # in case you have some custom attribute auth.customAttributes=
In case you want to include some test for your custom attribute, add the following other properties:
auth.customAttributesKeys= auth.customAttributesValues= auth.customAttributesUpdateValues= # other schemas you want to add and retrieve to and from entities auth.otherSchemas=
E.g.
auth.baseAddress=https://test.com/path/api/scim/v1/ auth.username=test auth.password=password01 auth.contentType=application/json auth.accept=application/json auth.clientSecret= auth.clientId= auth.accessTokenNodeId= auth.accessTokenBaseAddress= auth.accessTokenContentType= auth.defaultEntitlement= # in case you have some custom attribute auth.customAttributes={"id":"urn:scim:schemas:core:1.0:User","name":"User","description":"Core User","schema":"urn:scim:schemas:core:1.0","endpoint":"/Users","attributes":[{"name":"myCustomName","type":"string","multiValued":false,"description":"","schema":"urn:scim:schemas:core:1.0","readOnly":false,"required":false,"caseExact":false}]} auth.customAttributesKeys=urn:scim:schemas:core:1.0.myCustomName auth.customAttributesValues=Frank auth.customAttributesUpdateValues=Francis # other schemas you want to add and retrieve to and from entities auth.otherSchemas=urn:scim:schemas:extension:attributemetadata:1.0
Use the following command to run connector tests:
mvn -Pit