public interface CrowdClient
Modifier and Type | Method and Description |
---|---|
void |
addGroup(Group group)
Adds a group to the remote Crowd server.
|
void |
addGroupToGroup(String childGroup,
String parentGroup)
Adds a group to a group.
|
UserWithAttributes |
addUser(User user,
PasswordCredential passwordCredential)
Deprecated.
|
UserWithAttributes |
addUser(UserWithAttributes user,
PasswordCredential passwordCredential)
Adds a new User to the remote Crowd server and will attempt to add the attributes atomically, but for Crowd servers < v2.9.0
atomic attribute adding may not be supported.
|
void |
addUserToGroup(String username,
String groupName)
Adds a user to a group.
|
String |
authenticateSSOUser(UserAuthenticationContext userAuthenticationContext)
Authenticates a Single-Sign-On (SSO) User.
|
String |
authenticateSSOUser(UserAuthenticationContext userAuthenticationContext,
long duration)
Authenticates a Single-Sign-On (SSO) User.
|
String |
authenticateSSOUserWithoutValidatingPassword(UserAuthenticationContext userAuthenticationContext)
Authenticates a Single-Sign-On (SSO) User without validating password.
|
User |
authenticateUser(String username,
String password)
Authenticates a user with the server.
|
void |
expireAllPasswords()
Expires all passwords for all users in all directories for this application,
regardless of group membership.
|
User |
findUserFromSSOToken(String token)
Returns the user from the specified user token.
|
List<Group> |
getChildGroupsOfGroup(String groupName,
int startIndex,
int maxResults)
Searches for groups who are direct members of a group.
|
CookieConfiguration |
getCookieConfiguration()
Returns the cookie configuration.
|
String |
getCurrentEventToken()
Returns a token that can be used for querying events that have happened
after the token was generated.
|
Group |
getGroup(String name)
Gets a group by name.
|
List<Group> |
getGroupsForNestedUser(String userName,
int startIndex,
int maxResults)
Searches for groups that a user is a nested member of.
|
List<Group> |
getGroupsForUser(String userName,
int startIndex,
int maxResults)
Searches for groups that a user is a direct member of.
|
List<GroupWithAttributes> |
getGroupsWithAttributesForUser(String userName,
int startIndex,
int maxResults)
Searches for groups that a user is a member of, and returns those groups with all their attributes.
|
GroupWithAttributes |
getGroupWithAttributes(String name)
Gets a group with attributes by name.
|
Iterable<Membership> |
getMemberships()
Gets the full group membership details for all groups with all direct user members and child groups.
|
List<String> |
getNamesOfChildGroupsOfGroup(String groupName,
int startIndex,
int maxResults)
Searches for groups who are direct members of a group, returning the group names.
|
List<String> |
getNamesOfGroupsForNestedUser(String userName,
int startIndex,
int maxResults)
Searches for groups that a user is a nested member of, returning the group names.
|
List<String> |
getNamesOfGroupsForUser(String userName,
int startIndex,
int maxResults)
Searches for groups that a user is a direct member of, returning the group names.
|
List<String> |
getNamesOfNestedChildGroupsOfGroup(String groupName,
int startIndex,
int maxResults)
Searches for groups who are nested members of a group, returning the group names.
|
List<String> |
getNamesOfNestedUsersOfGroup(String groupName,
int startIndex,
int maxResults)
Searches for users who are nested members of a group, returning the user names.
|
List<String> |
getNamesOfParentGroupsForGroup(String groupName,
int startIndex,
int maxResults)
Searches for groups that a group is a direct member of, returning the group names.
|
List<String> |
getNamesOfParentGroupsForNestedGroup(String groupName,
int startIndex,
int maxResults)
Searches for groups that a group is a nested member of, returning the group names.
|
List<String> |
getNamesOfUsersOfGroup(String groupName,
int startIndex,
int maxResults)
Searches for users who are direct members of a group, returning the user names.
|
List<Group> |
getNestedChildGroupsOfGroup(String groupName,
int startIndex,
int maxResults)
Searches for groups who are nested members of a group.
|
List<User> |
getNestedUsersOfGroup(String groupName,
int startIndex,
int maxResults)
Searches for users who are nested members of a group.
|
Events |
getNewEvents(String eventToken)
Returns an events object which contains a new eventToken and events that
happened after the given
eventToken was generated. |
List<Group> |
getParentGroupsForGroup(String groupName,
int startIndex,
int maxResults)
Searches for groups that a group is a direct member of.
|
List<Group> |
getParentGroupsForNestedGroup(String groupName,
int startIndex,
int maxResults)
Searches for groups that a group is a nested member of.
|
User |
getUser(String name)
Gets a User by user name.
|
User |
getUserByKey(String key)
Gets a User by key.
|
List<User> |
getUsersOfGroup(String groupName,
int startIndex,
int maxResults)
Searches for users who are direct members of a group.
|
UserWithAttributes |
getUserWithAttributes(String name)
Gets a User with Attributes by user name.
|
String |
getWebhook(long webhookId)
Retrieves a Webhook endpoint URL.
|
void |
invalidateSSOToken(String token)
Invalidates a token.
|
void |
invalidateSSOTokensForUser(String username)
Invalidates all tokens for a given user name
|
void |
invalidateSSOTokensForUser(String username,
String exclude)
Invalidates all tokens for a given user name, except for the given token.
|
boolean |
isGroupDirectGroupMember(String childName,
String parentName)
Tests if a group is a direct member of a group.
|
boolean |
isUserDirectGroupMember(String username,
String groupName)
Tests if a user is a direct member of a group.
|
boolean |
isUserNestedGroupMember(String username,
String groupName)
Tests if a user is a nested member of a group.
|
long |
registerWebhook(String endpointUrl,
String token)
Registers a new Webhook on the server.
|
void |
removeGroup(String groupName)
Removes a group from the remote Crowd server
|
void |
removeGroupAttributes(String groupName,
String attributeName)
Removes a group attribute (set) from the server.
|
void |
removeGroupFromGroup(String childGroup,
String parentGroup)
Removes a group to a group.
|
void |
removeUser(String username)
Removes a user from the remote Crowd server
|
void |
removeUserAttributes(String username,
String attributeName)
Removes a user attribute from the server.
|
void |
removeUserFromGroup(String username,
String groupName)
Removes a user from a group.
|
User |
renameUser(String oldUsername,
String newUsername)
Renames a user on the remote Crowd server, initially finding them by their current username.
|
void |
requestPasswordReset(String username)
Requests a password reset.
|
void |
requestUsernames(String email)
Sends the usernames associated with the given email address.
|
List<String> |
searchGroupNames(SearchRestriction searchRestriction,
int startIndex,
int maxResults)
Searches for group names matching the searchRestriction criteria.
|
List<Group> |
searchGroups(SearchRestriction searchRestriction,
int startIndex,
int maxResults)
Searches for groups matching the following criteria.
|
List<GroupWithAttributes> |
searchGroupsWithAttributes(SearchRestriction searchRestriction,
int startIndex,
int maxResults)
Searches for groups (with their attributes) matching the following criteria.
|
List<String> |
searchUserNames(SearchRestriction searchRestriction,
int startIndex,
int maxResults)
Searches for usernames matching the searchRestriction criteria.
|
List<User> |
searchUsers(SearchRestriction searchRestriction,
int startIndex,
int maxResults)
Searches for users matching the following criteria.
|
List<UserWithAttributes> |
searchUsersWithAttributes(SearchRestriction searchRestriction,
int startIndex,
int maxResults)
Searches for users (with their attributes) matching the following criteria.
|
void |
shutdown()
Closes this Crowd Client and releases any system resources associated
with the client.
|
void |
storeGroupAttributes(String groupName,
Map<String,Set<String>> attributes)
Stores the group's attributes on the remote Crowd server.
|
void |
storeUserAttributes(String username,
Map<String,Set<String>> attributes)
Stores the user's attributes on the remote Crowd server.
|
void |
testConnection()
Tests if the connection is OK.
|
void |
unregisterWebhook(long webhookId)
Unregisters a Webhook on the server.
|
void |
updateGroup(Group group)
Updates a group on the remote Crowd server.
|
void |
updateUser(User user)
Updates a user on the remote Crowd server.
|
void |
updateUserCredential(String username,
String password)
Updates the user's password on the remote Crowd server.
|
User |
userAuthenticated(String username) |
void |
validateSSOAuthentication(String token,
List<ValidationFactor> validationFactors)
Validates the SSO authentication.
|
Session |
validateSSOAuthenticationAndGetSession(String token,
List<ValidationFactor> validationFactors)
Validates the SSO authentication.
|
User getUser(String name) throws UserNotFoundException, OperationFailedException, ApplicationPermissionException, InvalidAuthenticationException
name
- Name of the user to retrieveUserNotFoundException
- if the user is not foundApplicationPermissionException
- if the application is not permitted to perform the requested operation on the serverInvalidAuthenticationException
- if the application and password are not validOperationFailedException
- if the operation has failed for any other reason, including invalid arguments and the operation not being supported on the server.UserWithAttributes getUserWithAttributes(String name) throws UserNotFoundException, OperationFailedException, ApplicationPermissionException, InvalidAuthenticationException
name
- Name of the user to retrieveUserNotFoundException
- if the user is not foundApplicationPermissionException
- if the application is not permitted to perform the requested operation on the serverInvalidAuthenticationException
- if the application and password are not validOperationFailedException
- if the operation has failed for any other reason, including invalid arguments and the operation not being supported on the server.User getUserByKey(String key) throws UserNotFoundException, OperationFailedException, ApplicationPermissionException, InvalidAuthenticationException
key
- Name of the user to retrieveUserNotFoundException
- if the user is not foundApplicationPermissionException
- if the application is not permitted to perform the requested operation on the serverInvalidAuthenticationException
- if the application and password are not validOperationFailedException
- if the operation has failed for any other reason, including invalid arguments and the operation not being supported on the server.User authenticateUser(String username, String password) throws UserNotFoundException, InactiveAccountException, ExpiredCredentialException, ApplicationPermissionException, InvalidAuthenticationException, OperationFailedException
username
- Name of the user to authenticate.password
- Password of the user to authenticate.UserNotFoundException
- if the user could not be foundInactiveAccountException
- if the user account is not activeExpiredCredentialException
- if the user credentials have expiredApplicationPermissionException
- if the application is not permitted to perform the requested operation on the serverInvalidAuthenticationException
- if the application and password are not validOperationFailedException
- if the operation has failed for any other reason, including invalid arguments and the operation not being supported on the server.@ExperimentalApi User userAuthenticated(String username) throws ApplicationPermissionException, OperationFailedException, InvalidAuthenticationException, UnsupportedCrowdApiException, UserNotFoundException, InactiveAccountException
@Nullable UserWithAttributes addUser(UserWithAttributes user, PasswordCredential passwordCredential) throws InvalidUserException, InvalidCredentialException, OperationFailedException, InvalidAuthenticationException, ApplicationPermissionException
storeUserAttributes(String, Map)
afterwards.user
- The user to addpasswordCredential
- user passwordInvalidUserException
- if the user is invalid. This may be because a user of the same name
already exists, or does not pass the server side validation rules.InvalidCredentialException
- if the password is invalid. It must conform to the rules set on the serverApplicationPermissionException
- if the application is not permitted to perform the requested operation on the serverInvalidAuthenticationException
- if the application and password are not validOperationFailedException
- if the operation has failed for any other reason, including invalid arguments and the operation not being supported on the server.@Nullable @Deprecated UserWithAttributes addUser(User user, PasswordCredential passwordCredential) throws InvalidUserException, InvalidCredentialException, OperationFailedException, InvalidAuthenticationException, ApplicationPermissionException
addUser(com.atlassian.crowd.model.user.UserWithAttributes, com.atlassian.crowd.embedded.api.PasswordCredential)
instead. Since v2.9user
- The user to addpasswordCredential
- user passwordInvalidUserException
- if the user is invalid. This may be because a user of the same name
already exists, or does not pass the server side validation rules.InvalidCredentialException
- if the password is invalid. It must conform to the rules set on the serverApplicationPermissionException
- if the application is not permitted to perform the requested operation on the serverInvalidAuthenticationException
- if the application and password are not validOperationFailedException
- if the operation has failed for any other reason, including invalid arguments and the operation not being supported on the server.void updateUser(User user) throws InvalidUserException, UserNotFoundException, OperationFailedException, ApplicationPermissionException, InvalidAuthenticationException
user
- The user to updateInvalidUserException
- the details of the user to be updated are invalid. This may be because the user details
do not pass the server side validation rules.UserNotFoundException
- if the user does not exist on the remote Crowd serverApplicationPermissionException
- if the application is not permitted to perform the requested operation on the serverInvalidAuthenticationException
- if the application and password are not validOperationFailedException
- if the operation has failed for any other reason, including invalid arguments and the operation not being supported on the server.User renameUser(String oldUsername, String newUsername) throws InvalidUserException, UserNotFoundException, OperationFailedException, ApplicationPermissionException, InvalidAuthenticationException
oldUsername
- current name of the user to renamenewUsername
- the intended new name of the user; must not be the same as oldUsername
InvalidUserException
- the details of the user to be updated are invalid. This may be because the user details
do not pass the server side validation rules.UserNotFoundException
- if the user does not exist on the remote Crowd serverApplicationPermissionException
- if the application is not permitted to perform the requested operation on the serverInvalidAuthenticationException
- if the application and password are not validOperationFailedException
- if the operation has failed for any other reason, including invalid arguments and the operation not being supported on the server.void updateUserCredential(String username, @Nullable String password) throws UserNotFoundException, InvalidCredentialException, OperationFailedException, ApplicationPermissionException, InvalidAuthenticationException
username
- Name of the user to update.password
- New password. A null value indicates that the user's password should be cleared.UserNotFoundException
- if the user does not exist on the remote Crowd serverInvalidCredentialException
- if the password is invalid. It must conform to the rules set on the serverApplicationPermissionException
- if the application is not permitted to perform the requested operation on the serverInvalidAuthenticationException
- if the application and password are not validOperationFailedException
- if the operation has failed for any other reason, including invalid arguments and the operation not being supported on the server.void storeUserAttributes(String username, Map<String,Set<String>> attributes) throws UserNotFoundException, OperationFailedException, ApplicationPermissionException, InvalidAuthenticationException
username
- Name of the user.attributes
- Set of Attributes to store. Attributes will be added or if an attribute with the
same key exists will be replaced.UserNotFoundException
- if the user does not exist on the remote Crowd serverApplicationPermissionException
- if the application is not permitted to perform the requested operation on the serverInvalidAuthenticationException
- if the application and password are not validOperationFailedException
- if the operation has failed for any other reason, including invalid arguments and the operation not being supported on the server.void removeUserAttributes(String username, String attributeName) throws UserNotFoundException, OperationFailedException, InvalidAuthenticationException, ApplicationPermissionException
username
- Name of the userattributeName
- Attribute key.UserNotFoundException
- if the user does not exist on the remote Crowd serverApplicationPermissionException
- if the application is not permitted to perform the requested operation on the serverInvalidAuthenticationException
- if the application and password are not validOperationFailedException
- if the operation has failed for any other reason, including invalid arguments and the operation not being supported on the server.void removeUser(String username) throws UserNotFoundException, OperationFailedException, InvalidAuthenticationException, ApplicationPermissionException
username
- Name of the user to remove.UserNotFoundException
- if the user does not exist on the remote Crowd serverApplicationPermissionException
- if the application is not permitted to perform the requested operation on the serverInvalidAuthenticationException
- if the application and password are not validOperationFailedException
- if the operation has failed for any other reason, including invalid arguments and the operation not being supported on the server.void requestPasswordReset(String username) throws UserNotFoundException, InvalidEmailAddressException, OperationFailedException, InvalidAuthenticationException, ApplicationPermissionException
username
- name of the userUserNotFoundException
- if the user does not existInvalidEmailAddressException
- if the user does not have a valid email to send the reset password link toApplicationPermissionException
- if the application is not permitted to perform the requested operation on the serverInvalidAuthenticationException
- if the application and password are not validOperationFailedException
- if the operation has failed for any other reason, including invalid arguments and the operation not being supported on the server.void requestUsernames(String email) throws InvalidEmailAddressException, OperationFailedException, InvalidAuthenticationException, ApplicationPermissionException
email
.email
- email address of the userInvalidEmailAddressException
- if the email
is not validApplicationPermissionException
- if the application is not permitted to perform the requested operation on the serverInvalidAuthenticationException
- if the application and password are not validOperationFailedException
- if the operation has failed for any other reason, including invalid arguments and the operation not being supported on the server.Group getGroup(String name) throws GroupNotFoundException, OperationFailedException, InvalidAuthenticationException, ApplicationPermissionException
name
- name of the group to retrieve.GroupNotFoundException
- if the group does not exist on the remote serverApplicationPermissionException
- if the application is not permitted to perform the requested operation on the serverInvalidAuthenticationException
- if the application and password are not validOperationFailedException
- if the operation has failed for any other reason, including invalid arguments and the operation not being supported on the server.GroupWithAttributes getGroupWithAttributes(String name) throws GroupNotFoundException, OperationFailedException, InvalidAuthenticationException, ApplicationPermissionException
name
- name of the group to retrieve.GroupNotFoundException
- if the group does not exist on the remote serverApplicationPermissionException
- if the application is not permitted to perform the requested operation on the serverInvalidAuthenticationException
- if the application and password are not validOperationFailedException
- if the operation has failed for any other reason, including invalid arguments and the operation not being supported on the server.void addGroup(Group group) throws InvalidGroupException, ApplicationPermissionException, InvalidAuthenticationException, OperationFailedException
group
- Group to add.InvalidGroupException
- if the group is invalid. This may be because a group of the same name already exists, or
does not pass the server side validation rulesApplicationPermissionException
- if the application is not permitted to perform the requested operation on the serverInvalidAuthenticationException
- if the application and password are not validOperationFailedException
- if the operation has failed for any other reason, including invalid arguments and the operation not being supported on the server.void updateGroup(Group group) throws InvalidGroupException, GroupNotFoundException, OperationFailedException, ApplicationPermissionException, InvalidAuthenticationException
group
- Group to update.InvalidGroupException
- The group is invalid. This may be because the group
does not pass the server side validation rules.GroupNotFoundException
- if the group does not exist on the remote serverApplicationPermissionException
- if the application is not permitted to perform the requested operation on the serverInvalidAuthenticationException
- if the application and password are not validOperationFailedException
- if the operation has failed for any other reason, including invalid arguments and the operation not being supported on the server.void storeGroupAttributes(String groupName, Map<String,Set<String>> attributes) throws GroupNotFoundException, OperationFailedException, ApplicationPermissionException, InvalidAuthenticationException
groupName
- Name of the group.attributes
- Set of Attributes to store. Attributes will be added or if an attribute with the
same key exists will be replaced.GroupNotFoundException
- if the group does not exist on the remote Crowd serverApplicationPermissionException
- if the application is not permitted to perform the requested operation on the serverInvalidAuthenticationException
- if the application and password are not validOperationFailedException
- if the operation has failed for any other reason, including invalid arguments and the operation not being supported on the server.void removeGroupAttributes(String groupName, String attributeName) throws GroupNotFoundException, OperationFailedException, ApplicationPermissionException, InvalidAuthenticationException
groupName
- Name of the groupattributeName
- Attribute key.GroupNotFoundException
- the group does not exist on the remote Crowd serverApplicationPermissionException
- if the application is not permitted to perform the requested operation on the serverInvalidAuthenticationException
- if the application and password are not validOperationFailedException
- if the operation has failed for any other reason, including invalid arguments and the operation not being supported on the server.void removeGroup(String groupName) throws GroupNotFoundException, OperationFailedException, ApplicationPermissionException, InvalidAuthenticationException
groupName
- Name of the group to remove.GroupNotFoundException
- the group does not exist on the remote Crowd serverApplicationPermissionException
- if the application is not permitted to perform the requested operation on the serverInvalidAuthenticationException
- if the application and password are not validOperationFailedException
- if the operation has failed for any other reason, including invalid arguments and the operation not being supported on the server.boolean isUserDirectGroupMember(String username, String groupName) throws OperationFailedException, ApplicationPermissionException, InvalidAuthenticationException
username
- User namegroupName
- Group NameApplicationPermissionException
- if the application is not permitted to perform the requested operation on the serverInvalidAuthenticationException
- if the application and password are not validOperationFailedException
- if the operation has failed for any other reason, including invalid arguments and the operation not being supported on the server.boolean isUserNestedGroupMember(String username, String groupName) throws OperationFailedException, ApplicationPermissionException, InvalidAuthenticationException
username
- User namegroupName
- Group NameApplicationPermissionException
- if the application is not permitted to perform the requested operation on the serverInvalidAuthenticationException
- if the application and password are not validOperationFailedException
- if the operation has failed for any other reason, including invalid arguments and the operation not being supported on the server.boolean isGroupDirectGroupMember(String childName, String parentName) throws OperationFailedException, InvalidAuthenticationException, ApplicationPermissionException
childName
- Name of the child groupparentName
- Name of the Parent groupApplicationPermissionException
- if the application is not permitted to perform the requested operation on the serverInvalidAuthenticationException
- if the application and password are not validOperationFailedException
- if the operation has failed for any other reason, including invalid arguments and the operation not being supported on the server.void addUserToGroup(String username, String groupName) throws GroupNotFoundException, UserNotFoundException, OperationFailedException, MembershipAlreadyExistsException, InvalidAuthenticationException, ApplicationPermissionException
username
- Name of the user to add to the group.groupName
- Name of the group to be added to.GroupNotFoundException
- if the group does not exist.UserNotFoundException
- if the user does not exist.ApplicationPermissionException
- if the application is not permitted to perform the requested operation on the serverInvalidAuthenticationException
- if the application and password are not validMembershipAlreadyExistsException
- if the user is already a member fo the groupOperationFailedException
- if the operation has failed for any other reason, including invalid arguments and the operation not being supported on the server.void addGroupToGroup(String childGroup, String parentGroup) throws GroupNotFoundException, UserNotFoundException, OperationFailedException, InvalidAuthenticationException, ApplicationPermissionException, MembershipAlreadyExistsException
childGroup
- Name of the group to add to the parent group.parentGroup
- Name of the group the child will be added to.GroupNotFoundException
- if either group does not existUserNotFoundException
- if the user does not existApplicationPermissionException
- if the application is not permitted to perform the requested operation on the serverInvalidAuthenticationException
- if the application and password are not validMembershipAlreadyExistsException
- if the child group is already a member of the parent groupOperationFailedException
- if the operation has failed for any other reason, including invalid arguments and the operation not being supported on the server.void removeUserFromGroup(String username, String groupName) throws MembershipNotFoundException, GroupNotFoundException, UserNotFoundException, ApplicationPermissionException, InvalidAuthenticationException, OperationFailedException
username
- Name of the user to add to the group.groupName
- Name of the group to be added to.MembershipNotFoundException
- if the membership does not existGroupNotFoundException
- if the group does not exist.UserNotFoundException
- if the user does not exist.ApplicationPermissionException
- if the application is not permitted to perform the requested operation on the serverInvalidAuthenticationException
- if the application and password are not validOperationFailedException
- if the operation has failed for any other reason, including invalid arguments and the operation not being supported on the server.void removeGroupFromGroup(String childGroup, String parentGroup) throws MembershipNotFoundException, GroupNotFoundException, OperationFailedException, InvalidAuthenticationException, ApplicationPermissionException
childGroup
- Name of the group to be removed from the parent group.parentGroup
- Name of the group the child group will be removed from.GroupNotFoundException
- if either group does not exist.MembershipNotFoundException
- if there is not parent-child relationship between the specified groupsApplicationPermissionException
- if the application is not permitted to perform the requested operation on the serverInvalidAuthenticationException
- if the application and password are not validOperationFailedException
- if for some reason the operation has failedvoid testConnection() throws OperationFailedException, InvalidAuthenticationException, ApplicationPermissionException
InvalidAuthenticationException
- if the application and password are not validApplicationPermissionException
- if the application is not permitted to perform the requested operation on the serverOperationFailedException
- if the test failsList<User> searchUsers(SearchRestriction searchRestriction, int startIndex, int maxResults) throws OperationFailedException, InvalidAuthenticationException, ApplicationPermissionException
searchRestriction
- restriction on the searchstartIndex
- starting index of the search resultsmaxResults
- maximum number of results returned from the searchApplicationPermissionException
- if the application is not permitted to perform the requested operation on the serverInvalidAuthenticationException
- if the application and password are not validOperationFailedException
- if the operation has failed for any other reason, including invalid arguments and the operation not being supported on the server.List<UserWithAttributes> searchUsersWithAttributes(SearchRestriction searchRestriction, int startIndex, int maxResults) throws OperationFailedException, InvalidAuthenticationException, ApplicationPermissionException
searchRestriction
- restriction on the searchstartIndex
- starting index of the search resultsmaxResults
- maximum number of results returned from the searchApplicationPermissionException
- if the application is not permitted to perform the requested operation on the serverInvalidAuthenticationException
- if the application and password are not validOperationFailedException
- if the operation has failed for any other reason, including invalid arguments and the operation not being supported on the server.List<String> searchUserNames(SearchRestriction searchRestriction, int startIndex, int maxResults) throws OperationFailedException, InvalidAuthenticationException, ApplicationPermissionException
searchRestriction
- restriction on the searchstartIndex
- starting index of the search resultsmaxResults
- maximum number of results returned from the searchApplicationPermissionException
- if the application is not permitted to perform the requested operation on the serverInvalidAuthenticationException
- if the application and password are not validOperationFailedException
- if the operation has failed for any other reason, including invalid arguments and the operation not being supported on the server.List<Group> searchGroups(SearchRestriction searchRestriction, int startIndex, int maxResults) throws OperationFailedException, InvalidAuthenticationException, ApplicationPermissionException
searchRestriction
- restriction on the searchstartIndex
- starting index of the search resultsmaxResults
- maximum number of results returned from the searchApplicationPermissionException
- if the application is not permitted to perform the requested operation on the serverInvalidAuthenticationException
- if the application and password are not validOperationFailedException
- if the operation has failed for any other reason, including invalid arguments and the operation not being supported on the server.List<GroupWithAttributes> searchGroupsWithAttributes(SearchRestriction searchRestriction, int startIndex, int maxResults) throws OperationFailedException, InvalidAuthenticationException, ApplicationPermissionException
searchRestriction
- restriction on the searchstartIndex
- starting index of the search resultsmaxResults
- maximum number of results returned from the searchApplicationPermissionException
- if the application is not permitted to perform the requested operation on the serverInvalidAuthenticationException
- if the application and password are not validOperationFailedException
- if the operation has failed for any other reason, including invalid arguments and the operation not being supported on the server.List<String> searchGroupNames(SearchRestriction searchRestriction, int startIndex, int maxResults) throws OperationFailedException, InvalidAuthenticationException, ApplicationPermissionException
searchRestriction
- restriction on the searchstartIndex
- starting index of the search resultsmaxResults
- maximum number of results returned from the searchApplicationPermissionException
- if the application is not permitted to perform the requested operation on the serverInvalidAuthenticationException
- if the application and password are not validOperationFailedException
- if the operation has failed for any other reason, including invalid arguments and the operation not being supported on the server.List<User> getUsersOfGroup(String groupName, int startIndex, int maxResults) throws GroupNotFoundException, ApplicationPermissionException, InvalidAuthenticationException, OperationFailedException
groupName
- restriction on the searchstartIndex
- starting index of the search resultsmaxResults
- maximum number of results returned from the searchGroupNotFoundException
- if the group could not be foundApplicationPermissionException
- if the application is not permitted to perform the requested operation on the serverInvalidAuthenticationException
- if the application and password are not validOperationFailedException
- if the operation has failed for any other reason, including invalid arguments and the operation not being supported on the server.List<String> getNamesOfUsersOfGroup(String groupName, int startIndex, int maxResults) throws GroupNotFoundException, ApplicationPermissionException, InvalidAuthenticationException, OperationFailedException
groupName
- restriction on the searchstartIndex
- starting index of the search resultsmaxResults
- maximum number of results returned from the searchGroupNotFoundException
- if the group could not be foundApplicationPermissionException
- if the application is not permitted to perform the requested operation on the serverInvalidAuthenticationException
- if the application and password are not validOperationFailedException
- if the operation has failed for any other reason, including invalid arguments and the operation not being supported on the server.List<Group> getChildGroupsOfGroup(String groupName, int startIndex, int maxResults) throws GroupNotFoundException, ApplicationPermissionException, InvalidAuthenticationException, OperationFailedException
groupName
- restriction on the searchstartIndex
- starting index of the search resultsmaxResults
- maximum number of results returned from the searchGroupNotFoundException
- if the group could not be foundApplicationPermissionException
- if the application is not permitted to perform the requested operation on the serverInvalidAuthenticationException
- if the application and password are not validOperationFailedException
- if the operation has failed for any other reason, including invalid arguments and the operation not being supported on the server.List<String> getNamesOfChildGroupsOfGroup(String groupName, int startIndex, int maxResults) throws OperationFailedException, GroupNotFoundException, InvalidAuthenticationException, ApplicationPermissionException
groupName
- restriction on the searchstartIndex
- starting index of the search resultsmaxResults
- maximum number of results returned from the searchGroupNotFoundException
- if the group could not be foundApplicationPermissionException
- if the application is not permitted to perform the requested operation on the serverInvalidAuthenticationException
- if the application and password are not validOperationFailedException
- if the operation has failed for any other reason, including invalid arguments and the operation not being supported on the server.List<Group> getGroupsForUser(String userName, int startIndex, int maxResults) throws OperationFailedException, InvalidAuthenticationException, ApplicationPermissionException, UserNotFoundException
userName
- restriction on the searchstartIndex
- starting index of the search resultsmaxResults
- maximum number of results returned from the searchUserNotFoundException
- if the user could not be foundApplicationPermissionException
- if the application is not permitted to perform the requested operation on the serverInvalidAuthenticationException
- if the application and password are not validOperationFailedException
- if the operation has failed for any other reason, including invalid arguments and the operation not being supported on the server.List<GroupWithAttributes> getGroupsWithAttributesForUser(String userName, int startIndex, int maxResults) throws UserNotFoundException, ApplicationPermissionException, InvalidAuthenticationException, OperationFailedException
getGroupsForUser(java.lang.String, int, int)
.userName
- restriction on the searchstartIndex
- starting index of the search resultsmaxResults
- maximum number of results returned from the searchUserNotFoundException
- if the user could not be foundApplicationPermissionException
- if the application is not permitted to perform the requested operation on the serverInvalidAuthenticationException
- if the application and password are not validOperationFailedException
- if the operation has failed for any other reason, including invalid arguments and the operation not being supported on the server.List<String> getNamesOfGroupsForUser(String userName, int startIndex, int maxResults) throws OperationFailedException, InvalidAuthenticationException, ApplicationPermissionException, UserNotFoundException
userName
- restriction on the searchstartIndex
- starting index of the search resultsmaxResults
- maximum number of results returned from the searchUserNotFoundException
- if the user could not be foundApplicationPermissionException
- if the application is not permitted to perform the requested operation on the serverInvalidAuthenticationException
- if the application and password are not validOperationFailedException
- if the operation has failed for any other reason, including invalid arguments and the operation not being supported on the server.List<Group> getParentGroupsForGroup(String groupName, int startIndex, int maxResults) throws OperationFailedException, InvalidAuthenticationException, ApplicationPermissionException, GroupNotFoundException
groupName
- restriction on the searchstartIndex
- starting index of the search resultsmaxResults
- maximum number of results returned from the searchGroupNotFoundException
- if the group could not be foundApplicationPermissionException
- if the application is not permitted to perform the requested operation on the serverInvalidAuthenticationException
- if the application and password are not validOperationFailedException
- if the operation has failed for any other reason, including invalid arguments and the operation not being supported on the server.List<String> getNamesOfParentGroupsForGroup(String groupName, int startIndex, int maxResults) throws OperationFailedException, InvalidAuthenticationException, ApplicationPermissionException, GroupNotFoundException
groupName
- restriction on the searchstartIndex
- starting index of the search resultsmaxResults
- maximum number of results returned from the searchGroupNotFoundException
- if the group could not be foundApplicationPermissionException
- if the application is not permitted to perform the requested operation on the serverInvalidAuthenticationException
- if the application and password are not validOperationFailedException
- if the operation has failed for any other reason, including invalid arguments and the operation not being supported on the server.List<User> getNestedUsersOfGroup(String groupName, int startIndex, int maxResults) throws OperationFailedException, InvalidAuthenticationException, ApplicationPermissionException, GroupNotFoundException
groupName
- restriction on the searchstartIndex
- starting index of the search resultsmaxResults
- maximum number of results returned from the searchGroupNotFoundException
- if the group could not be foundApplicationPermissionException
- if the application is not permitted to perform the requested operation on the serverInvalidAuthenticationException
- if the application and password are not validOperationFailedException
- if the operation has failed for any other reason, including invalid arguments and the operation not being supported on the server.List<String> getNamesOfNestedUsersOfGroup(String groupName, int startIndex, int maxResults) throws OperationFailedException, InvalidAuthenticationException, ApplicationPermissionException, GroupNotFoundException
groupName
- restriction on the searchstartIndex
- starting index of the search resultsmaxResults
- maximum number of results returned from the searchGroupNotFoundException
- if the group could not be foundApplicationPermissionException
- if the application is not permitted to perform the requested operation on the serverInvalidAuthenticationException
- if the application and password are not validOperationFailedException
- if the operation has failed for any other reason, including invalid arguments and the operation not being supported on the server.List<Group> getNestedChildGroupsOfGroup(String groupName, int startIndex, int maxResults) throws OperationFailedException, InvalidAuthenticationException, ApplicationPermissionException, GroupNotFoundException
groupName
- restriction on the searchstartIndex
- starting index of the search resultsmaxResults
- maximum number of results returned from the searchGroupNotFoundException
- if the group could not be foundApplicationPermissionException
- if the application is not permitted to perform the requested operation on the serverInvalidAuthenticationException
- if the application and password are not validOperationFailedException
- if the operation has failed for any other reason, including invalid arguments and the operation not being supported on the server.List<String> getNamesOfNestedChildGroupsOfGroup(String groupName, int startIndex, int maxResults) throws OperationFailedException, InvalidAuthenticationException, ApplicationPermissionException, GroupNotFoundException
groupName
- restriction on the searchstartIndex
- starting index of the search resultsmaxResults
- maximum number of results returned from the searchGroupNotFoundException
- if the group could not be foundApplicationPermissionException
- if the application is not permitted to perform the requested operation on the serverInvalidAuthenticationException
- if the application and password are not validOperationFailedException
- if the operation has failed for any other reason, including invalid arguments and the operation not being supported on the server.List<Group> getGroupsForNestedUser(String userName, int startIndex, int maxResults) throws OperationFailedException, InvalidAuthenticationException, ApplicationPermissionException, UserNotFoundException
userName
- restriction on the searchstartIndex
- starting index of the search resultsmaxResults
- maximum number of results returned from the searchUserNotFoundException
- if the user could not be foundApplicationPermissionException
- if the application is not permitted to perform the requested operation on the serverInvalidAuthenticationException
- if the application and password are not validOperationFailedException
- if the operation has failed for any other reason, including invalid arguments and the operation not being supported on the server.List<String> getNamesOfGroupsForNestedUser(String userName, int startIndex, int maxResults) throws OperationFailedException, InvalidAuthenticationException, ApplicationPermissionException, UserNotFoundException
userName
- restriction on the searchstartIndex
- starting index of the search resultsmaxResults
- maximum number of results returned from the searchUserNotFoundException
- if the user could not be foundApplicationPermissionException
- if the application is not permitted to perform the requested operation on the serverInvalidAuthenticationException
- if the application and password are not validOperationFailedException
- if the operation has failed for any other reason, including invalid arguments and the operation not being supported on the server.List<Group> getParentGroupsForNestedGroup(String groupName, int startIndex, int maxResults) throws OperationFailedException, InvalidAuthenticationException, ApplicationPermissionException, GroupNotFoundException
groupName
- restriction on the searchstartIndex
- starting index of the search resultsmaxResults
- maximum number of results returned from the searchGroupNotFoundException
- if the group could not be foundApplicationPermissionException
- if the application is not permitted to perform the requested operation on the serverInvalidAuthenticationException
- if the application and password are not validOperationFailedException
- if the operation has failed for any other reason, including invalid arguments and the operation not being supported on the server.List<String> getNamesOfParentGroupsForNestedGroup(String groupName, int startIndex, int maxResults) throws OperationFailedException, InvalidAuthenticationException, ApplicationPermissionException, GroupNotFoundException
groupName
- restriction on the searchstartIndex
- starting index of the search resultsmaxResults
- maximum number of results returned from the searchGroupNotFoundException
- if the group could not be foundApplicationPermissionException
- if the application is not permitted to perform the requested operation on the server.InvalidAuthenticationException
- if the application and password are not valid.OperationFailedException
- if the operation has failed for any other reason, including invalid arguments and the operation not being supported on the server.Iterable<Membership> getMemberships() throws OperationFailedException, ApplicationPermissionException, InvalidAuthenticationException, UnsupportedCrowdApiException
Gets the full group membership details for all groups with all direct user members and child groups. The result may be large and this operation may be slow.
This method is only supported when the server supports version 1.1 of the user management API. Clients
should be ready to catch UnsupportedCrowdApiException
and fall back to another technique
if they need to remain backwards compatible.
Iterable
of the memberships for all groupsUnsupportedCrowdApiException
- if the server does not support version 1.1 of the user management APIApplicationPermissionException
- if the application is not permitted to perform the requested operation on the serverInvalidAuthenticationException
- if the application and password are not validOperationFailedException
- if the operation has failed for any other reason, including invalid arguments and the operation not being supported on the server.User findUserFromSSOToken(String token) throws OperationFailedException, InvalidAuthenticationException, ApplicationPermissionException, InvalidTokenException
token
- user token used to find the authenticated user.InvalidTokenException
- if the provided token is not validApplicationPermissionException
- if the application is not permitted to perform the requested operation on the serverInvalidAuthenticationException
- if the application and password are not validOperationFailedException
- if the operation has failed for any other reason, including invalid arguments and the operation not being supported on the server.String authenticateSSOUser(UserAuthenticationContext userAuthenticationContext) throws ApplicationAccessDeniedException, InactiveAccountException, ExpiredCredentialException, ApplicationPermissionException, InvalidAuthenticationException, OperationFailedException
userAuthenticationContext
- the user's authentication details.ApplicationAccessDeniedException
- if the user does not have access to authenticate against the applicationInactiveAccountException
- if the user account is inactiveExpiredCredentialException
- if the user password has expired and the user is required to change their passwordApplicationPermissionException
- if the application is not permitted to perform the requested operation on the serverInvalidAuthenticationException
- if the application and password are not validOperationFailedException
- if the operation has failed for any other reason, including invalid arguments and the operation not being supported on the server.String authenticateSSOUser(UserAuthenticationContext userAuthenticationContext, long duration) throws ApplicationAccessDeniedException, InactiveAccountException, ExpiredCredentialException, ApplicationPermissionException, InvalidAuthenticationException, OperationFailedException
userAuthenticationContext
- the user's authentication details.duration
- requested duration of the new token (in seconds)ApplicationAccessDeniedException
- if the user does not have access to authenticate against the applicationInactiveAccountException
- if the user account is inactiveExpiredCredentialException
- if the user password has expired and the user is required to change their passwordApplicationPermissionException
- if the application is not permitted to perform the requested operation on the serverInvalidAuthenticationException
- if the application and password are not validOperationFailedException
- if the operation has failed for any other reason, including invalid arguments and the operation not being supported on the server.String authenticateSSOUserWithoutValidatingPassword(UserAuthenticationContext userAuthenticationContext) throws ApplicationPermissionException, InactiveAccountException, ApplicationAccessDeniedException, InvalidAuthenticationException, OperationFailedException
userAuthenticationContext
- the user's authentication details.ApplicationAccessDeniedException
- if the user does not have access to authenticate against the applicationInactiveAccountException
- if the user account has expiredApplicationPermissionException
- if the application is not permitted to perform the requested operation on the serverInvalidAuthenticationException
- if the application and password are not validOperationFailedException
- if the operation has failed for any other reason, including invalid arguments and the operation not being supported on the server.void validateSSOAuthentication(String token, List<ValidationFactor> validationFactors) throws OperationFailedException, InvalidAuthenticationException, ApplicationPermissionException, InvalidTokenException
token
- Crowd SSO tokenvalidationFactors
- Details of where the user's come from. If presented, must match those presented during authentication.InvalidTokenException
- if the supplied token is not validApplicationPermissionException
- if the application is not permitted to perform the requested operation on the serverInvalidAuthenticationException
- if the application and password are not validOperationFailedException
- if the operation has failed for any other reason, including invalid arguments and the operation not being supported on the server.Session validateSSOAuthenticationAndGetSession(String token, List<ValidationFactor> validationFactors) throws InvalidTokenException, ApplicationPermissionException, InvalidAuthenticationException, OperationFailedException
token
- Crowd SSO tokenvalidationFactors
- Details of where the user's come from. If presented, must match those presented during authentication.InvalidTokenException
- if the supplied token is not validApplicationPermissionException
- if the application is not permitted to perform the requested operation on the serverInvalidAuthenticationException
- if the application and password are not validOperationFailedException
- if the operation has failed for any other reason, including invalid arguments and the operation not being supported on the server.void invalidateSSOToken(String token) throws OperationFailedException, InvalidAuthenticationException, ApplicationPermissionException
token
- a non-empty token to invalidateApplicationPermissionException
- if the application is not permitted to perform the requested operation on the serverInvalidAuthenticationException
- if the application and password are not validOperationFailedException
- if the operation has failed for any other reason, including invalid arguments and the operation not being supported on the server.void invalidateSSOTokensForUser(String username) throws OperationFailedException, ApplicationPermissionException, InvalidAuthenticationException
username
- User whose sessions will be invalidatedApplicationPermissionException
- if the application is not permitted to perform the requested operation on the serverInvalidAuthenticationException
- if the application and password are not validUnsupportedCrowdApiException
- if the remote server does not support this operationOperationFailedException
- if the operation has failed for any other reason, including invalid arguments and the operation not being supported on the server.void invalidateSSOTokensForUser(String username, String exclude) throws OperationFailedException, ApplicationPermissionException, InvalidAuthenticationException
username
- User whose sessions will be invalidatedexclude
- Token to be savedApplicationPermissionException
- if the application is not permitted to perform the requested operation on the serverInvalidAuthenticationException
- if the application and password are not validUnsupportedCrowdApiException
- if the remote server does not support this operationOperationFailedException
- if the operation has failed for any other reason, including invalid arguments and the operation not being supported on the server.CookieConfiguration getCookieConfiguration() throws OperationFailedException, InvalidAuthenticationException, ApplicationPermissionException
ApplicationPermissionException
- if the application is not permitted to perform the requested operation on the server.InvalidAuthenticationException
- if the application and password are not valid.OperationFailedException
- if the operation has failed for any other reason, including invalid arguments and the operation not being supported on the server.void shutdown()
The client can no longer be used once shutdown.
Calling this method more than once will have no effect.
String getCurrentEventToken() throws ApplicationPermissionException, InvalidAuthenticationException, OperationFailedException, IncrementalSynchronisationNotAvailableException
If the event token has not changed since the last call to this method, it is guaranteed that no new events have been received.
The format of event token is implementation specific and can change without a warning.
ApplicationPermissionException
- if the application is not permitted to perform the requested operation on the server.InvalidAuthenticationException
- if the application and password are not valid.UnsupportedCrowdApiException
- if the remote server does not support this operationOperationFailedException
- if the operation has failed for any other reason, including invalid argumentsIncrementalSynchronisationNotAvailableException
- if the application cannot provide incremental synchronisationEvents getNewEvents(String eventToken) throws EventTokenExpiredException, ApplicationPermissionException, InvalidAuthenticationException, OperationFailedException
eventToken
was generated.
If for any reason event store is unable to retrieve events that happened
after the event token was generated, an
EventTokenExpiredException
will be thrown. The caller is then
expected to call getCurrentEventToken()
again before asking for
new events.
eventToken
- event token that was retrieved by a call to getCurrentEventToken()
or this methodeventToken
was generatedEventTokenExpiredException
- if events that happened after the event token was generated can not be retrievedApplicationPermissionException
- if the application is not permitted to perform the requested operation on the server.InvalidAuthenticationException
- if the application and password are not valid.UnsupportedCrowdApiException
- if the remote server does not support this operationOperationFailedException
- if the operation has failed for any other reason, including invalid argumentsString getWebhook(long webhookId) throws InvalidAuthenticationException, ApplicationPermissionException, OperationFailedException, WebhookNotFoundException
webhookId
- a Webhook identifier, as returned by registerWebhook(String, String)
InvalidAuthenticationException
- if the application and password are not valid.ApplicationPermissionException
- if the application is not permitted to perform the requested operation on the server.WebhookNotFoundException
- if the Webhook is not registeredOperationFailedException
- if the operation has failed for any other reason.long registerWebhook(String endpointUrl, @Nullable String token) throws InvalidAuthenticationException, ApplicationPermissionException, OperationFailedException
getCurrentEventToken()
after registering
a Webhook, so then can obtain the new events using getNewEvents(String)
in the Webhook callback.
This operation is idempotent, i.e., an attempt to register a callback with the same endpointUrl as an existing Webhook already registered by the same application will return the identifier of the existing Webhook.
If an application dies, or otherwise terminates without unregistering its Webhooks, Crowd reserves its rights to eventually unregister any Webhook that is no longer responding to the pings with an HTTP 2xx status code. Crowd may implement a fault-tolerant policy for Webhooks that are temporarily unreachable, but it is the application's responsibility to maintain the connection.
endpointUrl
- URL of the HTTP endpoint provided by the application. Crowd will ping the Webhook
by issuing a body-less POST request when new events are available. The Webhook must
respond with an HTTP 2xx status code.token
- the token that Crowd will present when pinging the Webhook (optional).unregisterWebhook(long)
.InvalidAuthenticationException
- if the application and password are not valid.ApplicationPermissionException
- if the application is not permitted to perform the requested operation on the server.OperationFailedException
- if the operation has failed for any other reason.void unregisterWebhook(long webhookId) throws ApplicationPermissionException, InvalidAuthenticationException, OperationFailedException, WebhookNotFoundException
registerWebhook(String, String)
.webhookId
- The identifier of the Webhook returned by registerWebhook(String, String)
.ApplicationPermissionException
- if the Webhook identifier does not match any of the Webhooks
previously registered by the application.InvalidAuthenticationException
- if the application and password are not valid.WebhookNotFoundException
- if the Webhook is not found, or it not owned by the application,
or the remote API does not support this operationOperationFailedException
- if the operation has failed for any other reason.void expireAllPasswords() throws ApplicationPermissionException, InvalidAuthenticationException, OperationFailedException
ApplicationPermissionException
- if the application credentials are not correct.InvalidAuthenticationException
- if the authentication is not correct.OperationFailedException
- if the operation fails for any of the directories.
This would mean some passwords have expired while others have not.Copyright © 2021 Atlassian. All rights reserved.