Search Results :

×

SAML Single Sign-On (SSO) for WordPress using IdentityServer4 as IDP | IdentityServer4 SSO Login

WordPress SAML Single Sign-On (SSO) plugin to achieve IdentityServer4 SAML SSO for WordPress for secure login into your WordPress using IdentityServer4 as a SAML provider. In this guide, we will go step-by-step to configure IdentityServer4 as IdP (Identity Provider) and WordPress as SP (Service Provider) for SSO login.

You can visit our WordPress SSO plugin to know more about the other features we provide.

To configure IdentityServer4 as SAML IdP with WordPress, you will need to install the miniOrange WP SAML SP SSO plugin.

Follow the following steps to Configure IdentityServer4 as IdP:

Note: To add SAML IDP functionality you would require modifications in the Startup.cs file.

  • In the ConfigureServices method, your call to AddIdentityServer needs to be updated with the following code:
{ services.AddIdentityServer() // the rest of registrations (clients, resources, users, etc) .AddSigningCredential(new X509Certificate2(/*your cert*/)) .AddSamlPlugin(options => { options.Licensee = "/*your license key org name*/"; options.LicenseKey = "/*your license key*/"; }) .AddInMemoryServiceProviders(new List()); }
  • In the configure method, the call to UseIdentityServer needs to be extended with following code:
{ app.UseIdentityServer() .UseIdentityServerSamlPlugin(); }

Configure IdentityServer4 as Service Provider

  • In the Config.cs file create a Client entry.
new Client { ClientId = "http://localhost:5001/saml", ClientName = "RSK SAML2P Test Client", ProtocolType = IdentityServerConstants.ProtocolTypes.Saml2p, AllowedScopes = { "openid", "profile" } }
    ClientId Provide clientId from Service Provider Metadata tab
    ClientName Provide Service Provider name
    ProtocolType IdentityServerConstants.ProtocolTypes.Saml2p
    AllowedScopes openid, profile
  • In the Config.cs configure SAML Specifics using Service Provider object.
new ServiceProvider { EntityId = "http://localhost:5001/saml", SigningCertificates = {new X509Certificate2("TestClient.cer")},/*Enter the certificate name*/ AssertionConsumerServices = { new Service(SamlConstants.BindingTypes.HttpPost, "http://localhost:5001/signin-saml") } };
  • Note: The Client ID and Entity ID must be Equal.
  • You would need the following information from the Service Provider Metadata.
  • Entity-ID Provide Entity-Id from Service Provider Metadata tab
    SigningCertificates Download the Certificate from Service Provider Metadata tab of the plugin and enter Certificate name
    Assertion Consumer Service URL Provide the required Binding type followed by the ACS URL:
    HttpPost method: SamlConstants.BindingTypes.HttpPost
    HttpRedirect method: SamlConstants.BindingTypes.HttpRedirect
    ACS URL: Provide ACS URL from Service Provider Metadata Tab
  • To configure your Service Provider retrieve IDP Metadata by visiting /saml/metadata URL.
  • You will get the endpoints required for the Service Provider configuration.

You have successfully configured IdentityServer4 as SAML IdP ( Identity Provider) for achieving IdentityServer4 SSO login into your WordPress (WP) Site.

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.
Single Sign On between two WordPress sites | Login-upload 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.
Single Sign On between two WordPress sites | Test configuration

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.
Single Sign On between two WordPress sites | Login-attribute 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.

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.
Single Sign On between two WordPress sites | Test configuration

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
Single Sign On between two WordPress sites | Login-enable auto-sync

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.
Test configuration - SSO between two WordPress sites

  • In the Premium Plugin, you can provide the SAML Logout URL to achieve Single Logout on your WordPress site.

  • 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.
Login-attribute mapping - SSO between two WordPress sites

  • Custom Attribute Mapping: This feature allows you to map any attribute sent by the IDP to the usermeta table of WordPress.
Login-attribute mapping - SSO between two WordPress sites

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.
Single Sign On between two WordPress sites | Login-role mapping

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.
Single Sign On between two WordPress sites | Login-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.
Login-role mapping - SSO between two WordPress sites

  • 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.
Single Sign On between two WordPress sites | Login-SSO button

  • 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.
Single Sign On between two WordPress sites | Login-sso setting

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.

    Single Sign On between two WordPress sites | Login-optin 1

  • 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.
    Single Sign On between two WordPress sites | Login-optin 2

    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
  • Single Sign On between two WordPress sites | Login-optin 3

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.
    Login-optin 1 - SSO between two WordPress sites

  • 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.
    Login-optin 2 - SSO between two WordPress sites

    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.
Login-optin 3 - SSO between two WordPress sites

  • 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.
Login-optin 4 - SSO between two WordPress sites

Multi-Factor Authentication (MFA) is an authentication method that requires the user to authenticate themselves for two or more factors, in order to gain access to company resources, applications, or a VPN (OpenVPN in this case). Enabling Multi-Factor Authentication (MFA) means that users need to provide additional verification factors apart from their username and passwords thus increasing the security of the organization's resources. Checkout more about Multi-Factor Authentication (MFA) here.

Multi-Factor Authentication (MFA) is an authentication method that requires the user to authenticate themselves for two or more factors, in order to gain access to company resources, applications, or a VPN (OpenVPN in this case). Enabling Multi-Factor Authentication (MFA) means that users need to provide additional verification factors apart from their username and passwords thus increasing the security of the organization's resources. Checkout more about Multi-Factor Authentication (MFA) here.

Multi-Factor Authentication (MFA) is an authentication method that requires the user to authenticate themselves for two or more factors, in order to gain access to company resources, applications, or a VPN (OpenVPN in this case). Enabling Multi-Factor Authentication (MFA) means that users need to provide additional verification factors apart from their username and passwords thus increasing the security of the organization's resources. Checkout more about Multi-Factor Authentication (MFA) here.

Multi-Factor Authentication (MFA) is an authentication method that requires the user to authenticate themselves for two or more factors, in order to gain access to company resources, applications, or a VPN (OpenVPN in this case). Enabling Multi-Factor Authentication (MFA) means that users need to provide additional verification factors apart from their username and passwords thus increasing the security of the organization's resources. Checkout more about Multi-Factor Authentication (MFA) here.



ADFS_sso ×
Hello there!

Need Help? We are right here!

support
Contact miniOrange Support
success

Thanks for your inquiry.

If you dont hear from us within 24 hours, please feel free to send a follow up email to info@xecurify.com