Interface SyncHandler
- All Known Implementing Classes:
DefaultSyncHandler
public interface SyncHandler
SyncHandler is used to sync users and groups from an
ExternalIdentityProvider
.
The synchronization performed within the scope of a SyncContext
which is acquired during the
createContext(ExternalIdentityProvider, org.apache.jackrabbit.api.security.user.UserManager, javax.jcr.ValueFactory)
call.
The exact configuration is managed by the sync handler instance. The system may contain several sync handler
implementations with different configurations. those are managed by the SyncManager
.- See Also:
-
Method Summary
Modifier and TypeMethodDescription@NotNull SyncContext
createContext
(@NotNull ExternalIdentityProvider idp, @NotNull UserManager userManager, @NotNull ValueFactory valueFactory) Initializes a sync context which is used to start the sync operations.@Nullable SyncedIdentity
findIdentity
(@NotNull UserManager userManager, @NotNull String id) Tries to find the identity with the given authorizable id or name.@NotNull String
getName()
Returns the name of this sync handler.@NotNull Iterator<SyncedIdentity>
listIdentities
(@NotNull UserManager userManager) Lists all externally synced identities.boolean
requiresSync
(@NotNull SyncedIdentity identity) Checks if the identity requires sync based on the configuration, type and last sync time.
-
Method Details
-
getName
Returns the name of this sync handler.- Returns:
- sync handler name
-
createContext
@NotNull @NotNull SyncContext createContext(@NotNull @NotNull ExternalIdentityProvider idp, @NotNull @NotNull UserManager userManager, @NotNull @NotNull ValueFactory valueFactory) Initializes a sync context which is used to start the sync operations.- Parameters:
idp
- the external identity provider used for syncinguserManager
- user manager for managing authorizablesvalueFactory
- the value factory to create values- Returns:
- the sync context
-
findIdentity
@Nullable @Nullable SyncedIdentity findIdentity(@NotNull @NotNull UserManager userManager, @NotNull @NotNull String id) throws RepositoryException Tries to find the identity with the given authorizable id or name.- Parameters:
userManager
- the user managerid
- the id or name of the authorizable- Returns:
- a synced identity object or
null
- Throws:
RepositoryException
- if an error occurs
-
requiresSync
Checks if the identity requires sync based on the configuration, type and last sync time.- Parameters:
identity
- the identity to check- Returns:
true
if the identity requires synchronization.
-
listIdentities
@NotNull @NotNull Iterator<SyncedIdentity> listIdentities(@NotNull @NotNull UserManager userManager) throws RepositoryException Lists all externally synced identities.- Parameters:
userManager
- the user manager- Returns:
- an iterator over all authorizable that are externally synced.
- Throws:
RepositoryException
- if an error occurs
-