ADFS Extension (2012)
With the ADFS Extension module, you can implement multifactor authentication for the Microsoft ADFS server, adding a second factor to the access gaining process.
In ADFS Extension, you can authenticate with the following authenticators:
- Email OTP
- Hardware OTP
- Hardware TOTP
- Passcode
- Secured TOTP
- SMS OTP
- Software OTP
- Storage SMS OTP
- Telegram Provider (in the mode of sending one-time passwords and push notifications with login confirmation)
- the Axidian Key mobile application (in the mode of sending one-time passwords and push notifications with login confirmation)
Examples of extension deployment:
- Configuring two-factor authentication for applications published in WAP
- Configuring two-factor authentication in AD FS for integration with Exchange Server 2016
- Configuring two-factor authentication in Microsoft Office 365 with ADFS Extension
Install and configure ADFS Extension
Run the installation file located at
Axidian Access <version number>/Axidian ADFS Extension/<version number>and follow the steps of the installation wizard.Create a configuration file named
MFAAdapter.jsonwith the following parameters:EANetServerURL— the Core Server addressModeId— the identifier of the authentication method usedModeId can have the following values:- SMS OTP {EBB6F3FA-A400-45F4-853A-D517D89AC2A3}
- Storage SMS OTP {3F2C1156-B5AF-4643-BFCB-9816012F3F34}
- Secured TOTP {F15FD7EC-19EA-4384-846E-A2D0BE149FA2}
- Email OTP {093F612B-727E-44E7-9C95-095F07CBB94B}
- Passcode {F696F05D-5466-42b4-BF52-21BEE1CB9529}
- Software OTP {0FA7FDB4-3652-4B55-B0C0-469A1E9D31F0}
- Hardware OTP {AD3FBA95-AE99-4773-93A3-6530A29C7556}
- Hardware TOTP {CEB3FEAF-86ED-4A5A-BD3F-6A7B6E60CA05}
- Axidian Key Provider {DEEF0CB8-AD2F-4B89-964A-B6C7ECA80C68}
- Telegram Provider {CA4645CC-5896-485E-A6CA-011FCC20DF1D}
Example{
"ServerType":"eaNet",
"EANetServerURL":"https://YourDomainName/am/core/",
"ModeId":"{0FA7FDB4-3652-4B55-B0C0-469A1E9D31F0}"
}NoteWhen using the HTTPS protocol connection, you must install a client certificate on each Core Server.
Run PowerShell as an administrator. To register the adapter, enter the following data:
YourPath\MFAAdapter.json— specify the full path to theMFAAdapter.jsonconfiguration file created in step 2.In the
$typeNamevariable, in theVersionparameter, specify the version number of the ADFS Extension used.ImportantWhen registering, modifying, or removing the adapter, restart the ADFS services on each ADFS server.
Example$typeName = "Axidian.ADFS.MFAAdapter.MFAAdapter, Axidian.ADFS.MFAAdapter, Version=1.0.6.0, Culture=neutral, PublicKeyToken=1ebb0d9282100d91"
Register-AdfsAuthenticationProvider -TypeName $typeName -Name "MFA Adapter" -ConfigurationFilePath 'YourPath\MFAAdapter.json'To register several providers, change the provider name in the
Nameparameter.ExampleRegister-AdfsAuthenticationProvider -TypeName $typeName -Name "MFA Passcode" -ConfigurationFilePath 'YourPath\MFAAdapter.json'Change the display name of the provider. For the
Nameparameter, specify the value from the previous step; for theDisplayNameparameter, specify the name that is displayed during authentication through ADFS.ExampleSet-AdfsAuthenticationProviderWebContent -Name "MFA Adapter Passcode" -DisplayName "Passcode"
To remove the adapter, run the following command:
Unregister-AdfsAuthenticationProvider -Name "MFA Adapter"To update the configuration, run the following command:
Import-AdfsAuthenticationProviderConfigurationData -Name "MFA Adapter" -FilePath 'YourPath\MFAAdapter.json'
Enable multifactor authentication for ADFS
Open the ADFS management console.
Select Authentication Policies.
In the Actions window, select Edit Global Multi-factor Authentication....
Add a user/group and enable the following parameters:
- On the Multi-factor tab, in the Location item, select Extranet and Intranet.
- Select the MFA Adapter provider.
Restart the ADFS service to apply the changes.
Register an authenticator at the first login to ADFS
At the first login to ADFS, the user is prompted to specify a phone number in the following cases:
- The user has no phone number specified in Active Directory.
- The phone number is specified, but the Use the phone number from Active Directory if the authenticator is not registered policy is disabled.
After specifying the phone number, the user receives a one-time password to that number, which must be entered in the ADFS form to complete the login to the target application.
Switch the Telegram Provider operating mode
You can log in to ADFS with Telegram Provider either with a one-time password or with a push notification requesting to confirm or reject the login.
To select the login confirmation method, do the following:
- In Management Console, in the left menu, select Policies.
- From the list of policies, select the policy with the ADFS application added.
- In the policy menu on the left, select Applications and go to the ADFS application.
- In the Telegram operating mode item, select the authentication method: one-time password or push notification.
Example of the module operation on the ADFS idpinitiatedsignon page
The example of the extension operation is shown on the idpinitiatedsignon.htm page.
By default, this page is not configured. Configuring this page is optional.
Configuring the test page
Select Relying Party Trusts and click Add Relying Party Trust....
On the Welcome tab, select Claims aware and click Start.
On the Select Data Source tab, specify the URL of your application and click Next.
InformationThe standard ADFS page
idpinitiatedsignon.htmis used as an example of the extension operation. The metadata address for this page is used.On the Specify Display Name tab, enter the name and description for your trust and click Next.
On the Choose Access Control Policy tab, select a suitable policy with an MFA request from the default ones; you can also add arbitrary access control policies.
Leave the other parameters as default.
Restart the ADFS service to apply the changes.
Module operation
- Open the ADFS test page: https://YourDomainName/adfs/ls/idpinitiatedsignon.htm.
- Perform the login.
- After entering the domain login and password, specify the data for the second authentication factor.
- After the correct input, the login is performed.