com.ibm.itim.apps.identity
Class SelfPasswordManager

java.lang.Object
  |
  +--com.ibm.itim.apps.identity.SelfPasswordManager

public class SelfPasswordManager
extends java.lang.Object

Provides self password management.


Field Summary
static int FAILED
          Constant identifying the failed status.
static int SUCCEEDED
          Constant identifying the success status.
 
Constructor Summary
SelfPasswordManager(PlatformContext platform)
          Constructs the manager with a platform context.
 
Method Summary
 SelfRequest changePassword(java.lang.String userId, java.lang.String oldPassword, java.lang.String newPassword)
          Changes the user's password without requiring an authenticated subject.
 SelfRequest changePassword(java.lang.String tenantId, java.lang.String userId, java.lang.String oldPassword, java.lang.String newPassword)
          Changes the user's password without requiring an authenticated subject.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

SUCCEEDED

public static final int SUCCEEDED
Constant identifying the success status.

FAILED

public static final int FAILED
Constant identifying the failed status.
Constructor Detail

SelfPasswordManager

public SelfPasswordManager(PlatformContext platform)
Constructs the manager with a platform context. There is no user context required as the user must provide their old password when attempting to change it.
Parameters:
platform - PlatformContext identifying identity platform.
Method Detail

changePassword

public SelfRequest changePassword(java.lang.String userId,
                                  java.lang.String oldPassword,
                                  java.lang.String newPassword)
                           throws java.rmi.RemoteException,
                                  javax.security.auth.login.FailedLoginException,
                                  InvalidPasswordException,
                                  ApplicationException
Changes the user's password without requiring an authenticated subject. This is most useful in situations where the user's password has expired. The user must provide their old password to authenticate that the requester can change the password. The new password must abide by the password rules that are in place.
Parameters:
userId - ID representing user.
oldPassword - Old password of the user.
newPassword - New password of the user.
Returns:
SelfRequest object representing the operation's status.
Throws:
java.rmi.RemoteException - Thrown if unable to communicate with platform.
javax.security.auth.login.FailedLoginException - Thrown if old password is incorrect or if the user exceeds the invalid logon attempts or if the account is not active.
InvalidPasswordException - Thrown if password does not pass a password policy check.
ApplicationException - Thrown if unable to submit the request. This may possibly be caused by an an invalid user id.

changePassword

public SelfRequest changePassword(java.lang.String tenantId,
                                  java.lang.String userId,
                                  java.lang.String oldPassword,
                                  java.lang.String newPassword)
                           throws java.rmi.RemoteException,
                                  javax.security.auth.login.FailedLoginException,
                                  InvalidPasswordException,
                                  ApplicationException
Changes the user's password without requiring an authenticated subject. This is most useful in situations where the user's password has expired. The user must provide their old password to authenticate that the requester can change the password. The new password must abide by the password rules that are in place. This method is used in ITIM's multi-tenant deployment platform.
Parameters:
tenantId - ID representing user's tenant.
userId - ID representing user.
oldPassword - Old password of the user.
newPassword - New password of the user.
Returns:
SelfRequest object representing the operation's status.
Throws:
java.rmi.RemoteException - Thrown if unable to communicate with platform.
javax.security.auth.login.FailedLoginException - Thrown if old password is incorrect or if the user exceeds the invalid logon attempts or if the account is not active.
InvalidPasswordException - Thrown if password does not pass a password policy check.
ApplicationException - Thrown if unable to submit the request. This may possibly be caused by an an invalid user id.