Search Results :

×

\n

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 SAML SP SSO for WordPress 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.
Keycloak Single Sign-On for WordPress | 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 Single Sign-On for WordPress | 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 Single Sign-On for WordPress | Settings

Keycloak login for WordPress | 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
Keycloak Single Sign-On for WordPress | SAML Endpoint Configuration

  • Click on Save.

Add Mappers

  • Navigate to Mappers tab and click on Add Builtin button.
Keycloak Single Sign-On for WordPress | Mappers Tab

  • Select the checkboxes of X500 givenName, X500 surname and X500 email attributes.
Keycloak login for WordPress | Add built-in protocol mapper

  • Click on Add Selected button. You will see the mappings that are added below.
Keycloak Single Sign-On for WordPress |  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 Single Sign-On for WordPress | 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 Kecloak SSO for WordPress, ensuring secure Login into WordPress (WP) Site.

  • In the miniOrange SAML SP SSO for WordPress 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 Single Sign-On for WordPress | 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 Single Sign-On for WordPress | 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 Single Sign-On for WordPress | 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 Single Sign-On for WordPress | Keycloak Login - Settings

Keycloak Single Sign-On for WordPress | 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
Keycloak login for WordPress | Login SAML Endpoint Configuration

  • Click on Save.

Add Mappers

  • In Client scopes tab,click on your application.
Keycloak Single Sign-On for WordPress | click on application

  • Click on Add predefined mapper.
Keycloak Single Sign-On for WordPress | Add predefined mapper

  • Select the checkboxes of X500 givenName, X500 surname and X500 email attributes.
Keycloak Single Sign-On for WordPress | select checkboxes

  • Click on Add button.
  • You will see the mappings that are added below.
Keycloak Single Sign-On for WordPress | mappings

Download setup file

  • Navigate to Realm Settings, click on SAML 2.0 Identity Provider Metadata mentioned as Endpoints in the General Tab.
Keycloak login for WordPress | 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