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

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


Keycloak Single Sign-On (SSO) login for Magento [SAML] can be achieved by using our Magento SAML SP Single Sign-On (SSO) plugin. 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. 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.

SAML allows Service Providers and Identity Providers to communicate information; SAML is the integration of Service Providers and Identity Providers. When a user tries to log in, your Service provider sends SAML assertions to the Identity Provider, which contain user information. Identity Provider receives the assertion and checks it against your Service Provider settings before granting the user access to your org.

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 SSO plugin provides Unlimited user authentications from Keycloak. To know more about other features we provide in you Magento SAML Single Sign-On (SSO) plugin, you can click here.

Pre-requisites : Download And Installation

  • Download the miniOrange SAML SP Single Sign-On (SSO)plugin from Magento Marketplace.
  • Go to magento root directory.
  • Create the new directories MiniOrange/SP inside the app/code directory.
  • Run the following commands on command prompt to enable the plugin
  •       1. php bin/magento setup:upgrade
          2. php bin/magento setup:di:compile

Magento Single Sign On SSO login with Azure AD, Azure B2C, ADFS, Okta, Keycloak, Salesforce, Ping, Bitium, Gsuite, Shibboleth & many SAML IdPs [24/7 SUPPORT]

 Tested with 2.4.4

Steps to configure Keycloak SAML Single Sign-On (SSO) Login into Magento SAML SP

  • First of all, Download Keycloak and install it.

  • Start Server: Start the keycloak server by running the _standalone.sh_ file

  • Root Directory of keycloak bin standalone.sh

    1. Setup Keycloak as IdP (Identity Provider)

    Follow the steps below to configure Keycloak as IdP for Magento

    miniorange img Configure Keycloak as IdP
    • In the Magento SAML SP SSO plugin, navigate to Service Provider Metadata tab. In this tab you will find the SP metadata such as SP Entity ID and ACS (AssertionConsumerService) URL which are required to configure Keycloak as the Identity Provider.
    • Configure Keycloak as IDP - Magento SSO - Keycloak SSO Login
    • Select the realm you want to use in the Keycloak Admin console.
    • To create a new client/application, go to the left menu and select Clients, then Create.
    • Creating an APP - Keycloak SAML Single Sign-On(SSO) for Magento - Keycloak Magento SSO Login
    • From the "Service Provider Metadata" Tab, select SP-EntityID / Issuer as the Client ID and SAML as the Client Protocol.
    • Add Client - Keycloak SAML Single Sign-On(SSO) for Magento - Keycloak Magento SSO Login
    • Now click on Save.
    • Configure Keycloak by providing the required details:
    • Client ID The SP-EntityID / Issuer from Service Provider Metadata
      NameProvide a name for this client (Eg. Joomla)
      Description (optional)Provide a description
      EnabledON
      Consent RequiredOFF
      Client ProtocolSAML
      Include AuthnStatementNO
      Sign DocumentsNO
      Optimize Redirect signing key lookupOFF
      Sign AssertionsNO
      Signature AlgorithmRSA_SHA256
      Encrypt AssertionOFF
      Client Signature RequiredOFF
      Client Signature RequiredEXCLUSIVE
      Force Name ID FormatNO
      Name ID FormatEmail
      Root URLLeave empty or Base URL of Service Provider
      Valid Redirect URIsThe ACS (Assertion Consumer Service) URL from Service Provider Metadata
      Keycloak Login - Settings - Keycloak SAML Single Sign-On(SSO) for Magento - Keycloak Magento SSO Login Keycloak Login - Settings - Keycloak SAML Single Sign-On(SSO) for Magento - Keycloak Magento SSO Login
    • 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
      Login SAML Endpoint Configuration - Keycloak SAML Single Sign-On(SSO) for Magento - Keycloak Magento SSO Login
    • Click on Save.

    miniorange img  Add Mappers

    • Go to the Mappers tab and press the Add Builtin button.
    • Keycloak Login - Mappers Tab - Keycloak SAML Single Sign-On(SSO) for Magento - Keycloak Magento SSO Login
    • Enable the checkboxes of X500 givenName, X500 surname and X500 email attributes.
    • Keycloak Login - Add built-in protocol mapper - Keycloak SAML Single Sign-On(SSO) for Magento - Keycloak Magento SSO Login
    • Click on Add Selected button. You will see the mappings that are added below.
    • Keycloak Login - Add Selected - Keycloak SAML Single Sign-On(SSO) for Magento - Keycloak Magento SSO Login

    miniorange img Download setup file

    • Navigate to Realm Settings, click on SAML 2.0 Identity Provider Metadata mentioned as Endpoints in the General Tab.
    • JBoss Keycloak SSO-7 - Keycloak SAML Single Sign-On(SSO) for Magento - Keycloak Magento SSO Login
    • 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 Magento Site.

    2. Configure Magento as SP (Service Provider)

    • Copy SAML Entity ID, SAML Single-Sign-On Endpoint 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.
    • IdP Entity ID or Issuer SAML Entity ID in the Federation Metadata document
      Single Sign-On Service URL SAML Single-Sign-On Endpoint URL in the Federation Metadata document
      X.509 Certificate x.509 Certificate in the Federation Metadata document
    • Click on Save button to save all your settings.
    • Magento Keycloak SSO - Keycloak Single Sign-On(SSO) Login in Magento - Save configuration
    • To check if your Magento as SP is configured correctly, click the Test Configuration button.
    • Keycloak Magento Keycloak SSO - Keycloak Single Sign-On(SSO) Login in Magento - Test configuration

    3: Attribute Mapping (Optional). *This is Premium feature.

    • Attributes are user details that are stored in your Identity Provider.
    • Attribute Mapping helps you to get user attributes from your Identity Provider (IdP) and map them to Magento user attributes like firstname, lastname etc.
    • While auto registering the users in your Magento site these attributes will automatically get mapped to your Magento user details.
    • Only NameID can be mapped to Magento's Email and Username characteristics with the free plugin. Multiple user attributes from the IdP, on the other hand, can be mapped to Magento attributes in the premium version of the plugin. You can map custom attributes that you've added to your IdP in addition to the default attributes.
    • When a user performs SSO, the NameID value sent by the IdP will get mapped to the email and the username of the Magento user.
    • Magento Keycloak SSO - Keycloak 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)
    • You can check the Test Configuration Results under Service Provider Setup tab to get a better idea of which values to map here.

    4: Role Mapping (Optional). *This is Premium feature.

    • You can specify a default role in the free plugin that will be allocated to all non-admin users when they conduct SSO.
    • Go to Attribute/Role mapping tab and navigate to Role Mapping section.
    • Select the Default Role and click on the Save button.
    • Keycloak Magento SSO - Keycloak Single Sign-On(SSO) Login in Magento - role mapping

    In this Guide, you have successfully configured Keycloak SAML Single Sign-On (Keycloak SSO Login) choosing Keycloak as IdP and Magento as SP using Magento SAML Sigle Sign-On (SSO) Login plugin .This solution ensures that you are ready to roll out secure access to your Magento site using Keycloak login credentials within minutes.


    Additional Resources


    If you are looking for anything which you cannot find, please drop us an email on magentosupport@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