Personify
  • Introduction
  • Architecture
  • Model
    • Identity vault
    • Provisioning
    • Authentication and authorization
    • Gateway
  • Concepts
    • Entitlements
      • Internal entitlements
      • Custom entitlements
    • Workflows
    • Joiner - Mover - Leaver
    • Self service
    • Entitlement expiration
    • Toxic entitlements
    • (Re)Certification
    • Birth rights
    • Notifications
    • Entitlement prerequisites
    • Connectors
      • File connector
      • Database connector
      • SCIM Connector
      • LDAP connector
      • REST connector
      • Microsoft Graph connector
    • Auditing
    • Authorization
    • Gateway
    • API Based
    • Delegation
  • Usage
    • Get started
    • Configuration
  • Development
    • Customizations
      • PropertyProviders
      • AccountIdGenerators
      • RequestHandlers
      • Connectors
      • Workflows
      • Schedulers
    • REST API
    • JAVA SDK
    • Git
    • Issues
Powered by GitBook
On this page
  1. Development
  2. Customizations

Connectors

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>

Then you can extend the Connector class:

...
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;

PreviousRequestHandlersNextWorkflows

Last updated 2 years ago