Skip navigation links


oracle.iam.selfservice.self.selfmgmt.api
Interface AuthenticatedSelfService


public interface AuthenticatedSelfService

The AuthenticatedSelfService API exposes the methods to a logged-in user to manage his profile. It provides functionality to manage profile attributes, change password and manage challenge questions and answers. Apart from basic profile operations, there are proxy related operations to get proxy details and submit requests to assign, remove and update the proxy.


Method Summary
 long addProxyForUser(long proxyUserKey, java.util.Date startDate, java.util.Date endDate)
          Deprecated. 
 java.lang.String addProxyForUser(java.lang.String proxyUserID, java.util.Date startDate, java.util.Date endDate, boolean isUserLogin)
          Adds/Sets proxy for user after checking the user privilege.
 void changePassword(char[] password)
          Accepts the new password (since old password is expired) and sets it as the current password for the user
 void changePassword(char[] oldPwd, char[] newPwd, char[] confirmPwd)
          Accepts the old and new password for the logged-in user and changes his password if validations pass.
 java.util.List getAllProxies()
          Gets a list of the all the proxy for the given user
 java.util.HashMap getChallengeValuesForSelf()
          Returns the challenge values for self.
 java.util.List getCurrentProxies()
          Returns the current proxy details of the specified user
 java.util.List getMyDirects(java.util.Set returnAttributes, java.util.HashMap searchParameters)
          Gets all direct reports of the user i.e.
 java.util.List getPastProxies()
          Returns the past proxy details of the specified user
 User getProfileDetails(java.util.Set retAttrs)
          Returns the details of the logged-in user.
 java.lang.String[] getSystemChallengeQuestions()
          Returns the list of all challenge questions available in the system
 java.lang.String[] getUserDefinedChallengeQuestions(java.lang.String userName)
          Gets the String array of user's challenge questions
 java.util.HashMap modifyProfileDetails(java.util.HashMap attributeMap)
          This method modifies the logged-in user's profile attributes.
 void removeAllProxiesForUser()
          Removes all proxies for user.
 void removeProxy(long proxyKey)
          Deprecated. 
 void removeProxy(java.lang.String proxyID)
           
 void removeProxy(java.lang.String userID, long proxyKey, java.util.Map attrMap, boolean isUserLogin)
          Deprecated. Please use removeProxy(long proxyKey) instead
 void setChallengeValues(java.util.Map quesAnsMap)
          Sets challenge questions and answers for logged-in user.
 void updateProxyForUser(long pxdKey, java.util.Map updateMap)
          Deprecated. 
 void updateProxyForUser(java.lang.String proxyID, java.util.Map updateMap)
          Modifies proxy for the user after checking the user privilege.

 

Method Detail

changePassword

void changePassword(char[] oldPwd,
                    char[] newPwd,
                    char[] confirmPwd)
                    throws ValidationFailedException,
                           ChangePasswordException
Accepts the old and new password for the logged-in user and changes his password if validations pass.
Parameters:
oldPwd - the old password of the logged-in user
newPwd - the new password
configmPwd - the new password again for confirmation
Throws:
ValidationFailedException - thrown when the old password is not valid or if the new password and confirm password do not match.
ChangePasswordException - thrown when there is an exception while changing the user's password

getSystemChallengeQuestions

java.lang.String[] getSystemChallengeQuestions()
                                               throws AuthSelfServiceException
Returns the list of all challenge questions available in the system
Returns:
an array of challenge questions defined in the system
Throws:
AuthSelfServiceException - thrown when there's an error while getting the system challenge questions.

setChallengeValues

void setChallengeValues(java.util.Map quesAnsMap)
                        throws ValidationFailedException,
                               SetChallengeValueException
Sets challenge questions and answers for logged-in user. Validations are performed to ensure that same question isn't specified twice.
Parameters:
quesAnsMap - A Map of challenge questions and answers to be set for logged-in user
Throws:
SetChallengeValueException - thrown when there is a failure while setting the challenge questions
ValidationFailedException - is throw if validation fails for the challenge operation

changePassword

void changePassword(char[] password)
                    throws ValidationFailedException,
                           ResetPasswordException
Accepts the new password (since old password is expired) and sets it as the current password for the user
Parameters:
password - The password to set as new password for the user.
Throws:
ResetPasswordException - thrown when there's a failure while resetting the user password
ValidationFailedException - is thrown if the validation fails while setting the new password.

getUserDefinedChallengeQuestions

java.lang.String[] getUserDefinedChallengeQuestions(java.lang.String userName)
                                                    throws UserAccountDisabledException,
                                                           UserAccountInvalidException,
                                                           AuthSelfServiceException
