Search Results :

×

WordPress Keycloak Single Sign On with Keycloak as IDP | WordPress Keycloak Login


Configure secured WordPress Keycloak Single Sign On (SSO) login using our WordPress(WP) SAML Single Sign-On(SSO) plugin. The WP SAML SSO plugin leverages the SAML 2.0 protocol to allow users to use their Keycloak credentials for a seamless WordPress Keycloak Login via SSO. Facilitating WordPress Keycloak SSO enables users to authenticate against their Keycloak credentials and securely access your WordPress site.

This step-by-step setup guide will help you configure Keycloak as Identity Provider (IDP) and WordPress as Service Provider (SP) to achieve WordPress Keycloak SSO. You can visit our WordPress SSO plugin to know more about the other features we provide.

Pre-requisites : Download And Installation

Steps to configure WordPress Keycloak Login using Keycloak as IDP

Select Keycloak version:

1. Setup Keycloak as IdP (Identity Provider)

Follow the following steps to configure Keycloak as IdP to achieve WordPress Keycloak SSO

WordPress Keycloak Single Sign-On | miniorange img Configure Keycloak as IdP
  • In the miniOrange WordPress SAML SP SSO plugin, navigate to SP (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 keycloak as IdP (Identity Provider).
  • WordPress Keycloak Login | Wordpress Saml Upload Metadata
  • In your Keycloak Admin console, select the realm that you want to use.
  • Click on Clients from the left menu and then click on Create button to create a new client/application.
  • WordPress Keycloak Single Sign-On | Creating an APP
  • Enter SP-EntityID / Issuer as the Client ID from the "Service Provider Metadata" Tab and select SAML as the Client Protocol.
  • Keycloak WordPress SSO | Add Client
  • Now click on Save.
  • Configure Keycloak by providing the required details:
  • Client ID The SP-EntityID / Issuer from the plugin's Service Provider Metadata tab
    Name Provide a name for this client
    Description Provide a description
    Client Signature Required OFF
    Force POST Binding OFF
    Force Name ID Format OFF
    Name ID Format Email
    Root URL Leave empty or Provide Base URL from Service Provider Metadata tab
    Valid Redirect URIs The ACS (Assertion Consumer Service) URL from the plugin's Service Provider Metadata tab
    WordPress Keycloak Single Sign-On | Settings WordPress Keycloak Login | Settings
  • Under Fine Grain SAML Endpoint Configuration, Enter the following details:
  • Assertion Consumer Service POST Binding URL The ACS (Assertion Consumer Service) URL from the plugin's Service Provider Metadata tab
    Logout Service Redirect Binding URL (Optional) The Single Logout URL from the plugin's Service Provider Metadata tab
    WordPress Keycloak Single Sign-On | SAML Endpoint Configuration
  • Click on Save.
  • In the miniOrange WordPress SAML SP SSO plugin, navigate to SP (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 keycloak as IdP (Identity Provider).
  • Keycloak WordPress SSO | Wordpress Saml Upload Metadata
  • In your Keycloak Admin console, select the realm that you want to use.
  • Click on Clients from the left menu and then click on Create Client button to create a new client/application.
  • Keycloak WordPress SSO | Creating an APP
  • Select SAML as Client type, Enter SP-EntityID / Issuer as the Client ID from the "Service Provider Metadata" Tab,Enter Name of your application and enter Description.
  • Keycloak WordPress SSO | Add Client
  • Now click on Save.
  • Configure Keycloak by providing the required details:
  • Client ID The SP-EntityID / Issuer from the plugin's Service Provider Metadata tab
    Name Provide a name for this client
    Description Provide a description
    Client Signature Required OFF
    Force POST Binding OFF
    Force Name ID Format OFF
    Name ID Format Email
    Root URL Leave empty or Provide Base URL from Service Provider Metadata tab
    Valid Redirect URIs The ACS (Assertion Consumer Service) URL from the plugin's Service Provider Metadata tab
    WordPress Keycloak Single Sign-On | Keycloak Login - Settings Keycloak WordPress SSO | Keycloak Login - Settings WordPress Keycloak Single Sign-On | Keycloak Login - Settings
  • Now click on Save.
  • In Advanced tab,under Fine Grain SAML Endpoint Configuration, Enter the following details:
  • Assertion Consumer Service POST Binding URL The ACS (Assertion Consumer Service) URL from the plugin's Service Provider Metadata tab
    Logout Service Redirect Binding URL (Optional) The Single Logout URL from the plugin's Service Provider Metadata tab
    WordPress Keycloak Login | Login SAML Endpoint Configuration
  • Click on Save.
  • In the miniOrange WordPress SAML SP SSO plugin, navigate to SP (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 keycloak as IdP (Identity Provider).
  • Keycloak WordPress SSO | Wordpress Saml Upload Metadata
  • In your Keycloak Admin console, select the realm that you want to use.
  • Click on Clients from the left menu and then click on Create Client button to create a new client/application.
  • Keycloak WordPress SSO | Creating an APP / Client
  • Select SAML as Client type, Enter SP-EntityID / Issuer as the Client ID from the Service Provider Metadata tab, enter Name of your application and enter Description.
  • Keycloak WordPress SSO | Add Client in Keycloak IDP
  • Click on the Next button.
  • Provide the details as mentioned below:
  • Root URL Leave empty or provide Base URL from Service Provider Metadata tab
    Valid Redirect URIs The ACS (Assertion Consumer Service) URL from the plugin's Service Provider Metadata tab
  • Click on Save button.
  • WordPress Keycloak Single Sign-On | Provide details in Keycloak IDP
  • In the Settings tab under SAML capabilities section, configure Keycloak by providing the required details:
  • Force POST Binding OFF
    Force Name ID Format OFF
    Name ID Format Email
    Keycloak WordPress SSO | Keycloak Login - Settings tab configuration
  • In the Keys tab, disable the Client signature required toggle.
  • Keycloak WordPress SSO | Disable Client signature required
  • Click on the Save button.
  • In Advanced tab, under Fine Grain SAML Endpoint Configuration, enter the following details:
  • Assertion Consumer Service POST Binding URL The ACS (Assertion Consumer Service) URL from the plugin's Service Provider Metadata tab
    Logout Service Redirect Binding URL (Optional) The Single Logout URL from the plugin's Service Provider Metadata tab
    Keycloak WordPress SSO | Advanced tab configuration
  • Click on Save button.

miniorange img  Add Mappers

  • Navigate to Mappers tab and click on Add Builtin button.
  • Keycloak WordPress SSO | Mappers Tab
  • Select the checkboxes of X500 givenName, X500 surname and X500 email attributes.
  • WordPress Keycloak Login | Add built-in protocol mapper
  • Click on Add Selected button. You will see the mappings that are added below.
  • WordPress Keycloak Single Sign-On |  Add Selected
  • In Client scopes tab,click on your application.
  • Keycloak WordPress SSO | click on application
  • Click on Add predefined mapper. WordPress Keycloak Single Sign-On | Add predefined mapper
  • Select the checkboxes of X500 givenName, X500 surname and X500 email attributes.
  • Keycloak WordPress SSO | select checkboxes
  • Click on Add button.
  • You will see the mappings that are added below.
  • WordPress Keycloak Single Sign-On | mappings
  • In the Client scopes tab, click on your application.
  • Keycloak WordPress SSO | Client scopes
  • Click on Add predefined mapper.
  • Keycloak WordPress SSO | Add predefined mapper
  • Select the checkboxes of X500 givenName, X500 surname and X500 email attributes.
  • Keycloak WordPress SSO | Select the checkboxes
  • Click on the Add button.
  • You will see the mappings that are added below.
  • Keycloak WordPress SSO | See the mappings

miniorange img Download setup file

  • Navigate to Realm Settings, click on SAML 2.0 Identity Provider Metadata mentioned as Endpoints in the General Tab.
  • Keycloak WordPress SSO | configure Settings
  • Note the URL and keep it handy. That will provide you with the Endpoints required to configure the plugin.
  • You have successfully configured Keycloak as SAML IdP ( Identity Provider) for achieving WordPress Kecloak SSO, ensuring secure Login into WordPress (WP) Site.

  • Navigate to Realm Settings, click on SAML 2.0 Identity Provider Metadata mentioned as Endpoints in the General Tab.
  • WordPress Keycloak Login | configure settings
  • Note the URL and keep it handy. That will provide you with the Endpoints required to configure the plugin.
  • You have successfully configured Keycloak as SAML IdP ( Identity Provider) for achieving Keycloak login / Keycloak SSO / Keycloak Single Sign-On (SSO), ensuring secure Login into WordPress (WP) Site.

  • Navigate to Realm Settings, click on SAML 2.0 Identity Provider Metadata mentioned as Endpoints in the General tab.
  • WordPress Keycloak Login | Realm settings endpoints
  • Note the URL and keep it handy. That will provide you with the Endpoints required to configure the plugin.
  • You have successfully configured Keycloak as SAML IdP ( Identity Provider) for achieving Keycloak login / Keycloak SSO / Keycloak Single Sign-On (SSO), ensuring secure Login into WordPress (WP) Site.

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, which is linked here.


2. Configuring 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.
  • WordPress SAML Single Sign-On (SSO) 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.
  • WordPress SAML Single Sign-On (SSO) 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.
  • WordPress SAML Single Sign-On (SSO) Login-attribute mapping

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.
  • wWordPress SAML Single Sign-On (SSO) Login-role mapping

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.
  • WordPress SAML Single Sign-On (SSO) 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.
  • WordPress SAML Single Sign-On (SSO) Login-sso setting

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.
  • WordPress SAML Single Sign-On (SSO) 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.
  • WordPress SAML Single Sign-On (SSO) Login-attribute mapping

    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.

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.
  • WordPress SAML Single Sign-On (SSO) Login-role mapping

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.
    • WordPress SAML Single Sign-On (SSO) 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.
    • WordPress SAML Single Sign-On (SSO) 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
  • WordPress SAML Single Sign-On (SSO) Login-optin 3

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
  • WordPress SAML Single Sign-On (SSO) Login-enableauto scan

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.
  • WordPress SAML Single Sign-On (SSO) Test configuration
  • 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.
  • WordPress SAML Single Sign-On (SSO) Login-attribute mapping
  • Custom Attribute Mapping: This feature allows you to map any attribute sent by the IDP to the usermeta table of WordPress.
  • WordPress SAML Single Sign-On (SSO) Login-attribute mapping

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.
  • WordPress SAML Single Sign-On (SSO) Login-role mapping
  • 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 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 option.
    • WordPress SAML Single Sign-On (SSO) 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.
    • WordPress SAML Single Sign-On (SSO) 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 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.
  • WordPress SAML Single Sign-On (SSO) Login-optin 3
  • 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.
  • WordPress SAML Single Sign-On (SSO) Login-optin 4

You have successfully configured WordPress (WP) as SAML SP for achieving WordPress Keycloak Single Sign On.

In this Guide, you have successfully configured Keycloak Single Sign-On (Keycloak WordPress SSO / WordPress Keycloak Login), choosing Keycloak as IdP and WordPress as SP. WordPress SAML Single Sign-On – SSO plugin solution ensures that you are ready to roll out secure access/login into WordPress (WP) site using Keycloak login credentials.


Recommended Add-Ons

wp saml sso addons

SCIM User Provisioning

Allows syncing user's creation, updation and deletion from your IDP to WordPress site

Know more →
wp saml sso addons

Page and Post Restriction

Restricts WordPress pages and posts based on User Roles and User's Login Status

Know more →
wp saml sso addons

Learndash Integrator

Maps SSO users to LearnDash groups as per the group attributes sent by your IDP

Know more →


Additional Resources


If you are looking for anything which you cannot find, please drop us an email on samlsupport@xecurify.com

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