Search Results :

×

Moodle SAML Single Sign-On (SSO) using Keycloak as IdP | Keycloak SSO Login

SAML Single Sign-On (SSO) for your Moodle site can be achieved using our miniOrange SAML SSO plugin. Our plugin is compatible with all the SAML compliant Identity providers. Here we will go through a step-by-step guide to configure Single Sign-On (SSO) between Keycloak as Identity Provider (IdP) and Moodle as Service Provider (SP).

To configure Keycloak as IdP with Moodle, you will need to install the miniOrange Moodle SAML 2.0 SSO plugin

Follow the steps below to configure Keycloak as an Identity Provider:

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).
Moodle 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.

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

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.

  • In the miniOrange WordPress SAML SP SSO plugin, scroll to Service Provider Metadata section. Here, you can find the SP metadata such as SP Entity ID and ACS (AssertionConsumerService) URL which are required to configure the keycloak as 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


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.

Add Mappers

  • 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

Download setup file

  • 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.

In the miniOrange SAML SSO plugin, go to the Plugins tab. There are two ways to configure the plugin:

A. By uploading IDP metadata:

  • Enter the IDP Name.
  • In the Service Provider Setup section choose Metadata URL/XML from Select the Method dropdown.
  • Copy and paste the IdP metadata URL or XML file in IDP Metadata URL/XML input field.
  • Click on the Click here to Test the configuration.
Moodle SAML Upload Metadata

B. Manual Configuration:

  • Provide the required settings (i.e. IDP Name, IDP Entity-ID or Issuer, SAML Login URL, X.509 Certificate) as provided by your Identity Provider.
  • Click on the Click here to Test the configuration.
Moodle SAML Upload Metadata

Step 3: Attribute Mapping

  • When the user performs SSO, the NameID value is sent by the Identity Provider. This value is unique for every user.
  • For the plugin to access these attributes, assign the values for Username and Email as NameID.
Moodle SAML Attribute Mapping

In the miniOrange SAML SSO plugin, scroll down to the Service Provider Setup section of the plugin. There are two ways to configure the plugin:

A. By uploading IDP metadata:

  • Provide any IDP Name. For example, my_IDP.
  • Choose the value of Select the Method as Metadata URL/XML from dropdown.
  • Enter the Metadata URL as
    https://tenant-name.b2clogin.com/tenant-name.onmicrosoft.com/B2C_1A_signup_signin_saml/Samlp/metadata

Note and Contact Us - Azure B2C SAML SSO with WordPress

Note: You will need to replace the tenant-name in above URl with Azure B2C tenant name.


Moodle SAML Upload Metadata

  • Scroll to the bottom and click on Save changes button.

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.
  • Click on the Save changes button to save your configuration.
Moodle SAML Upload Metadata

Basic Attribute Mapping

  • When the user performs SSO, the NameID value is sent by the Identity Provider. This value is unique for every user.
  • For the plugin to access these attribute assign the Email and Username attribute.
  • Addtionally user attributes can be mapped (such as Firstname and Lastname).
  • Click on the Save changes button to save your configuration.
Moodle SAML Attribute Mapping

Custom Attribute Mapping

This feature allows you to map custom attribute sent by the IDP to the Moodle attributes.

  • To create a custom attribute, navigate to Site Administration >> Users >> User Profile Fields in the plugin.
  • Click on Create a new profile field , select the type of attribute from dropdown and enter the values in required fields.
Moodle SAML Create and Map Custom Attribute

  • Assign the desired value to the created custom attribute.
Moodle SAML Custom Attribute Mapping

  • Scroll down and click on the Save changes button to save your configurations.

Step 4: Role Mapping

  • In the free plugin, you can choose a default role that will be assigned to all the non-admin users when they perform SSO.

Note and Contact Us - Azure B2C SAML SSO with WordPress

Note: Roles will be assigned to new users created by SSO. Existing Moodle users’ roles will not be affected.


  • Scroll down to Role Mapping section.
  • Select the Default Role and click on the Save changes button to save your configuration.
Moodle SAML Role Mapping

This feature allows you to assign and manage roles of the users when they perform SSO. Along with the default Moodle roles, this is compatible with any custom roles as well.

  • Group/Role attribute will provide a mapping for the field name which contains role-related information sent by the IDP and will be used for Role Mapping.
  • Scroll to the Role Mapping section and provide the mappings for the respective roles.
  • Select the Default Role from the dropdown if the user role doesn't match with the assigned values.
  • For example, If you have a user whose Group/Role attribute value is idp-teacher and you want to assign it to the teacher group then, just provide idp-teacher in the Teacher: field of Role mapping section.

Note and Contact Us - Azure B2C SAML SSO with WordPress

Note: You can assign multiple values separated with semi-colon(;).


Moodle SAML Role Mapping

  • Click on the Save changes button to save your configurations.

Step 5: SSO Settings

  • In the plugin, you can add a login widget to enable SP-Initiated SSO on your site.
  • Go to the Plugins >> Authentication >> Manage authentication.
  • Click on the to enable the plugin visibility.
  • Click on the to set plugin preference.
wordpress saml role mapping

In the plugin you can add a login widget to enable SP-Initiated SSO on your site.

  • Navigate to Site administrator >> Plugins >> Manage authentication.
  • Click on the to enable the plugin visibility.
  • Click on the to set plugin preference.
Moodle SAML Role Mapping

  • To enable auto-redirect from Moodle login page to WordPress site .
  • Choose Yes value from the dropdown for Enable Auto-redirect to IDP from Moodle login page field.
  • Note down Backdoor URL it will be useful when SSO fails.
  • Click on the Save changes button to save your configuration.
Moodle SAML SSO Settings

You have successfully configured Moodle as SAML SP for achieving Keycloak SSO login into your Moodle Site.


ADFS_sso ×
Hello there!

Need Help? We are right here!

support