Search Results :

×

Magento Keycloak SAML SSO (Single Sign-On) | Magento Keycloak SSO | Login using Keycloak in Magento

Magento Keycloak Single Sign-On (SSO) login for Magento [Magento Keycloak SSO] can be achieved by using our Magento SAML SP Single Sign-On (SSO) extension. Our SSO solution will make Magento SAML 2.0 compliant Service Provider establishing trust between the Magento site and Keycloak to securely authenticate and login users to the Magento site using Keycloak. Our Magento Single Sign-On (SSO) solution helps to secure Magento sites behind the SSO login so that users are authenticated using their Keycloak login credentials. Seamless support for advanced SSO features like Attribute / Custom Mapping, Role Mapping etc. Here we will go through a guide to configure SAML Single Sign-On SSO login between Magento site and Keycloak by considering Keycloak as IdP (Identity Provider) and Magento as SP (Service Provider). Our Magento Keycloak SSO extension provides unlimited user authentications from Keycloak. To know more about other features we provide in you Magento Keycloak SAML Single Sign-On (SSO) extension, you can click here.

Installation using Composer:

  • Purchase the miniOrange SAML Single Sign On – SAML SSO Login extension from magento marketplace.
  • Go to My profile -> My Purchases
  • Please ensure you are using correct access keys (My Profile - Access Keys)
  • Paste the access keys in your auth.json file inside your project
  • Use the below command to add the extension to your project.
    "composer require miniorange_inc/saml-sp-single-sign-on"
  • You can see the module name and list of versions in the selector below the extension module name.
  • Run the following commands on command prompt to enable the extension.
  • php bin/magento setup:di:compile
    php bin/magento setup:upgrade

Manual Installation:

  • Download the miniOrange SAML Single Sign On – SAML SSO Login extension zip from here.
  • Unzip all contents of the zip inside the MiniOrange/SP directory.
  • {Root Directory of Magento} app code MiniOrange SP
  • Run the following commands on command prompt to enable the extension
  • php bin/magento setup:di:compile
    php bin/magento setup:upgrade
  • In the miniOrange Magento SSO extension, navigate to the Application tab, select SAML/WS-FED, and click on Keycloak application.
Display on frontend - Magento Customer Attribute Builder
  • Select Click here to get the SAML Metadata to get the SP Entity ID and ACS URL needed for Keycloak IdP Metadata configuration.
Magento SAML SSO - Keycloak as idp(Identity provider) SSO
  • In this tab, copy the SP Entity ID and ACS (AssertionConsumerService) URL from the SP metadata.
ACS (AssertionConsumerService) - Magento Keycloak as idp(Identity provider) SSO

Select the version of Keycloak that you are using

Configure Keycloak as IdP

  • 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.
Magento 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 Magento SSO | Add Client

  • Now click on Save.
  • Configure Keycloak by providing the required details:
Client ID The SP-EntityID / Issuer from the extension's Identity Providers 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 from the extension's Identity Providers tab
Magento Keycloak Single Sign-On | Settings

Magento 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 extension's Identity Providers tab
Logout Service Redirect Binding URL (Optional) The Single Logout URL from the extension's Identity Providers tab
Magento Keycloak Single Sign-On | SAML Endpoint Configuration

  • Click on Save.
  • 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 Magento 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 Magento SSO | Add Client

  • Now click on Save.
  • Configure Keycloak by providing the required details:
Client ID The SP-EntityID / Issuer from the extension's Identity Providers 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 extension's Identity Providers tab
Magento Keycloak Single Sign-On | Keycloak Login - Settings

Keycloak Magento SSO | Keycloak Login - Settings

Magento 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 extension's Identity Providers tab
Logout Service Redirect Binding URL (Optional) The Single Logout URL from the extension's Identity Providers tab
Magento Keycloak Login | Login SAML Endpoint Configuration

  • Click on Save.
  • 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 Magento 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 Magento 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 extension's Identity Providers tab
  • Click on Save button.
Magento 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 Magento SSO | Keycloak Login - Settings tab configuration

  • In the Keys tab, disable the Client signature required toggle.
Keycloak Magento 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 extension's Identity Providers tab
Logout Service Redirect Binding URL (Optional) The Single Logout URL from the extension's Identity Providers tab
Keycloak Magento SSO | Advanced tab configuration

  • Click on Save button.

Add Mappers

  • Navigate to Mappers tab and click on Add Builtin button.
Keycloak Magento SSO | Mappers Tab - Salesforce SSO Login with SAML / Magento SAML upload metadata

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

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

  • In Client scopes tab,click on your application.
Keycloak Magento SSO | click on application

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

  • Select the checkboxes of X500 givenName, X500 surname and X500 email attributes.
Keycloak Magento SSO | select checkboxes

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

  • In the Client scopes tab, click on your application.
Keycloak Magento SSO | Client scopes

  • Click on Add predefined mapper.