Gets the String array of user's challenge questions
Parameters:
userName - The user login whose challenge questions are to be retrieved
Returns:
an array of user's challenge questions
Throws:
UserAccountDisabledException - thrown if user account is disabled
UserAccountInvalidException - thrown if user account is invalid
AuthSelfServiceException - thrown if there's an error getting the user's challenge questions

modifyProfileDetails

java.util.HashMap modifyProfileDetails(java.util.HashMap attributeMap)
                                       throws ValidationFailedException,
                                              oracle.iam.platform.authz.exception.AccessDeniedException,
                                              AuthSelfServiceException
This method modifies the logged-in user's profile attributes. If the user doesn't have authorization to update some of the attributes, then a request is sumbitted to modify those. If approved, these will be updated.
Parameters:
attributeMap - The Map of attribute value pair that are to be modified
Returns:
returnModifyMap A Map contains authorized modified attribute list, the list of attributes that are sent via request and request id, if so:
  • orchAttr - the set of attributes modified
  • requestId - the Id of the request generated for modification
Throws:
ValidationFailedException - thrown if validation for modify operation fails.
oracle.iam.platform.authz.exception.AccessDeniedException - thrown if the user doesn't have authorization to update his profile
AuthSelfServiceException - thrown if there is an exception while modifying the profile

getProfileDetails

User getProfileDetails(java.util.Set retAttrs)
                       throws UserLookupException
Returns the details of the logged-in user. The profile attributes returned are as per the authorization policy. That is, only those attributes are returned for which the user has view/read access.
Parameters:
retAttrs - the set of profile attributes whose values are desired. If this is null, then all profile attributes (as per policy) are returned.
Returns:
User The User class is a value object class to hold the GUID, attribute name-value pair and direct reports of user.
Throws:
UserLookupException - thrown when there was an exception while fetching the user attributes

getChallengeValuesForSelf

java.util.HashMap getChallengeValuesForSelf()
                                            throws AuthSelfServiceException
Returns the challenge values for self.
Returns:
a HashMap for the challenge values from the pcq table
Throws:
AuthSelfServiceException

addProxyForUser

@Deprecated
long addProxyForUser(long proxyUserKey,
                                java.util.Date startDate,
                                java.util.Date endDate)
                     throws NoSuchUserException,
                            RecursiveProxyException,
                            UserManagerException,
                            oracle.iam.platform.authz.exception.AccessDeniedException
Deprecated. 
Adds/Sets proxy for user after checking the user privilege.
Parameters:
proxyUserKey - key of the user to be proxied.
startDate - start date for proxy.
endDate - end date of the proxy.
Returns:
the proxy id in the table.
Throws:
NoSuchUserException
RecursiveProxyException
UserManagerException
oracle.iam.platform.authz.exception.AccessDeniedException

updateProxyForUser

@Deprecated
void updateProxyForUser(long pxdKey,
                                   java.util.Map updateMap)
                        throws NoSuchUserException,
                               RecursiveProxyException,
                               UserManagerException,
                               oracle.iam.platform.authz.exception.AccessDeniedException
Deprecated. 
Modifies proxy for the user after checking the user privilege.
Parameters:
pxdKey - key of the proxy whose details is to be updated.
attribute - an attribute map of the fields to update:
  • proxyuserkey - the current proxy user
  • proxystartdate - start date when the proxy takes effect
  • proxyenddate - end date when the proxy ends
Throws:
NoSuchUserException
RecursiveProxyException
UserManagerException
oracle.iam.platform.authz.exception.AccessDeniedException

removeProxy

@Deprecated
void removeProxy(java.lang.String userID,
                            long proxyKey,
                            java.util.Map attrMap,
                            boolean isUserLogin)
                 throws NoSuchUserException,
                        UserManagerException,
                        oracle.iam.platform.authz.exception.AccessDeniedException
Deprecated. Please use removeProxy(long proxyKey) instead
Removes proxy for the user after checking the user privilege.
Parameters:
userID - The id of the user whose proxy is to be removed. The isUserLogin flag will decide what does userID contains.
proxyKey - The key of the proxy to be removed.
attrMap - [Optional] The Map of attributes containing proxy details.
isUserLogin - Set to true if the userID contains user login and false if the userID contains user key.
Throws:
NoSuchUserException
UserManagerException
oracle.iam.platform.authz.exception.AccessDeniedException
See Also:
AuthenticatedSelfService.removeProxy(long)

removeProxy

@Deprecated
void removeProxy(long proxyKey)
                 throws UserManagerException,
                        oracle.iam.platform.authz.exception.AccessDeniedException
Deprecated. 
Removes proxy for the user after checking the user privilege.
Parameters:
proxyKey - The key of the proxy to be removed.
Throws:
UserManagerException
oracle.iam.platform.authz.exception.AccessDeniedException

addProxyForUser

