SAML Single Sign-On (SSO) for WordPress using ADFS as IdP | ADFS SSO Login
Overview
ADFS Single Sign-On (SSO) login for WordPress [SAML] can be achieved by using our WordPress SSO plugin. Our plugin compatible with all the SAML compliant Identity Providers. Here we will go through a step-by-step guide to configure SAML SSO login between WordPress site and ADFS by considering ADFS as IdP (Identity Provider) and WordPress as SP (Service Provider).
Pre-requisites : Download And Installation
To configure ADFS as SAML IdP with WordPress, you will need to install the miniOrange WP SAML SP SSO plugin.
Configuration Steps
Step 1: Setup ADFS as IdP (Identity Provider)
Follow the following steps to Configure ADFS as IdP:
- In the miniOrange SAML SP SSO plugin, navigate to Service Provider Metadata tab. Here, you can find the SP metadata such as SP Entity ID and ACS (AssertionConsumerService) URL which are required to configure the Identity Provider.
- On ADFS, search for ADFS Management application.
- In ADFS Management, select Relying Party Trust and click on Add Relying Party Trust.
- Select Claims aware from the Relying Party Trust Wizard and click on Start button.
Select Data Source
- In Select Data Source, select the data source for adding a relying party trust.
Metadata URL
Metadata XML file
Manual Configuration
- Navigate to Service Provider Metadata tab of the plugin to get the endpoints to configure Service Provider manually.
- In Add Relying Party Trust Wizard select option Enter data about the relying party manually and click on Next.
Specify Display Name
- Enter Display Name and Click Next.
Configure Certificate (Premium feature)
- Download the certificate from Service Provider Metadata Tab.
- Upload the certificate and click on Next.
Configure URL
- Select Enable support for the SAML 2.0 WebSSO protocol option and enter ACS URLfrom the plugin's Service Provider Metadata Tab.
- Click on Next.
Configure Identifiers
- In the Relying party trust identifier, add the SP-EntityID / Issuer from the plugin's Service Provider Metadata tab.
Choose Access Control Policy
- Select Permit everyone as an Access Control Policy and click on Next.
Ready to Add Trust
- In Ready to Add Trust click on Next and then Close.
Edit Claim Issuance Policy
- In the list of Relying Party Trust, select the application you created and click on Edit Claim Issuance Policy.
- In Issuance Transform Rule tab click on Add Rule button.
Choose Rule Type
- Select Send LDAP Attributes as Claims and click on Next.
Configure Claim Rule
- Add a Claim Rule Name and select the Attribute Store as required from the dropdown.
- Under Mapping of LDAP Attributes to outgoing claim types, Select LDAP Attribute as E-Mail-Addresses and Outgoing Claim Type as Name ID.
- Once you have configured the attributes, click on Finish.
- After configuring ADFS as IDP, you will need the Federation Metadata to configure your Service Provider.
- To get the ADFS Federation Metadata, you can use this URL
https://< ADFS_Server_Name >/federationmetadata/2007-06/federationmetadata.xml
You have successfully configured ADFS as SAML IdP (Identity Provider) for achieving ADFS SSO login into your WordPress (WP) Site.
Windows SSO (Optional)
Follow the steps below to configure Windows SSO
Steps to configure ADFS for Windows Authentication
- Open elevated Command Prompt on the ADFS Server and execute the following command on it:
-
setspn -a HTTP/##ADFS Server FQDN## ##Domain Service Account##
-
FQDN is Fully Qualified Domain Name (Example : adfs4.example.com)
-
Domain Service Account is the username of the account in AD.
-
Example : setspn -a HTTP/adfs.example.com username/domain
- Open AD FS Management Console, click on Services and go to the Authentication Methods section. On the right, click on Edit Primary Authentication Methods. Check Windows Authentication in Intranet zone.
- Open Internet Explorer. Navigate to Security tab in Internet Options.
- Add the FQDN of AD FS to the list of sites in Local Intranet and restart the browser.
- Select Custom Level for the Security Zone. In the list of options, select Automatic Logon only in Intranet Zone.
- Open the powershell and execute following two commands to enable windows authentication in Chrome browser.
Set-AdfsProperties -WIASupportedUserAgents ((Get-ADFSProperties | Select -ExpandProperty WIASupportedUserAgents) + "Chrome")
Get-AdfsProperties | Select -ExpandProperty WIASupportedUserAgents;
- You have successfully configured ADFS for Windows Authentication.
Step 2: Configure WordPress as SP (Service Provider)
In the WordPress SAML SSO plugin, go to the Service Provider Setup tab of the plugin. There are two
ways to configure the WordPress SSO plugin:
A. By uploading IDP metadata:
- Click on Upload IDP metadata button.
- Enter the Identity Provider Name
- You can either upload a metadata file and click on Upload button or use a
metadata URL and click on Fetch Metadata.
B.Manual Configuration:
- Provide the required settings (i.e. Identity Provider Name, IDP Entity ID or Issuer, SAML Login
URL, X.509 Certificate) as provided by your Identity Provider and click on the Save
button.
- Click on Test configuration to check the attributes and values sent by IDP.
Step 3: Attribute Mapping
- In the free plugin, only NameID is supported for Email and Username attributes of the
WordPress user.
- When a user performs SSO, the NameID value sent by the IDP will get mapped to the email and
username of the WordPress user.
In the WordPress SAML SSO plugin, go to the Service Provider Setup tab of the plugin. There are two
ways to configure the WordPress SSO plugin:
A. By uploading IDP metadata:
- Click on Upload IDP metadata button.
- Enter the Identity Provider Name
- You can either upload a metadata file and click on Upload button or use a
metadata URL and click on Fetch Metadata.
B.Manual Configuration:
- Provide the required settings (i.e. Identity Provider Name, IDP Entity ID or Issuer, SAML Login
URL, X.509 Certificate) as provided by your Identity Provider and click on the Save
button.
- Click on Test configuration to check the attributes and values sent by IDP.
Step 3: Attribute Mapping
- Attribute Mapping feature allows you to map the user attributes sent by the IDP
during SSO to the user attributes at WordPress.
- In WordPress SAML plugin, go to Attribute/Role Mapping tab and fill up the following
fields in Attribute Mapping section.
NOTE: If you click on Test Configuration button in Service Provider Setup tab and
authenticate with your IDP, you can see a list of attributes sent by the IDP in the
Attribute/Role mapping tab. This information can be used to
provide the above mapping.
In the WordPress SAML SSO plugin, go to the Service Provider Setup tab of the plugin. There are two
ways to configure the WordPress SSO plugin:
A. By uploading IDP metadata:
- Click on Upload IDP metadata button.
- Enter the Identity Provider Name
- You can either upload a metadata file and click on Upload button or use a
metadata URL and click on Fetch Metadata.
- In the Premium plugin, you can enable auto-sync for the metadata URL which
will auto-update the plugin configuration as per the IDP metadata after a set interval of time
B.Manual Configuration:
- Provide the required settings (i.e. Identity Provider Name, IDP Entity ID or Issuer, SAML Login
URL, X.509 Certificate) as provided by your Identity Provider and click on the
Save button.
- Click on Test configuration to check the attributes and values sent by IDP.
-
In the Premium Plugin, you can provide the SAML Logout URL to achieve Single Logout on your
WordPress site.
Step 3: Attribute Mapping
-
Attribute Mapping feature allows you to map the user attributes sent by the IDP
during SSO to the user attributes at WordPress.
-
In WordPress SAML plugin, go to Attribute/Role Mapping tab and fill up the following
fields in Attribute Mapping section.
-
Custom Attribute Mapping: This feature allows you to map any attribute sent by the
IDP to the usermeta table of WordPress.
Step 4: Role Mapping
- In the free plugin, you can choose a Default Role which will be assigned to all the
non-admin users when they perform SSO.
- Go to Attribute/Role mapping tab and navigate to Role Mapping section.
- Select the Default Role and click on the Update button.
Step 4: Role Mapping
In the standard plugin, you can choose a default role which will be assigned to all the non-admin
users when they perform SSO.
- Go to Attribute/Role mapping tab and navigate to Role Mapping section.
- Select the Default Role and click on the Save button.
Step 4: Role Mapping
This feature allows you to assign and manage roles of the users when they perform SSO. Along with
the default WordPress roles, this is compatible with any custom roles as well.
- From the Attribute Mapping section of the plugin, provide a mapping for the field named
Group/Role. This attribute will contain the role related information sent by the IDP and
will be used for Role Mapping.
- Navigate to role mapping section and provide the mappings for the highlighted roles.
-
For example, If you want a user whose Group/Role attribute value is wp-editor to be
assigned as an Editor in WordPress, just provide the mapping as wp-editor in the Editor
field of Role Mapping section.
Step 5: SSO settings
- In the free plugin you can add a Single Sign-On button by enabling Add a Single Sign-On
button on the WordPress Login Page toggle in Option 1.
- If your WordPress theme supports login widget, you can add a login widget to enable SP-Initiated
SSO on your site.
- Navigate to Redirection and SSO links tab and follow the given steps given under Option 2:
Use a Widget to add a login widget on your site.
Step 5: SSO settings
In the Standard plugin you can enable SP-initiated SSO using the following options.
In this Guide, you have successfully configured ADFS SAML Single Sign-On (ADFS SSO Login) choosing ADFS as IdP and WordPress as SP using miniOrange plugin-SAML Single Sign On – SSO Login.This solution ensures that you are ready to
roll out secure access to your WordPress (WP) site using ADFS login credentials within minutes.
Related Articles