Change password feature introduced with ADFS 3.0 and it is also available with ADFS 2016. Change password feature will let you to change your Active directory password to a new one from a web interface while providing the existing password. From this post let’s discuss on a scenario which you can use the Change password feature of ADFS and how to implement it with ADFS and ADFS Proxy.
Office 365 Password Change
Let’s take Office 365 as a customer scenario. When you implement office 365 your authentication provider is Azure Active directory, you can choose to select your identities (User names and passwords) to create on cloud or sync to Azure active directory from On-premise local active directory. Most of the organizations go with the Directory Sync option because they don’t want to maintain two separate accounts for email and login. And the issue comes when the user need to change their password. Either user have to change it from a domain joined computer, which will take away the advantage of going cloud or all users should have Azure Active Directory Premium licenses that support password write back option.
In this kind of a scenario you can use the ADFS change password option. User will have a web portal which they can access from anywhere and they just simply have to type their existing password and change it to a new one. If the company have an existing ADFS environment, it can be used for this or you can create a new simple ADFS environment only for implementing Change Password.
For this scenario I’m installing ADFS on Server 2016 and Web application proxy for external access. WAP should be isolated in the DMZ while only access through port 443.
Certificate Requirements
SSL certificate is required by ADFS and ADFS proxy to serve HTTPS requests. Certificate name should be according to the ADFS service name such as “sts.microsoft.com”. Certificate should be publicly trusted and you can use the same certificate for WAP server.
High level steps –
Hardware Requirements
Use the AD FS 2016 Capacity Planning spreadsheet to determine the number of ADFS and Web Application Proxy servers you will need
http://adfsdocs.blob.core.windows.net/adfs/ADFSCapacity2016.xlsx
Access ports and DNS
https://localhost/adfs//fs//federationserverservice.asmx
You will get the certificate error because you are using localhost address
You have to create a DNS A Record to the name of the ADFS service in the local DNS server, as example sts.microsoft.com to the internal IP of the server. After creating the record check again with the ADFS service name instead of local host, Certificate error will be sorted.
Before installing ADFS proxy, make sure you have created the Host record in proxy to the ADFS service name and pointing it to the internal ADFS server. Also import the previously generated certificate in to the personal certificate folder of the local server.
Enabling change password can be done by few simple steps, you can allow it to both internal and external users by selecting Enable and Enable in Proxy options.
Go to the ADFS Configurations – Services – Endpoints – Other, select /adfs/portal/updatepassword, and select Enable or both Enable on Proxy options.
Test the configurations using following URL
https://ADFSServicename.com/adfs/portal/updatepassword
Note – you have to change the external DNS to publish the ADFS service name, also make sure it only have port 443 access
Hope this post is worthy
Cheers