java.lang.String addProxyForUser(java.lang.String proxyUserID,
                                 java.util.Date startDate,
                                 java.util.Date endDate,
                                 boolean isUserLogin)
                                 throws NoSuchUserException,
                                        RecursiveProxyException,
                                        UserManagerException,
                                        oracle.iam.platform.authz.exception.AccessDeniedException
Adds/Sets proxy for user after checking the user privilege.
Parameters:
proxyUserID - ID of the user to be proxied.
startDate - start date for proxy.
endDate - end date of the proxy.
Returns:
the proxy identifier.
Throws:
NoSuchUserException
RecursiveProxyException
UserManagerException
oracle.iam.platform.authz.exception.AccessDeniedException

updateProxyForUser

void updateProxyForUser(java.lang.String proxyID,
                        java.util.Map updateMap)
                        throws NoSuchUserException,
                               RecursiveProxyException,
                               UserManagerException,
                               oracle.iam.platform.authz.exception.AccessDeniedException
Modifies proxy for the user after checking the user privilege.
Parameters:
proxyID - ID of the proxy whose details is to be updated.
attribute - an attribute map of the fields to update:
  • proxyuserId - Entity ID of the current proxy user
  • proxystartdate - start date when the proxy takes effect
  • proxyenddate - end date when the proxy ends
Throws:
NoSuchUserException
RecursiveProxyException
UserManagerException
oracle.iam.platform.authz.exception.AccessDeniedException

removeProxy

void removeProxy(java.lang.String proxyID)
                 throws UserManagerException,
                        oracle.iam.platform.authz.exception.AccessDeniedException
Parameters:
proxyKey - The ID of the proxy to be removed.
Throws:
UserManagerException
oracle.iam.platform.authz.exception.AccessDeniedException

removeAllProxiesForUser

void removeAllProxiesForUser()
                             throws NoSuchUserException,
                                    UserManagerException,
                                    oracle.iam.platform.authz.exception.AccessDeniedException
Removes all proxies for user. Past Proxies cannot be deleted. In Progress Proxy are not deleted rather their end date is changed to today.
Throws:
NoSuchUserException - If user with given userID does not exist.
oracle.iam.platform.authz.exception.AccessDeniedException - If the logged-in user does not have the required authorization to perform this operation
UserManagerException - If update proxy operation fails due some other reason.

getAllProxies

java.util.List getAllProxies()
                             throws oracle.iam.platform.authz.exception.AccessDeniedException
Gets a list of the all the proxy for the given user
Returns:
List of proxy details for all proxies associated with the specified user
Throws:
oracle.iam.platform.authz.exception.AccessDeniedException - If the logged-in user does not have the required authorization to perform this operation.

getCurrentProxies

java.util.List getCurrentProxies()
                                 throws oracle.iam.platform.authz.exception.AccessDeniedException,
                                        NoSuchUserException
Returns the current proxy details of the specified user
Returns:
List of proxy details for all current proxies associated with the specified user
Throws:
oracle.iam.platform.authz.exception.AccessDeniedException - If the logged-in user does not have the required authorization to perform this operation.
NoSuchUserException - If the user with given userID is not found.

getPastProxies

java.util.List getPastProxies()
                              throws oracle.iam.platform.authz.exception.AccessDeniedException
Returns the past proxy details of the specified user
Returns:
List of proxy details for all past proxies associated with the specified user
Throws:
oracle.iam.platform.authz.exception.AccessDeniedException - If the loggedUser does not have the required authorization to perform this operation.

getMyDirects

java.util.List getMyDirects(java.util.Set returnAttributes,
                            java.util.HashMap searchParameters)
                            throws UserManagerException,
                                   oracle.iam.platform.authz.exception.AccessDeniedException
Gets all direct reports of the user i.e. all users for which the logged-in user is the manager.
Parameters:
returnAttributes - The list of attributes which are to be returned for each user.
searchParameters - Parameters to further configure the search operation. There are four configuration parameters. STARTROW, ENDROW, SORTEDBY and SORTORDER.

The STARTROW and ENDROW search configuration parameters indicates which subset of the complete search result is to be fetched. These parameters are mandatory.

The SORTEDBY search configuration parameter indicates the attribute on which search result is to be sorted. This parameter is optional and is set to 'User Login' by default.

The SORTORDER search configuration parameter indicates the order of sorting. There are two possible values for this parameter. To sort the result in ascending order use SortOrder.ASCENDING and to sort the result in descending order use SortOrder.DESCENDING. This parameter is optional and is set to SortOrder.ASCENDING by default.

Returns:
the list of all users of whom the logged-in user is the manager.
Throws:
oracle.iam.platform.authz.exception.AccessDeniedException - if the logged-in user does not have the required authorization.
UserManagerException - if there is an error finding direct reports.

Skip navigation links


Copyright © 2014, Oracle and/or its affiliates. All rights reserved.