Keycloak Magento SSO | Add predefined mapper

  • Select the checkboxes of X500 givenName, X500 surname and X500 email attributes.
Keycloak Magento SSO | Select the checkboxes

  • Click on the Add button.
  • You will see the mappings that are added below.
Keycloak Magento SSO | See the mappings

Download setup file

  • Navigate to Realm Settings, click on SAML 2.0 Identity Provider Metadata mentioned as Endpoints in the General Tab.
Keycloak Magento SSO | configure Settings

  • Note the URL and keep it handy. That will provide you with the Endpoints required to configure the extension.
  • Navigate to Realm Settings, click on SAML 2.0 Identity Provider Metadata mentioned as Endpoints in the General Tab.
Magento Keycloak Login | configure settings

  • Note the URL and keep it handy. That will provide you with the Endpoints required to configure the extension.
  • Navigate to Realm Settings, click on SAML 2.0 Identity Provider Metadata mentioned as Endpoints in the General tab.
Magento Keycloak Login | Realm settings endpoints

  • Note the URL and keep it handy. That will provide you with the Endpoints required to configure the extension.


In the Magento SSO extension, go to the Application tab of the extension. There are two ways to configure the Magento SSO extension:

A. By uploading IDP metadata:

  • Click on Upload IDP metadata button.
  • Enter the App Name
  • You can either upload a metadata file or use a metadata URL and click the Import button.
magento SAML SSO Keycloak| Login-upload metadata

B. Manual Configuration:

  • Copy SAML Entity ID, SAML Login URL and x.509 certificate from Federation Metadata document and paste it in IdP Entity ID or Issuer, Single Sign-on Service URL, x.509 Certificate fields respectively in the plugin.
magento Keycloak SAML SSO | Keycloak as IDP

  • Find your Keycloak application and click Edit in the Actions menu.
Magento 2 SSO  Single Sign-on (SSO)- keycloak identity provider
  • Click on Store Configuration from the left-hand menu.
  • In the Store Configuration, select the website where you want to activate SSO, and check the Enable SSO for this site option.
Magento 2 SSO  Single Sign-on (SSO) | Keycloak Multiple store configure SSO

miniorange img Login Settings

  • Show SSO Button on Login Page: Displays the SSO button on the selected website’s customer login page.
  • Auto-create Users: You have the option to automatically create customer users during the SSO process if they do not already exist. Enabling the corresponding checkbox activates this feature.
  • Auto Redirect Feature: Automatically redirects users to the IDP login page, either from the Magento login page or from any page on the website.
Magento 2 SSO  Single Sign-on (SSO)| Keycloak Login setting
  • Go to customer login page and you will see the SSO button on your frontend. Click on the button and test the SSO.
Magento 2 SSO  Single Sign-on (SSO)| Keycloak Customer and Admin sso
  • You will be sucessfully logged in into Magento.
Magento 2 SSO  Single Sign-on (SSO)|Keycloak Admin SSO
  • Enable SSO for Admins: Displays the SSO button on the Admin login Page.
  • Admin SSO Button Text: Sets the label displayed on the SSO button on the admin login page (e.g., Login via Keycloak).
  • Auto-create Admin Users: Automatically creates admin user in Magento when they log in via SSO for the first time.
  • Auto-Redirect from Admin: Automatically redirects admin users to the IDP login page from the admin login page.
  • Backdoor URL: A backdoor URL allows you to log in to your Admin dashboard using default Admin credentials in case you get locked out.
Magento 2 SSO  Single Sign-on (SSO)| Keycloak Admin SSO
  • Visit your admin login page and you will see the SSO button on your admin page. Click on the button to initate SSO as an admin.
Magento 2 SSO  Single Sign-on (SSO)|Keycloak Login sso
  • After sucessfully logged into magento as admin you will be redirect to magento backend dashboard.
Magento 2 SSO  Single Sign-on (SSO)|Keycloak Identity Provider
  • Enable for Customers: This option allows you to activate Headless SSO for customers.
  • Customer SSO URL: This URL is used to initiate customer SSO from headless applications. Append this SSO URL within your headless application.
    • Example Format:
      https://<your-magento-domain>/mosso/actions/SendSSORequest?relayState={Store_URL}/headless_store_url/{Headless_URL}&app_name=Keycloak
    • {Store_URL}: Enter your Magento store URL.
    • {Headless_URL}: Enter the URL of your headless application where the customer token should be sent.
    • After successful SSO, a customer token is sent to the headless URL.
      For example: {Headless_URL}?customer_token=...
  • Customer Token Expiry: You can set the expiration time (in minutes) for the customer token.
  • Whitelist Frontend URLs: Here, you can add URLs that are allowed to receive the customer token. The customer token will only be sent to the URL(s) that are whitelisted here.
