SSO between two WordPress sites | Single Sign On for Multiple WordPress sites
Overview
Guide to set up Single Sign On between two WordPress sites. To configure SSO between two WordPress sites, we’ll first assume one WordPress site as the main source of user authentication (Identity Provider), and the rest of the sites as the Service Providers(SP) into which users log in after successful authentication. In such a setting, SSO between two WP sites can be set up by using WordPress SAML Service Provider and WordPress SAML Identity Provider plugins.
Our WordPress SAML SP Single Sign On (SSO) plugin gives you the ability to use your WordPress (WP) site as SAML SP (Service Provider) and you can configure other WordPress (WP) sites as an SAML IDP (Identity Provider) with Login Using WordPress users (WP as SAML IDP) plugin.
IDP Initiated SSO: When a user initiates SSO from the Identity
Provider (WP Site A) to access the Service Provider (WP Site B), they won't need to re-enter their
credentials. Instead, they'll log into the Service Provider (WP Site B) using their Identity Provider
(WP Site A) credentials thus successlly achieving IDP Initiated SSO.
SP Initiated SSO: When a user tries to access the Service Provider
(WP Site B) while not logged in, they will be sent to the Identity Provider's (WP Site A) login page
commencing SP Initiated SSO. After successfully authenticating on the Identity Provider, the user
will be returned and logged into the Service Provider (WP Site B).
Note: If you have an external Identity Provider and multiple WP sites which need to share credentials, you can configure all your WordPress sites as the Service Providers using our plugin. We also provide a solution for SSO between subsites of a Multisite network. Please Contact Us for more information.
Pre-requisites : Download And Installation
In this setup, WP Site A serves as the repository for storing users i.e. it will act as the IDP where
the Login Using WordPress Users Plugin will be installed.
While WP Site B is where users will log in using their credentials from Site A where WordPress SAML SSO Plugin will be installed.
Note: To set up SSO for multiple WP sites Metadata from both sites i.e. WP Site A (IDP) and WP
Site B (SP) is required which can be found in the plugins installed on the respective sites.
To setup Single Sign-On between 2 WordPress sites, you can also follow this step by step Setup Video.
Configuration Steps
Let’s assume WP site A is our main source of authentication where the users are stored. So this WP site will
be configured as the IDP where the SAML IDP plugin will be installed. Subsequently, WP Site B will be
configured as the SP in which users can seamlessly SSO login using WP Site A, thus successfully setting up
SSO for two or multiple WP sites.
In the miniOrange SAML SP SSO plugin, navigate to the 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.
Checked if you want to encrypt the SAML Assertion\
Click on the Save button to save your configurations.
Attribute Mapping (optional) :
Go to the Attribute/Role mapping tab and navigate to the Attribute
mapping section.
When the user performs SSO, the NameID value is sent to the Service Provider.
This value is unique for every user.
Click on the Save button to save your configuration.
User Attributes (optional) :
Go to the Attribute/Role mapping tab and navigate to User
Attributes.
These are user attributes that can be sent to Service Provider (such as
first_name and last_name).
You can add multiple attributes by click on "+" button.
Click on the Save button to save your configurations.
Custom Attributes (optional) :
Go to the Attribute/Role mapping tab and navigate to Custom
Attributes.
These are extra static attributes that can be sent to Service Provider.
You can add multiple attributes by click on "+" button.
Click on the Save button to save your configurations.
Role Mapping (optional) :
Go to the Attribute/Role mapping tab and navigate to Role Mapping
section.
User groups are the collection of users having similar access roles and capabilities.
To map the Roles in WordPress as user group, please enable this option.
You can specify the attribute under which the groups will be passed to the Service Provider.
Click on the Save button to save your configurations.
Go to the IDP Metadata tab. Here you can find information for configuring the
Service Provider.
You can also download the metadata XML file, by clicking on the download link.
You have successfully configured WordPress site A as IDP.
Note: If you intend to set up Attribute Mapping, Role Mapping, and other configurations on the
Identity Provider's end, you can find detailed instructions in the provided setup guide.
Step 2: Configure WordPress Site B as SP (Service Provider)
Free
Standard
Premium
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.
Auto-Redirection from site: If this option is enabled, any unauthenticated user trying to
access your site will get redirected to the IDP login page and after successful authentication,
they will be redirected back to the same page
on your site which they were trying to access.
Steps:
Go to Redirection and SSO Links tab of the plugin and navigate to Option 1: Auto -
Redirection from site.
Enable Redirect to IDP if user not logged in [PROTECT COMPLETE SITE]option.
Auto-Redirection from WordPress Login: If this option is enabled, any unauthenticated
user trying to access the default WordPress login page will get redirected to the IDP login page
for authentication. After successful authentication,
they will be redirected back to the WordPress site.
Steps:
Go to Redirection and SSO Links tab of the plugin and navigate to Option 2: Auto-
Redirection from WordPress Login.
Enable Redirect to IDP from WordPress Login Page option.
NOTE: Please enable the Backdoor login and note down the backdoor URL. This
will allow you to access the WordPress login page in case you get locked out of the IDP.
SSO Links: You can add SSO links anywhere on your site using the Shortcode and Widget
provided in Redirection and SSO Links tab > Option 3: SSO Links section of the plugin
Step 5: SSO Settings
In the Premium plugin you can enable SP-initiated SSO using the following options.
Auto-Redirection from site: If this option is enabled, any unauthenticated user trying to
access your site will get redirected to the IDP login page and after successful authentication
they will be redirected back to the same page on
your site which they were trying to access.
Steps:
Go to Redirection and SSO Links tab of the plugin and navigate to Option 1 :
Auto-Redirection from site.
Enable Redirect to IDP if user not logged in [PROTECT COMPLETE SITE] option.
Auto-Redirection from WordPress Login: If this option is enabled, any unauthenticated
user trying to access the default WordPress login page will get redirected to the IDP login page
for authentication. After successful authentication,
they will be redirected back to the WordPress site.
Steps:
Go to Redirection and SSO Links tab of the plugin and navigate to Option 2:
Auto-Redirection from WordPress Login.
Enable Redirect to IDP from WordPress Login Page option.
NOTE: Please enable the Backdoor login and note down the backdoor URL. This
will allow you to access the WordPress login page in case you get locked out of the IDP
login.
Login Button: You can add a customized login button anywhere on your site or WordPress
login page by navigating to Option 3: Login Button section of Redirection and SSO Links
tab.
SSO Links: You can add SSO links anywhere on your site using the Shortcode and Widget
provided in Option 4: SSO Links section of Redirection and SSO Links tab.