Interface IdentityService

  • All Known Implementing Classes:
    IdentityServiceImpl

    public interface IdentityService
    Service to manage Users and Groups.
    Author:
    Tom Baeyens
    • Method Detail

      • newUser

        org.flowable.idm.api.User newUser​(String userId)
        Creates a new user. The user is transient and must be saved using saveUser(User).
        Parameters:
        userId - id for the new user, cannot be null.
      • saveUser

        void saveUser​(org.flowable.idm.api.User user)
        Saves the user. If the user already existed, the user is updated except user password. Use updateUserPassword(User) to update existing user password.
        Parameters:
        user - user to save, cannot be null.
        Throws:
        RuntimeException - when a user with the same name already exists.
        See Also:
        updateUserPassword(User)
      • updateUserPassword

        void updateUserPassword​(org.flowable.idm.api.User user)
        Update user password. Use saveUser(User) for new user.
        Parameters:
        user - user password to change, cannot be null.
        See Also:
        saveUser(User)
      • createUserQuery

        org.flowable.idm.api.UserQuery createUserQuery()
        Creates a UserQuery that allows to programmatically query the users.
      • createNativeUserQuery

        org.flowable.idm.api.NativeUserQuery createNativeUserQuery()
        Returns a new NativeQuery for tasks.
      • deleteUser

        void deleteUser​(String userId)
        Parameters:
        userId - id of user to delete, cannot be null. When an id is passed for a non-existent user, this operation is ignored.
      • newGroup

        org.flowable.idm.api.Group newGroup​(String groupId)
        Creates a new group. The group is transient and must be saved using saveGroup(Group).
        Parameters:
        groupId - id for the new group, cannot be null.
      • createGroupQuery

        org.flowable.idm.api.GroupQuery createGroupQuery()
        Creates a GroupQuery that allows to programmatically query the groups.
      • createNativeGroupQuery

        org.flowable.idm.api.NativeGroupQuery createNativeGroupQuery()
        Returns a new NativeQuery for tasks.
      • getPotentialStarterGroups

        List<org.flowable.idm.api.Group> getPotentialStarterGroups​(String processDefinitionId)
        Returns the potential starter groups for a given process definition.
        Parameters:
        processDefinitionId - process definition identifier
        Returns:
        list of potential starter groups
      • getPotentialStarterUsers

        List<org.flowable.idm.api.User> getPotentialStarterUsers​(String processDefinitionId)
        Returns the potential starter users for a given process definition.
        Parameters:
        processDefinitionId - process definition identifier
        Returns:
        list of potential starter users
      • saveGroup

        void saveGroup​(org.flowable.idm.api.Group group)
        Saves the group. If the group already existed, the group is updated.
        Parameters:
        group - group to save. Cannot be null.
        Throws:
        RuntimeException - when a group with the same name already exists.
      • deleteGroup

        void deleteGroup​(String groupId)
        Deletes the group. When no group exists with the given id, this operation is ignored.
        Parameters:
        groupId - id of the group that should be deleted, cannot be null.
      • createMembership

        void createMembership​(String userId,
                              String groupId)
        Parameters:
        userId - the userId, cannot be null.
        groupId - the groupId, cannot be null.
        Throws:
        RuntimeException - when the given user or group doesn't exist or when the user is already member of the group.
      • deleteMembership

        void deleteMembership​(String userId,
                              String groupId)
        Delete the membership of the user in the group. When the group or user don't exist or when the user is not a member of the group, this operation is ignored.
        Parameters:
        userId - the user's id, cannot be null.
        groupId - the group's id, cannot be null.
      • checkPassword

        boolean checkPassword​(String userId,
                              String password)
        Checks if the password is valid for the given user. Arguments userId and password are nullsafe.
      • setAuthenticatedUserId

        void setAuthenticatedUserId​(String authenticatedUserId)
        Passes the authenticated user id for this particular thread. All service method (from any service) invocations done by the same thread will have access to this authenticatedUserId.
      • setUserPicture

        void setUserPicture​(String userId,
                            org.flowable.idm.api.Picture picture)
        Sets the picture for a given user.
        Parameters:
        userId -
        picture - can be null to delete the picture.
        Throws:
        org.flowable.common.engine.api.FlowableObjectNotFoundException - if the user doesn't exist.
      • getUserPicture

        org.flowable.idm.api.Picture getUserPicture​(String userId)
        Retrieves the picture for a given user.
        Returns:
        null if the user doesn't have a picture.
        Throws:
        org.flowable.common.engine.api.FlowableObjectNotFoundException - if the user doesn't exist.
      • setUserInfo

        void setUserInfo​(String userId,
                         String key,
                         String value)
        Generic extensibility key-value pairs associated with a user
      • getUserInfo

        String getUserInfo​(String userId,
                           String key)
        Generic extensibility key-value pairs associated with a user
      • getUserInfoKeys

        List<String> getUserInfoKeys​(String userId)
        Generic extensibility keys associated with a user
      • deleteUserInfo

        void deleteUserInfo​(String userId,
                            String key)
        Delete an entry of the generic extensibility key-value pairs associated with a user