Search Results :

×

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

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

Pre-requisites : Download and Installation

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

SSO Single Sign On to Moodle with Azure, Azure B2C, Okta, ADFS, Keycloak, Onelogin, Gsuite, Shibboleth & many SAML IdPs [24/7 SUPPORT]

Tested with 4.3 Download Free Plugin

Steps to configure Keycloak Single Sign-On (SSO) Login into moodle (WP)

1. Setup Keycloak as IdP

1. Setup Keycloak as IdP (Identity Provider)

Follow the following steps to configure Keycloak as IdP

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

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

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.


2. Configure Moodle as SP

We will go through the steps to setup Moodle as a Service Provider. Here, we will be adding the IdP metadata to configure the plugin.


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.
  • wordpress 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.
  • wordpress 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' (without quotes).
  • wordpress saml attribute mapping

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: 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.
  • wordpress saml role mapping

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 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 :You will need to replace the tenant-name in above URl with Azure B2C tenant name)

    wordpress 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.
  • wordpress 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 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.
  • wordpress saml attribute mapping

Step 4: 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.
  • wordpress saml create and map custom attribute
  • Assign the desired value to the created custom attribute.
  • wordpress saml custom attribute mapping
  • Scroll down and click on the Save changes button to save your configurations.

Step 5: 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: You can assign multiple values separated with semi-colon(;).

    wordpress saml role mapping
  • Click on the Save changes button to save your configurations.

Step 6: SSO settings

  • 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.
  • wordpress 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 role mapping

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

Why Our Customers choose miniOrange Moodle Single Sign-On (SSO) Solutions?


24/7 Support

miniOrange provides 24/7 support for all the Secure Identity Solutions. We ensure high quality support to meet your satisfaction.

Sign Up

Affordable Pricing

miniorange provides most affordable Secure Moodle Single Sign-on Solutions.

Reviews

Extensive Setup Guides

Easy and precise step-by-step instructions and videos to help you configure within minutes.

Watch Demo


We offer Secure Identity Solutions for Single Sign-On, Two Factor Authentication, Adaptive MFA, Provisioning, and much more. Please contact us at -

 +1 978 658 9387 (US) | +91 97178 45846 (India)   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