Microsoft Entra ID
Reset your forgotten Microsoft Entra password using Fortified ID Password Reset.

Overview
Section titled “Overview”This use case describes how to configure password reset for accounts managed in Microsoft Entra. It covers self-service password reset scenarios. We also talk about delegated password reset scenarios, where an authorized administrator can reset another user’s password. A typical example is a teacher resetting a forgotten password for a student.
Prerequisites
Section titled “Prerequisites”- Fortified ID Password Reset is installed and configured as a SAML Service Provider (SP) against an SAML Identity Provider (IdP), for example Fortified ID Access.
- Configuration of the SAML IdP is outside the scope of this use case and is therefore not covered.
This use case provides an example configuration for resetting an Microsoft Entra password after successful user authentication. The pre-configured SAML IdP must support an authentication method that does not rely on an Microsoft Entra password, such as Swedish BankID, Freja, or username combined with a one-time password (OTP).
Configuration
Section titled “Configuration”Overview of the steps in this use case
Section titled “Overview of the steps in this use case”- Create a *.p12-file to use for login to Entra
- Extract a *.cer-file from the *.p12-file
- Configure your Entra tenant to support Password Reset
- Register Password reset as an Entra app
- During registration the * -cer will be added
- Add permission to reset password
- Register Password reset as an Entra app
- Configure Fortified ID Password Reset
- Add *.p12-file to Password Reset
- Add the Entra module
- Update the Password Self Reset pipe
- Test to reset a Entra account password
Note. In this test we will use a hardcoded account in the Pipe.
1. Create a *.p12-file to use for login to Entra
Section titled “1. Create a *.p12-file to use for login to Entra”- Create a *.p12-file using a tool of your choice. This file includes the certificate and private key. This will be added to Password Reset later in this use case.
- Extract a *.cer-file from the *.p12-file. This include the public part of the certificate, this will be added to the app created for Password Reset in Entra later in this use case.
2. Configure your Entra tenant to support Password Reset
Section titled “2. Configure your Entra tenant to support Password Reset”- Login to Microsoft Entra admin center
Note, in this use case we are using a Entra Workforce tenant. This is also supported for Entra External tenant type. - Click Entra ID section and click App registration
- Click New registration
- Enter a name of the app registration, Fortified ID Password reset
- Select Accounts in this organizational directory only (<tenant_name> only - Single tenant)
- Click Register
- Your are now in edit mode for your newly created app, Fortified ID Password reset. If not, click your newly created app
- Select API permissions
- Click + Add a permission -> Microsoft Graph -> Application permission -> User.Read.All
- Click + Add a permission -> Microsoft Graph -> Application permission -> UserAuthenticationMethod.ReadWrite.All
- Click Grant admin consent for _your_tenant_
- In the Overview section, copy these values (they will be used in later steps):
- Application (client) ID
- Object ID
- Directory (tenant) ID
- Add *.cer to the Entra app (this file contains the public key to verify when Password Reset accessing Entra to reset a password).
- Select Certificates & secrets
- Select Certificates (0)
- Click Upload certificate
- Select the certificate file
- Click Add
- Click New registration
- Click expand Entra ID section and click Roles and admins
- In All roles locate and click User administrator
- Click + Add assignment
- Search for your newly created app, Fortified ID Password Reset
- Select and click Add
- That is the end of configuring Microsoft Entra
3. Configure Fortified ID Password Reset
Section titled “3. Configure Fortified ID Password Reset”3.1 Add *.p12-file to Password Reset
Section titled “3.1 Add *.p12-file to Password Reset”- Login to Management Center for Password Reset
- Click Configuration tab
- Expand Misc settings and click Resources
- Click + to add your *.p12-file
3.2 Add the Entra module
Section titled “3.2 Add the Entra module”- Login to Management Center for Password Reset
- Click Configuration tab
- Expand Modules and click + to add new module
- Click add Entra
-
Click JSON button for the LDAPClient module
-
Copy data below and overwrite all existing data
-
Add client_id, tenant_id and keystore (path, password and alias) data for your environment
{"id": "entraid_1","name": "EntraID","description": "Module for Entra ID communication.","config": {"namespace": "my_entra_tenant","http_client_name": "default","client_id": "xxxx-cb9c-4dbf-yyy-ssssss","tenant_id": "dddd-eeee-eeee-fff-e3f55f4afbd4","keystore": {"path": "${system.customer_home}/resources/added_p12_in_previous_step","password": "p12_password","type": "PKCS12"},"keystore_alias": "1","keystore_password": "p12_password"},"display_name": "My Entra tenant"}
-
- Click Update and Deploy
3.3 Update the Password Self Reset pipe
Section titled “3.3 Update the Password Self Reset pipe”-
Login to Management Center for Password Reset
-
Click Configuration tab
-
Expand Password Reset
-
Expand Pipes
-
Click self_reset
-
Click JSON for JSON Edit
-
Copy data below and overwrite all existing data
{ "id": "self_reset", "display_name": "self_reset", "description": "Self Reset", "config": { "valves": [ { "name": "DumpRequest", "config": { "label": "********** DumpRequest for Self Reset **********" } }, { "name": "DumpSession", "config": { "label": "********** DumpSession for Self Reset **********" } }, { "name": "EntraIDResetPassword", "config": { "namespace": "my_entra_tenant", "ignore_error": true, "user_id": "{{{request.user_name}}}", "new_password": "{{{request.new_password}}}", "force_change_password_next_signin": false } }, { "name": "FlowFail", "exec_if_expr": "(state.items && state.items.length > 0 && state.items[0].message === 'The specified password does not comply with password complexity requirements. Please provide a different password.')", "config": { "message": "PWDRESET_ERROR_PASSWORD_RESTRICTION" } }, { "name": "FlowFail", "exec_if_expr": "state.items && state.items.length > 0", "config": { "message": "Failed to reset password!" } }, { "name": "DumpState", "config": { "label": "********** DumpState after LDAPSearch **********" } } ] } } -
Click Update and Deploy
4. Test to reset a Entra account password
Section titled “4. Test to reset a Entra account password”To test with static use data you can update the pipe above with the Entra userid (e.g. your_user@your_tenant_name.onmicrosoft.com)
On line 24, update like the example below.
"user_id": "your_user@your_tenant_name.onmicrosoft.com",Login to Fortified ID Password Reset
Section titled “Login to Fortified ID Password Reset”- Browse to https://127.0.0.1/pwdreset/
- Password Reset will redirect you to your SAML IdP
- This use case expect that you have some authentication method that is not using the password you are trying to reset. Configuration of the SAML IdP is not explaind here. But for testing purposes, if your using Fortified ID Access is to prep a StaticSAML credential validator with an Entra account data you like to reset.
- When logged in to Fortified ID Password Reset add a new password and click Reset
- If the password did not reset
- Verify the server.log file. The pipe configuration for this use case dumps a lot of data that can be of interest.
- The user_name (see EntraIDResetPassword valve configuration) is the id that will be used to reset the password. Verify its value in log-file and match it to the userid in Entra.