Package org.keycloak.models.workflow
Interface WorkflowProvider
- All Superinterfaces:
Provider
- All Known Implementing Classes:
AbstractUserWorkflowProvider
,EventBasedWorkflowProvider
,UserCreationTimeWorkflowProvider
,UserSessionRefreshTimeWorkflowProvider
-
Method Summary
Modifier and TypeMethodDescriptionboolean
activateOnEvent
(WorkflowEvent event) Indicates whether the workflow supports being activated for a resource based on the event or not.boolean
deactivateOnEvent
(WorkflowEvent event) Indicates whether the workflow supports being deactivated for a resource based on the event or not.Finds all resources that are eligible for the first action of a workflow.boolean
resetOnEvent
(WorkflowEvent event) Indicates whether the workflow supports being reset (i.e.boolean
supports
(ResourceType type) Checks if the provider supports resources of the specified type.
-
Method Details
-
getEligibleResourcesForInitialStep
Finds all resources that are eligible for the first action of a workflow.- Returns:
- A list of eligible resource IDs.
-
supports
Checks if the provider supports resources of the specified type.- Parameters:
type
- the resource type.- Returns:
true
if the provider supports the specified type;false
otherwise.
-
activateOnEvent
Indicates whether the workflow supports being activated for a resource based on the event or not. Iftrue
, the workflow will be activated for the resource. For scheduled workflows, this means the first action will be scheduled. For immediate workflows, this means all actions will be executed right away. At the very least, implementations should validate the event's resource type and operation to ensure the workflow will only be activated on expected operations being performed on the expected type.- Parameters:
event
- aWorkflowEvent
containing details of the event that was triggered such as operation (CREATE, LOGIN, etc.), the resource type, and the resource id.- Returns:
true
if the workflow can be activated based on the received event;false
otherwise.
-
resetOnEvent
Indicates whether the workflow supports being reset (i.e. go back to the first action) based on the event received or not. By default, this method returns false as most workflows won't support this kind of flow, but specific workflows such as one based on a resource's last updated time, or last used time, can signal that they expect the process to start over once the timestamp they are based on is updated. At the very least, implementations should validate the event's resource type and operation to ensure the workflow will only be reset on expected operations being performed on the expected type.- Parameters:
event
- aWorkflowEvent
containing details of the event that was triggered such as operation (CREATE, LOGIN, etc.), the resource type, and the resource id.- Returns:
true
if the workflow supports resetting the flow based on the received event;false
otherwise.
-
deactivateOnEvent
Indicates whether the workflow supports being deactivated for a resource based on the event or not. Iftrue
, the workflow will be deactivated for the resource, meaning any existing scheduled actions will be removed and no further actions will be executed. At the very least, implementations should validate the event's resource type and operation to ensure the workflow will only be deactivated on expected operations being performed on the expected type.- Parameters:
event
- aWorkflowEvent
containing details of the event that was triggered such as operation (CREATE, LOGIN, etc.), the resource type, and the resource id.- Returns:
true
if the workflow can be deactivated based on the received event;false
otherwise.
-