Class GrouperDuoCommands
java.lang.Object
edu.internet2.middleware.grouperDuo.GrouperDuoCommands
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic boolean
alreadyExisted
(net.sf.json.JSONObject jsonObject) static net.sf.json.JSONObject
assignUserToGroup
(String userId, String groupId, boolean isIncremental) static net.sf.json.JSONObject
assignUserToGroupIfNotInGroup
(String userId, String groupId, boolean isIncremental) static net.sf.json.JSONObject
createDuoGroup
(String groupName, String groupDescription, boolean isIncremental) create duo groupstatic GrouperDuoAdministrator
createNewAdminAccount
(String name, String emailAddress, String password, String phoneNumber, String role, boolean requirePasswordChange, boolean isActive) static void
deleteAdminAccount
(String adminId) static net.sf.json.JSONObject
deleteDuoGroup
(String groupId, boolean isIncremental) delete duo groupstatic void
executeAdminUpdateRequest
(GrouperDuoAdministrator admin, com.duosecurity.client.Http request) static void
static net.sf.json.JSONObject
removeUserFromGroup
(String userId, String groupId, boolean isIncremental) static GrouperDuoAdministrator
retrieveAdminAccount
(String adminId) Retrieve a GrouperDuoAdministrator object from the API.static Map<String,
GrouperDuoAdministrator> static net.sf.json.JSONObject
retrieveDuoUserByIdOrUsername
(String theId, boolean isDuoUuid, Integer timeoutSeconds) retrieve duo userstatic String
retrieveGroupIdFromGroupName
(String groupName) static Map<String,
GrouperDuoGroup> get all groups, loop through pagesstatic Map<String,
GrouperDuoGroup> retrieveGroupsForUser
(String userId, boolean isIncremental) static String
retrieveUserIdFromUsername
(String username) static Map<String,
GrouperDuoUser> retrieveUsersForGroup
(String groupId) static com.duosecurity.client.Http
static void
updateAdminName
(com.duosecurity.client.Http request, String name) static void
updateAdminRole
(com.duosecurity.client.Http request, String role) static void
updateAdminStatus
(com.duosecurity.client.Http request, boolean isActive) static net.sf.json.JSONObject
updateDuoGroup
(String groupId, String groupDescription, boolean isIncremental) static boolean
userInGroup
(String userId, String groupId, boolean isIncremental)
-
Constructor Details
-
GrouperDuoCommands
public GrouperDuoCommands()
-
-
Method Details
-
main
- Parameters:
args
-
-
retrieveGroupIdFromGroupName
- Parameters:
groupName
-- Returns:
- the groupName
-
retrieveUserIdFromUsername
- Parameters:
username
-- Returns:
- the userId
-
retrieveDuoUserByIdOrUsername
public static net.sf.json.JSONObject retrieveDuoUserByIdOrUsername(String theId, boolean isDuoUuid, Integer timeoutSeconds) retrieve duo user- Parameters:
theId
-isDuoUuid
- true if id, false if usernametimeoutSeconds
- null if no timeout- Returns:
- the json object
-
updateDuoGroup
public static net.sf.json.JSONObject updateDuoGroup(String groupId, String groupDescription, boolean isIncremental) - Parameters:
groupId
-groupDescription
-isIncremental
-- Returns:
- the json object
-
assignUserToGroup
public static net.sf.json.JSONObject assignUserToGroup(String userId, String groupId, boolean isIncremental) - Parameters:
userId
-groupId
-isIncremental
-- Returns:
- the json object
-
userInGroup
- Parameters:
userId
-groupId
-isIncremental
-- Returns:
- the json object
-
removeUserFromGroup
public static net.sf.json.JSONObject removeUserFromGroup(String userId, String groupId, boolean isIncremental) - Parameters:
userId
-groupId
-isIncremental
-- Returns:
- the json object
-
retrieveUsersForGroup
- Parameters:
groupId
-- Returns:
- the map from username to grouper user object
-
retrieveGroups
get all groups, loop through pages- Returns:
- the name of group mapped to group
-
createDuoGroup
public static net.sf.json.JSONObject createDuoGroup(String groupName, String groupDescription, boolean isIncremental) create duo group- Parameters:
groupName
-groupDescription
-isIncremental
- incremental or full (for logging)- Returns:
- the json object
-
deleteDuoGroup
delete duo group- Parameters:
groupId
-isIncremental
- incremental or full (for logging)- Returns:
- the json object
-
alreadyExisted
public static boolean alreadyExisted(net.sf.json.JSONObject jsonObject) - Parameters:
jsonObject
-- Returns:
- true if already exists
-
assignUserToGroupIfNotInGroup
public static net.sf.json.JSONObject assignUserToGroupIfNotInGroup(String userId, String groupId, boolean isIncremental) - Parameters:
userId
-groupId
-isIncremental
-- Returns:
- the json object
-
retrieveGroupsForUser
public static Map<String,GrouperDuoGroup> retrieveGroupsForUser(String userId, boolean isIncremental) - Parameters:
userId
-isIncremental
-- Returns:
- the map of groups for the user
-
createNewAdminAccount
public static GrouperDuoAdministrator createNewAdminAccount(String name, String emailAddress, String password, String phoneNumber, String role, boolean requirePasswordChange, boolean isActive) - Parameters:
name
-emailAddress
-password
-phoneNumber
-role
-requirePasswordChange
-isActive
-- Returns:
- Throws:
RuntimeException
-
retrieveAdminAccounts
-
retrieveAdminAccount
Retrieve a GrouperDuoAdministrator object from the API.- Parameters:
adminId
-- Returns:
- GrouperDuoAdministrator object, or null if no administrator was found
- Throws:
RuntimeException
- when an unexpected response is received.
-
startAdminUpdateRequest
-
updateAdminStatus
public static void updateAdminStatus(com.duosecurity.client.Http request, boolean isActive) -
updateAdminRole
-
updateAdminName
-
executeAdminUpdateRequest
public static void executeAdminUpdateRequest(GrouperDuoAdministrator admin, com.duosecurity.client.Http request) -
deleteAdminAccount
-