Class OAuth2IdentityProvider
- All Implemented Interfaces:
ReadOnlyIdentityProvider,WritableIdentityProvider,Session
DbIdentityServiceProvider
if the Spring security context doesn't contain an authenticated user.
Since the fallback DbIdentityServiceProvider is a writeable provider
this class is also writeable but with OAuth2 authentication it works effectively as a read-only provider.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classstatic classstatic class -
Field Summary
Fields inherited from class org.camunda.bpm.engine.impl.identity.db.DbIdentityServiceProvider
LOG -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionbooleancheckPassword(String userId, String password) voidclose()createGroupQuery(CommandContext commandContext) createMembership(String userId, String groupId) Creates a membership relation between a user and a group.Creates aNativeUserQuerythat allows to select users with native queries.createNewGroup(String groupId) Returns a new (transient)Groupobject.createNewTenant(String tenantId) Returns a new (transient)Tenantobject.createNewUser(String userId) Returns a new (transient)Userobject.createTenantGroupMembership(String tenantId, String groupId) Creates a membership relation between a tenant and a group.createTenantQuery(CommandContext commandContext) createTenantUserMembership(String tenantId, String userId) Creates a membership relation between a tenant and a user.createUserQuery(CommandContext commandContext) deleteGroup(String groupId) Allows deleting a persistentGroupobject.deleteMembership(String userId, String groupId) Deletes a membership relation between a user and a group.deleteTenant(String tenantId) Allows deleting a persistentTenantobject.deleteTenantGroupMembership(String tenantId, String groupId) Deletes a membership relation between a tenant and a group.deleteTenantUserMembership(String tenantId, String userId) Deletes a membership relation between a tenant and a user.deleteUser(String userId) Allows deleting a persistentUserobject.findGroupById(String groupId) findTenantById(String tenantId) findUserById(String userId) voidflush()protected static booleannullOrContainsIgnoreCase(String searchLike, String value) Allows saving aGroupobject which is not yet persistent.saveTenant(Tenant tenant) Allows saving aTenantobject which is not yet persistent.Allows saving or updates aUserobjectprotected booleanprotected static UserEntityunlockUser(String userId) Allows unlocking aUserobject.protected static voidprotected static voidMethods inherited from class org.camunda.bpm.engine.impl.identity.db.DbIdentityServiceProvider
createDefaultAuthorizations, createDefaultAuthorizations, createDefaultAuthorizations, createDefaultMembershipAuthorizations, createDefaultTenantMembershipAuthorizations, createDefaultTenantMembershipAuthorizations, deleteMembershipsByGroupId, deleteMembershipsByUserId, deleteTenantMembershipsOfGroup, deleteTenantMembershipsOfTenant, deleteTenantMembershipsOfUser, isUserLocked, lockUser, unlockUserMethods inherited from class org.camunda.bpm.engine.impl.identity.db.DbReadOnlyIdentityServiceProvider
checkAuthorization, configureQuery, existsMembership, existsTenantMembership, findGroupByQueryCriteria, findGroupCountByQueryCriteria, findTenantByQueryCriteria, findTenantCountByQueryCriteria, findUserByNativeQuery, findUserByQueryCriteria, findUserCountByNativeQuery, findUserCountByQueryCriteria, matchPasswordMethods inherited from class org.camunda.bpm.engine.impl.persistence.AbstractManager
delete, deleteAuthorizations, deleteAuthorizationsForGroup, deleteAuthorizationsForUser, deleteDefaultAuthorizations, getAttachmentManager, getAuthorizationManager, getBatchManager, getByteArrayManager, getCamundaFormDefinitionManager, getCaseDefinitionManager, getCaseExecutionManager, getCaseInstanceManager, getCommandContext, getCurrentAuthentication, getDbEntityManager, getDbSqlSession, getDecisionDefinitionManager, getDecisionRequirementsDefinitionManager, getDeploymentManager, getEventSubscriptionManager, getHistoricActivityInstanceManager, getHistoricBatchManager, getHistoricCaseActivityInstanceManager, getHistoricCaseInstanceManager, getHistoricDecisionInstanceManager, getHistoricDetailManager, getHistoricExternalTaskLogManager, getHistoricIdentityLinkManager, getHistoricIncidentManager, getHistoricJobLogManager, getHistoricProcessInstanceManager, getHistoricReportManager, getHistoricTaskInstanceManager, getHistoricVariableInstanceManager, getIdentityInfoManager, getIdentityLinkManager, getJobDefinitionManager, getJobManager, getProcessDefinitionManager, getProcessInstanceManager, getResourceAuthorizationProvider, getResourceManager, getSession, getTaskManager, getTaskReportManager, getTenantManager, getUserOperationLogManager, getVariableInstanceManager, insert, isAuthorizationEnabled, saveDefaultAuthorizations
-
Constructor Details
-
OAuth2IdentityProvider
public OAuth2IdentityProvider()
-
-
Method Details
-
unsupportedOperationForOAuth2
protected static void unsupportedOperationForOAuth2() -
unsupportedFilterForOAuth2
protected static void unsupportedFilterForOAuth2() -
nullOrContainsIgnoreCase
- Parameters:
searchLike- the like value to search forvalue- the actual user attribute value- Returns:
- true if either values are
nullor ifvaluecontainssearchLike(case-insensitive)
-
springSecurityAuthentication
protected boolean springSecurityAuthentication()- Returns:
- true if user is authenticated in Spring security context
-
transformUser
-
transformGroups
-
findUserById
- Specified by:
findUserByIdin interfaceReadOnlyIdentityProvider- Overrides:
findUserByIdin classDbReadOnlyIdentityServiceProvider- Returns:
- a
Userobject for the given user id or null if no such user exists.
-
createUserQuery
- Specified by:
createUserQueryin interfaceReadOnlyIdentityProvider- Overrides:
createUserQueryin classDbReadOnlyIdentityServiceProvider- Returns:
- a
UserQueryobject which can be used for querying for users.
-
createUserQuery
- Specified by:
createUserQueryin interfaceReadOnlyIdentityProvider- Overrides:
createUserQueryin classDbReadOnlyIdentityServiceProvider- Returns:
- a
UserQueryobject which can be used in the current command context
-
createNativeUserQuery
Description copied from interface:ReadOnlyIdentityProviderCreates aNativeUserQuerythat allows to select users with native queries.- Specified by:
createNativeUserQueryin interfaceReadOnlyIdentityProvider- Overrides:
createNativeUserQueryin classDbReadOnlyIdentityServiceProvider- Returns:
- NativeUserQuery
-
checkPassword
- Specified by:
checkPasswordin interfaceReadOnlyIdentityProvider- Overrides:
checkPasswordin classDbIdentityServiceProvider- Returns:
- 'true' if the password matches the
-
findGroupById
- Specified by:
findGroupByIdin interfaceReadOnlyIdentityProvider- Overrides:
findGroupByIdin classDbReadOnlyIdentityServiceProvider- Returns:
- a
Groupobject for the given group id or null if no such group exists.
-
createGroupQuery
- Specified by:
createGroupQueryin interfaceReadOnlyIdentityProvider- Overrides:
createGroupQueryin classDbReadOnlyIdentityServiceProvider- Returns:
- a
GroupQueryobject which can be used for querying for groups.
-
createGroupQuery
- Specified by:
createGroupQueryin interfaceReadOnlyIdentityProvider- Overrides:
createGroupQueryin classDbReadOnlyIdentityServiceProvider- Returns:
- a
GroupQueryobject which can be used for querying for groups and can be reused in the current command context.
-
findTenantById
- Specified by:
findTenantByIdin interfaceReadOnlyIdentityProvider- Overrides:
findTenantByIdin classDbReadOnlyIdentityServiceProvider- Returns:
- a
Tenantobject for the given id or null if no such tenant exists.
-
createTenantQuery
- Specified by:
createTenantQueryin interfaceReadOnlyIdentityProvider- Overrides:
createTenantQueryin classDbReadOnlyIdentityServiceProvider- Returns:
- a
TenantQueryobject which can be used for querying for tenants.
-
createTenantQuery
- Specified by:
createTenantQueryin interfaceReadOnlyIdentityProvider- Overrides:
createTenantQueryin classDbReadOnlyIdentityServiceProvider- Returns:
- a
TenantQueryobject which can be used for querying for tenants and can be reused in the current command context.
-
flush
public void flush()- Specified by:
flushin interfaceSession- Overrides:
flushin classAbstractManager
-
close
public void close()- Specified by:
closein interfaceSession- Overrides:
closein classAbstractManager
-
createNewUser
Description copied from interface:WritableIdentityProviderReturns a new (transient)
Userobject. The Object is not yet persistent and must be saved using theWritableIdentityProvider.saveUser(User)method.NOTE: the implementation does not validate the uniqueness of the userId parameter at this time.
- Specified by:
createNewUserin interfaceWritableIdentityProvider- Overrides:
createNewUserin classDbIdentityServiceProvider- Returns:
- an non-persistent user object.
-
saveUser
Description copied from interface:WritableIdentityProviderAllows saving or updates aUserobject- Specified by:
saveUserin interfaceWritableIdentityProvider- Overrides:
saveUserin classDbIdentityServiceProvider- Parameters:
user- a User object.- Returns:
- the operation result object.
-
deleteUser
Description copied from interface:WritableIdentityProviderAllows deleting a persistentUserobject.- Specified by:
deleteUserin interfaceWritableIdentityProvider- Overrides:
deleteUserin classDbIdentityServiceProvider- Returns:
- the operation result object.
-
unlockUser
Description copied from interface:WritableIdentityProviderAllows unlocking aUserobject.- Specified by:
unlockUserin interfaceWritableIdentityProvider- Overrides:
unlockUserin classDbIdentityServiceProvider- Parameters:
userId- the id of the User object to delete.- Returns:
- the operation result object.
-
createNewGroup
Description copied from interface:WritableIdentityProviderReturns a new (transient)
Groupobject. The Object is not yet persistent and must be saved using theWritableIdentityProvider.saveGroup(Group)method.NOTE: the implementation does not validate the uniqueness of the groupId parameter at this time.
- Specified by:
createNewGroupin interfaceWritableIdentityProvider- Overrides:
createNewGroupin classDbIdentityServiceProvider- Returns:
- an non-persistent group object.
-
saveGroup
Description copied from interface:WritableIdentityProviderAllows saving aGroupobject which is not yet persistent.- Specified by:
saveGroupin interfaceWritableIdentityProvider- Overrides:
saveGroupin classDbIdentityServiceProvider- Parameters:
group- a group object.- Returns:
- the operation result object.
-
deleteGroup
Description copied from interface:WritableIdentityProviderAllows deleting a persistentGroupobject.- Specified by:
deleteGroupin interfaceWritableIdentityProvider- Overrides:
deleteGroupin classDbIdentityServiceProvider- Parameters:
groupId- the id of the group object to delete.- Returns:
- the operation result object.
-
createNewTenant
Description copied from interface:WritableIdentityProviderReturns a new (transient)
Tenantobject. The Object is not yet persistent and must be saved using theWritableIdentityProvider.saveTenant(Tenant)method.NOTE: the implementation does not validate the uniqueness of the tenantId parameter at this time.
- Specified by:
createNewTenantin interfaceWritableIdentityProvider- Overrides:
createNewTenantin classDbIdentityServiceProvider- Parameters:
tenantId- the id of the new tenant- Returns:
- an non-persistent tenant object.
-
saveTenant
Description copied from interface:WritableIdentityProviderAllows saving aTenantobject which is not yet persistent.- Specified by:
saveTenantin interfaceWritableIdentityProvider- Overrides:
saveTenantin classDbIdentityServiceProvider- Parameters:
tenant- the tenant object to save.- Returns:
- the operation result object.
-
deleteTenant
Description copied from interface:WritableIdentityProviderAllows deleting a persistentTenantobject.- Specified by:
deleteTenantin interfaceWritableIdentityProvider- Overrides:
deleteTenantin classDbIdentityServiceProvider- Parameters:
tenantId- the id of the tenant object to delete.- Returns:
- the operation result object.
-
createMembership
Description copied from interface:WritableIdentityProviderCreates a membership relation between a user and a group. If the user is already part of that group, IdentityProviderException is thrown.- Specified by:
createMembershipin interfaceWritableIdentityProvider- Overrides:
createMembershipin classDbIdentityServiceProvider- Parameters:
userId- the id of the usergroupId- id of the group- Returns:
- the operation result object.
-
deleteMembership
Description copied from interface:WritableIdentityProviderDeletes a membership relation between a user and a group.- Specified by:
deleteMembershipin interfaceWritableIdentityProvider- Overrides:
deleteMembershipin classDbIdentityServiceProvider- Parameters:
userId- the id of the usergroupId- id of the group- Returns:
- the operation result object.
-
createTenantUserMembership
Description copied from interface:WritableIdentityProviderCreates a membership relation between a tenant and a user.- Specified by:
createTenantUserMembershipin interfaceWritableIdentityProvider- Overrides:
createTenantUserMembershipin classDbIdentityServiceProvider- Parameters:
tenantId- the id of the tenantuserId- the id of the user- Returns:
- the operation result object.
-
createTenantGroupMembership
Description copied from interface:WritableIdentityProviderCreates a membership relation between a tenant and a group.- Specified by:
createTenantGroupMembershipin interfaceWritableIdentityProvider- Overrides:
createTenantGroupMembershipin classDbIdentityServiceProvider- Parameters:
tenantId- the id of the tenantgroupId- the id of the group- Returns:
- the operation result object.
-
deleteTenantUserMembership
Description copied from interface:WritableIdentityProviderDeletes a membership relation between a tenant and a user.- Specified by:
deleteTenantUserMembershipin interfaceWritableIdentityProvider- Overrides:
deleteTenantUserMembershipin classDbIdentityServiceProvider- Parameters:
tenantId- the id of the tenantuserId- the id of the user- Returns:
- the operation result object
-
deleteTenantGroupMembership
Description copied from interface:WritableIdentityProviderDeletes a membership relation between a tenant and a group.- Specified by:
deleteTenantGroupMembershipin interfaceWritableIdentityProvider- Overrides:
deleteTenantGroupMembershipin classDbIdentityServiceProvider- Parameters:
tenantId- the id of the tenantgroupId- the id of the group- Returns:
- the operation result object.
-