Configuring Identity Manager Password Reset with OpenSSO NOW
The following information concerns extending the end user password reset or forgot password feature to include Identity Manager 8.1.0.5 to be released sometime in October. (I wrote this weeks ago but forgot to publish it.) In a deployment that has both products integrated, a user needs the option to change or reset a configured password. To allow for identification, challenge questions should be configured for each user account. Unless these questions are answered correctly, this behavior will not be allowed. The flow diagram below details the process. (Right click it to open it full size in a new tab or window.)

Configuring OpenSSO
To configure OpenSSO, you will define Identity Manager URIs as not enforced for the policy agent. You will also need to modify the OpenSSO login page so that it will display a Forgot Password button.To Define Identity Manager URLs as Not Enforced
- Login to the OpenSSO console as administrator.
- Click the Access Control tab.
- Click the appropriate realm name and navigate to the Agents profile for the policy agent that protects Identity Manager.
- Under the agent profile, click the Application tab.
- Add the following URIs to the Not Enforced URIs property.
/idm/authutil//idm/authutil/*/idm/authutil/*?*
- Click Save.
- Logout of OpenSSO.
Modifying the OpenSSO Login Page
There are two options to consider when deciding how to display a Forgot Password button on the OpenSSO login page. You can manually change the deployedLogin.jsp file, or you can use the sample Login.jsp included with the opensso.zip download. They are mutually-exclusive so choose only one of these procedures.
To Manually Modify a Deployed Login.jsp
- Change to the
/web-container-deploy-base/opensso/config/auth/default/directory to access the deployedLogin.jsppage. - Open
Login.jspin an editor and add the five (5) sections of code displayed in yellow in forgot_pwd.html on the OpenSSO web site.
The URL in one section of this page that ends.../idm/authutil/questionLogin.jsp?accountId=links to the Identity Manager JSP that will be displayed if the user does not have challenge questions configured. Replace the beginning of this URL (http://am-v490-01.red.iplanet.com:6480/idm/authutil/questionLogin.jsp?accountId=in the file) with the specifics of your deployment. - Remove the web containers temporary, compiled JSP to ensure that the changes made are picked up.
For example, if using Glassfish, the temporary, compiled classes can be found under theglassfish-home/domains/your-domain/generated/directory. - Restart the OpenSSO web container after making the changes.
To Use the Sample Login.jsp
- Change to the
opensso/integrations/idm/jsps/directory in the decompressedopensso.zipdirectory to access the sampleLogin.jsp. - Change the Identity Manager URL embedded in the sample
Login.jspto reflect the Identity Manager system URL of your architecture.
You can search for the string/idmto locate the URLs. - Replace your deployed
/web-container-deploy-base/opensso/config/auth/default/Login.jspwith the sampleLogin.jsp.
If you replace your existingLogin.jspwith the sampleLogin.jspthe following will occur.- You will lose any custom changes made to the existing
Login.jsp. - You will inherit changes that might have been previously made to the sample
Login.jspto incorporate requirements for other use cases related to the OpenSSO integration with Identity Manager.
- You will lose any custom changes made to the existing
- Remove the web containers temporary, compiled JSP to ensure that the changes made are picked up.
For example, if using Glassfish, the temporary, compiled classes can be found underglassfish-home/domains/your-domain/generated. - Restart the OpenSSO web container after making the changes.
diff between both files and make the necessary changes manually.
Test The Configurations
- Access an Identity Manager URL.
You will be redirected to the OpenSSO login page. - Enter a username and click the "Forgot Password" button.
You will be redirected to the Identity ManagerquestionLogin.jsp. - Enter answers to the challenge questions and click the "Login" button.
You will be redirected to second page. - Enter your new password on this second page.
This is a temporary password you would've received from contacting the help desk. See the process flow diagram above. - Select the option to update all resource accounts.
Ensure that both the Identity Manager and OpenSSO resources are selected. - Select the option in the column "Forgot Old Password?" for the OpenSSO Resource.
- Click the "Change Password" button.
The password is now changed. Use the new password next time you log in.
Posted at 12:00AM Nov 16, 2009 by Michael Teger in Sun | Comments[0]
