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