Magento 2 SSO  Single Sign-on (SSO)|Headless Single-Sign-On (sso)
  • Enable for Admins: Similar to customers, this option activates Headless SSO for admins.
  • Admin SSO URL: This URL initiates admin SSO from headless applications.
  • Admin Token Expiry: Set the expiration time (in minutes) for the admin token.
  • Whitelist Frontend URLs: Admin tokens are only sent to the whitelisted URLs here. You must ensure that any URL receiving an admin token is listed.
Magento 2 SSO  Single Sign-on (SSO)| Headless Keycloak Identity Provider(IDP)

miniorange img Customer Attribute Mapping

  • Go to the Attribute Mapping section to configure Customer Attribute Mapping.
  • Enable Customer Attribute Mapping and select the Update Customer Attributes checkbox.
Magento SSO -  Single Sign-On(SSO) Login in Magento - attribute mapping
  • You will see fields like UserName, Email, First Name, and Last Name under Admin Attributes Mapping.
  • Map these fields by selecting the appropriate options from the dropdown.
  • If you need to add more attributes, click the + Add Customer Attributes button and select the appropriate attribute from the dropdown.
Magento SSO -  Single Sign-On(SSO) Login in Magento - attribute mapping

    Username: Name of the username attribute from IdP (Keep NameID by default)
    Email: Name of the email attribute from IdP (Keep NameID by default)
    Group/Role: Name of the Role attribute from Identity Provider (IdP)

miniorange img Customer Address Mapping

  • In the Customer Attribute section, enable Address Attribute Mapping and select the checkbox to update Customer Address attributes.
Magento SSO -  Single Sign-On(SSO) Login in Magento - attribute mapping
  • You will see fields such as Street Address, Zip Code, City, State, and others under Customer Address Mapping.
  • Map these fields by selecting the appropriate options from the dropdown.
  • If you need to add additional attributes, click the + Add Address Attributes button and choose the appropriate attribute from the dropdown.
Magento SSO - Keycloak Single Sign-On(SSO) Login in Magento

miniorange img Admin Attribute Mapping

  • In the Admin Attribute Mapping section, enable Admin Attribute Mapping and select the checkbox to update Admin attribute.
Magento SSO - Keycloak Single Sign-On(SSO) Login in Magento - attribute mapping
  • You will see fields like Email, First Name, and Last Name under Admin Attributes Mapping.
  • Map these fields by selecting the appropriate options from the dropdown.
  • If you need to add more attributes, click the + Add Admin Attributes button and select the appropriate attribute from the dropdown.
Magento SSO - keycloak Single Sign-On(SSO) Admin Attribute
  • Magento uses a concept of Roles, designed to give the site owner the ability to control what users can and cannot do within the site. Role mapping helps you to assign specific roles to users of a certain group in your Identity Provider.
  • Select the attribute from your identity provider that contains GROUP/ROLE information for both admin and customer users from the dropdown.
Magento SAML Client Single-Sign-On (SSO) | Admin Attribute Mapping | Keycloak as SAML Identity Provider

miniorange img Customer Group Mapping

  • In the Customer Group Mapping settings, the store admin can define which Magento customer group should be assigned based on the group information received from the Identity Provider (IdP) during Single Sign-On (SSO).
  • Enable the “Update frontend group on SSO” checkbox if you want Magento to update customer group each time a user logs in via SSO.
  • Use the Default Group dropdown to select the Magento Groups that should be assigned to a user when no group information is returned by the Identity Provider or when the received group does not match any configured mapping.
Magento SAML Single-Sign-On (SSO) | Keycloak Identity Provider
  • Enter the Identity Provider group values against the corresponding Magento customer groups as required.
  • Users belonging to a specific group in the Identity Provider will be automatically assigned the mapped Magento group during SSO.
  • Example: If the group value from the Identity Provider is mapped to the General group in Magento, any user with that group in the IdP will be assigned the General customer group upon SSO.
Magento SAML Single-Sign-On (SSO) | Keycloak Identity Provider

miniorange img Admin Role Mapping

  • Enable the “Update Backend roles on SSO” checkbox if you want Magento to update Admin roles each time a user logs in via SSO.
  • Use the Default Role dropdown to select the Magento role that should be assigned to a user when no role/group information is returned by the Identity Provider or when the received role/group does not match any configured mapping.
Magento SAML Single-Sign-On (SSO) | Role mapping and group mapping SSO
  • Enter the Identity Provider group values against the corresponding Magento Admin roles as required.
  • Users belonging to a specific group in the Identity Provider will be automatically assigned the mapped Magento group during SSO.
  • Example: If the group value from the Identity Provider is mapped to the General group in Magento, any user with that group in the IdP will be assigned the General Admin roles upon SSO.
Magento SAML Single-Sign-On (SSO) | Role mapping and group mapping SSO

Please reach out to us at magentosupport@xecurify.com, and our team will assist you with setting up the Magento SSO Extension. Our team will help you to select the best suitable solution/plan as per your requirement.

ADFS_sso ×
Hello there!

Need Help? We are right here!

support