Connectors are a way to push attributes of identities towards other systems.
Next to the existing connectors, you can craft your own connector.
For this to happen, create a new java maven project and include the following dependency.
<dependency>
<groupId>be.personify.iam</groupId>
<artifactId>personify-provisioning</artifactId>
<version>LATEST VERSION</version>
</dependency>
...
import be.personify.iam.provisioning.connectors.Connector;
...
public CustomConnector extends Connector {
/**
* constructor to execute initialization actions
*/
public CustomConnector(Map<String, String> config, List<TargetSystemAttribute> targetSystemAttributes) throws Exception {
super(config, targetSystemAttributes);
....
}
}
Then you can implement all operations.
abstract public Map<String,Object> resultToMap( Object o );
abstract public Map<String,Object> create(String id, Map<String,Object> objectRepresentation) throws Exception;
abstract public Map<String,Object> update(String id, Map<String,Object> objectRepresentation) throws Exception;
abstract public boolean delete(String id) throws Exception;
abstract public Map<String,Object> disable(String id) throws Exception;
abstract public Map<String,Object> find(String id) throws Exception;
abstract public List<Map<String, Object>> find(SearchCriteria searchCriteria, int start, int number, SortCriteria sortCriteria ) throws Exception;
abstract public List<String> findIds(SearchCriteria searcCriteria, int start, int number, SortCriteria sortCriteria) throws Exception;
abstract public Map<String,Object> archive(String id) throws Exception;
abstract public Map<String,Object> unarchive(String id) throws Exception;
abstract public boolean ping() throws Exception;
abstract public void checkConfiguration( Map<String, String> config ) throws Exception;
abstract public DeltaResult findDelta(String deltaIdentifier) throws Exception;