Interface SyncHandler
-
- All Known Implementing Classes:
DefaultSyncHandler
public interface SyncHandler
SyncHandler is used to sync users and groups from anExternalIdentityProvider
. The synchronization performed within the scope of aSyncContext
which is acquired during thecreateContext(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 theSyncManager
.- See Also:
SyncContext
,SyncManager
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description @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 Detail
-
getName
@NotNull @NotNull String 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
boolean requiresSync(@NotNull @NotNull SyncedIdentity identity)
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
-
-