Package com.pingidentity.sdk.provision
Interface IdentityStoreProvisioner
-
- All Superinterfaces:
ConfigurablePlugin,DescribablePlugin,Plugin
- All Known Subinterfaces:
IdentityStoreProvisionerWithFiltering
public interface IdentityStoreProvisioner extends Plugin
The primary Identity Store Provisioner interface. Used to provision and deprovision users and groups to an external data store.- Since:
- 7.3
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description GroupResponseContextcreateGroup(CreateGroupRequestContext createRequestCtx)Create a group.UserResponseContextcreateUser(CreateUserRequestContext createRequestCtx)Create a user.voiddeleteGroup(DeleteGroupRequestContext deleteRequestCtx)Delete a group.voiddeleteUser(DeleteUserRequestContext deleteRequestCtx)Delete a user.IdentityStoreProvisionerDescriptorgetIdentityStoreProvisionerDescriptor()The PingFederate server will invoke this method on your IdentityStoreProvisioner implementation to discover metadata about the implementation.booleanisGroupProvisioningSupported()Indicate if group provisioning is implemented or not.GroupResponseContextreadGroup(ReadGroupRequestContext readRequestCtx)Read a group.UserResponseContextreadUser(ReadUserRequestContext readRequestCtx)Read a user.GroupResponseContextupdateGroup(UpdateGroupRequestContext updateRequestCtx)Update a group.UserResponseContextupdateUser(UpdateUserRequestContext updateRequestCtx)Update a user.-
Methods inherited from interface com.pingidentity.sdk.ConfigurablePlugin
configure
-
Methods inherited from interface com.pingidentity.sdk.DescribablePlugin
getPluginDescriptor
-
-
-
-
Method Detail
-
getIdentityStoreProvisionerDescriptor
IdentityStoreProvisionerDescriptor getIdentityStoreProvisionerDescriptor()
The PingFederate server will invoke this method on your IdentityStoreProvisioner implementation to discover metadata about the implementation. This includes the provisioner's user and group attribute contracts and a description of what configuration fields to render in the GUI.
The descriptor returned here should be the same object returned by theDescribablePlugin.getPluginDescriptor()method. Your implementation of this method should return the same IdentityStoreProvisionerDescriptor object from call to call - behaviour of the system is undefined if this convention is not followed.- Returns:
- an IdentityStoreProvisionerDescriptor object that describes this Identity store provisioner implementation.
-
createUser
UserResponseContext createUser(CreateUserRequestContext createRequestCtx) throws IdentityStoreException
Create a user. At a minimum, theUserResponseContextshould contain the following attributes within the user attribute map:Constants.IDConstants.WHEN_CHANGED- returned as aDateConstants.WHEN_CREATED- returned as aDate
- Parameters:
createRequestCtx- The Request Context containing all the information needed to fulfill the request, e.g. user attributes.- Returns:
- A
UserResponseContextcontaining the results of an Identity Store provisioning operation. - Throws:
IdentityStoreException- An exception indicating that the Identity Store Provisioner operation failed.
-
readUser
UserResponseContext readUser(ReadUserRequestContext readRequestCtx) throws IdentityStoreException
Read a user. At a minimum, theUserResponseContextshould contain the following attributes within the user attribute map:Constants.IDConstants.WHEN_CHANGED- returned as aDateConstants.WHEN_CREATED- returned as aDate
- Parameters:
readRequestCtx- The Request Context containing all the information needed to fulfill the request, e.g. user id.- Returns:
- A
UserResponseContextcontaining the results of an Identity Store provisioning operation. - Throws:
IdentityStoreException- An exception indicating that the Identity Store Provisioner operation failed.
-
updateUser
UserResponseContext updateUser(UpdateUserRequestContext updateRequestCtx) throws IdentityStoreException
Update a user. At a minimum, theUserResponseContextshould contain the following attributes within the user attribute map:Constants.IDConstants.WHEN_CHANGED- returned as aDateConstants.WHEN_CREATED- returned as aDate
- Parameters:
updateRequestCtx- The Request Context containing all the information needed to fulfill the request, e.g. user attributes.- Returns:
- A
UserResponseContextcontaining the results of an Identity Store provisioning operation. - Throws:
IdentityStoreException- An exception indicating that the Identity Store Provisioner operation failed.
-
deleteUser
void deleteUser(DeleteUserRequestContext deleteRequestCtx) throws IdentityStoreException
Delete a user. Note: The plugin implementation fordeleteUserMAY choose not to permanently delete the user, but MUST return aNotFoundExceptionfor allreadUser,updateUser, anddeleteUseroperations associated with the previously deleted ID. In addition, the plugin MUST not consider the deleted user in conflict calculation. For example, acreateUserrequest for a user with a previously deleted id should NOT throw aConflictException.- Parameters:
deleteRequestCtx- The Request Context containing all the information needed to fulfill the request, e.g. user id.- Throws:
IdentityStoreException- An exception indicating that the Identity Store Provisioner operation failed.
-
readGroup
GroupResponseContext readGroup(ReadGroupRequestContext readRequestCtx) throws IdentityStoreException
Read a group. At a minimum, theGroupResponseContextshould contain the following attributes within the group attribute map:Constants.IDConstants.WHEN_CHANGED- returned as aDateConstants.WHEN_CREATED- returned as aDate
- Parameters:
readRequestCtx- The Request Context containing all the information needed to fulfill the request, e.g. group id.- Returns:
- A
GroupResponseContextcontaining the results of an Identity Store provisioning operation. - Throws:
IdentityStoreException- An exception indicating that the Identity Store Provisioner operation failed.
-
createGroup
GroupResponseContext createGroup(CreateGroupRequestContext createRequestCtx) throws IdentityStoreException
Create a group. At a minimum, theGroupResponseContextshould contain the following attributes within the group attribute map:Constants.IDConstants.WHEN_CHANGED- returned as aDateConstants.WHEN_CREATED- returned as aDate
- Parameters:
createRequestCtx- The Request Context containing all the information needed to fulfill the request, e.g. group attributes.- Returns:
- A
GroupResponseContextcontaining the results of an Identity Store provisioning operation. - Throws:
IdentityStoreException- An exception indicating that the Identity Store Provisioner operation failed.
-
deleteGroup
void deleteGroup(DeleteGroupRequestContext deleteRequestCtx) throws IdentityStoreException
Delete a group. Note: The plugin implementation fordeleteGroupMAY choose not to permanently delete the group, but MUST return aNotFoundExceptionfor allreadGroup,updateGroup, anddeleteGroupoperations associated with the previously deleted ID. In addition, the plugin MUST not consider the deleted group in conflict calculation. For example, acreateGrouprequest for a group with a previously deleted id should NOT throw aConflictException.- Parameters:
deleteRequestCtx- The Request Context containing all the information needed to fulfill the request, e.g. group id.- Throws:
IdentityStoreException- An exception indicating that the Identity Store Provisioner operation failed.
-
updateGroup
GroupResponseContext updateGroup(UpdateGroupRequestContext updateRequestCtx) throws IdentityStoreException
Update a group. At a minimum, theGroupResponseContextshould contain the following attributes within the group attribute map:Constants.IDConstants.WHEN_CHANGED- returned as aDateConstants.WHEN_CREATED- returned as aDate
- Parameters:
updateRequestCtx- The Request Context containing all the information needed to fulfill the request, e.g. group attributes.- Returns:
- A
GroupResponseContextcontaining the results of an Identity Store provisioning operation. - Throws:
IdentityStoreException- An exception indicating that the Identity Store Provisioner operation failed.
-
isGroupProvisioningSupported
boolean isGroupProvisioningSupported()
Indicate if group provisioning is implemented or not. If group provisioning is not implemented thenreadGroup,createGroup,updateGroup, anddeleteGroupshould throwNotImplementedException.- Returns:
- true if group provisioning is supported by the plugin implementation and false otherwise.
- Throws:
IdentityStoreException- An exception indicating that the Identity Store Provisioner operation failed.
-
-