Password Reset
Reset a password for yourself or help someone else.
Last updated
Reset a password for yourself or help someone else.
Last updated
In this use case there are two scenarios:
Password Reset using Self service. In this scenario you will login as yourself using your userid (mail) and an one-time password (otp) sent using SMTP.
FortifiedID Integrity Web current version
Fortified Password Reset current version
LDAP directory The example code is configured to use an Active Directory. We are using mail attribute of the Active Directory user. Make sure you have a test users, Ruth Anderson, Frank Sinatra and Dean Martin created with following LDAP attribute:
Ruth Anderson
displayName: Ruth Anderson
mail: ruth.anderson@fortifiedid.se
sAMAccountName: rutha
directReports: CN=Frank Sinatra,OU=...,DC=..,DC
directReports: CN=Dean Martin,OU=...,DC=..,DC
Frank Sinatra
displayName: Frank Sinatra
mail: frank.sinatra@fortifiedid.se
sAMAccountName: franks
manager: CN=Ruth Anderson,OU=...,DC=..
Dean Martin
displayName: Dean Martin
mail: dean.martin@fortifiedid.se
sAMAccountName: deanm
manager: CN=Ruth Anderson,OU=...,DC=..
Server platform. Docker, Windows or Linux. In this use case we have used a Windows server with an Active Directory.
FakeSMTP. This is used when a user reset its own password. When authenticating to the self service we will use UserID (mail) and a mail delivered one-time password (otp). Download and install FakeSMTP on the same host as the use cases and start the smtp service on port 25. Note. If you have an "real" SMTP server then use that instead.
Remember that this use case does not describe installation of the products. Products are expected to be installed in advance.
Download ZIP containing configuration for Web and Password Reset
Click USE_CASE_LINK to download customer folders for Web and PWDReset.
Add Integrity WEB configuration to your environment.
Add the customer_WEB folder to you \..\fortifiedid\web\ folder. Rename the existing customer folder to customer_ORG and rename the added one to \customer.
Add Password Reset configuration to your environment.
Add the customer_PWDReset folder to you \..\fortifiedid\pwdreset\ folder. Rename the existing customer folder to customer_ORG and rename the added one to \customer.
The downloaded folders contains all information needed. For example, a test certificate and metadata files are included and configured to work with the example applications. However, some data needs to be changed to map your environment. You need to update the LDAP data to map your environment. Since this example was done on a Windows server you might need to update file paths if you run something else. Also the http ports might need to be changed if they are not available in your environment.
To make it easy both application folders have a file called globals.json that contains the data you need to change. Config.json uses the variables in globals.json.
Open globals.json for \..\fortifiedid\pwdreset\config and \..\fortifiedid\web\config folder and update:
LDAP data to map you environment
File paths if needed
HTTP if needed
When updated, start Integrity WEB and Password Reset in order described below.
Start Fortified ID Web service. Wait until service is started before moving on. Verify server.log file that service running without errors.
Start Fortified ID Password Reset service Verify server.log file that service running without errors.
There are two authenticators in this use case. See explanation below:
This will authenticate ruth.anderson@fortifiedid.se with Active Directory and display a selector to reset someone else's password. This option also include the possibility for Ruth to reset here own password.
Open a browser
Browse to https://localhost:8446/pwdreset You should now be redirected to https://localhost:8443/saml/authn/selector/
On Integrity WEB SAML IdP, click Delegated - Password Reset option
In Username and Password, add ruth.anderson@fortifiedid.se and password and then click Sign In.
This will authenticate ruth.anderson@fortifiedid.se with Active Directory and verify a generated and sent OTP via smtp.
Start FakeSMTP is started
Open a CMD prompt
Go to the folder where you downloaded FakeSMTP
Run the following command: (change to fit downloaded version) "C:\Program Files\FortifiedID\web\jre\bin\java.exe" -jar fakeSMTP-2.0.jar
Click Last Message tab where you in the next section will find the otp
Login with self service to reset the password
Open a browser
Browse to https://localhost:8446/pwdreset You should now be redirected to https://localhost:8443/saml/authn/selector/
On Integrity WEB SAML IdP, click Self - Password Reset option
In UserID, add ruth.anderson@fortifiedid.se and then click Verify userid
Add the OTP to the Verify one-time password web page. Click Verify one-time password.
You should now been authenticated and redirected back to the SAML SP, Password Reset.
Note. If you type the username incorrectly you will still advance to OTP page. Authentication will fail. This is because someone a bad person should know if userid or OTP was incorrect.
The config.json of Web can be found in the associated zip-file in this use case.
Password Reset as a delegated user. You reset someone else's password. In this scenario you can delegate the password reset ability to another person. In this use case the manager can perform the password reset. The application will look in the directReport attribute to figure out what users to display for the delegated user. Active Directory have a backlink attribute connection between directReports and manager for users. Note. This is just an example, you can figure out who should be able to reset another persons password using any LDAP query. Example: The Active Directory user Ruth Anderson is manager for user Frank Sinatra and user Dean Martin. When Ruth logs in she will have a list to choose from for all the user she is currently manager for.
In the Select user to reset password for, select Frank Sinatra. You should now be redirected back to Password reset.
You are logged in as Ruth Anderson performing a password reset for Frank Sinatra.
Click Start server
Check FakeSMTP and look for the otp. See example below: