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) 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 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) plugin, you can click here.
Steps to configure Keycloak SAML Single Sign-On (SSO) Login into Magento SAML SP
Select Keycloak version:
1. Setup Keycloak as IdP
(Identity Provider)
Follow the following steps to configure Keycloak as IdP to achieve Magento Keycloak SSO
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.
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.
Enter SP-EntityID / Issuer as the Client ID from the "Service Provider
Metadata" Tab and select SAML as the Client Protocol.
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
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
Click on Save.
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.
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.
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.
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
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
Click on Save.
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.
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.
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.
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 plugin's Service Provider Metadata tab
Click on Save button.
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
In the Keys tab, disable the Client signature required toggle.
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 plugin's Service Provider Metadata tab
Logout Service Redirect Binding URL (Optional)
The Single Logout URL from the plugin's Service Provider Metadata tab
Click on Save button.
Add Mappers
Navigate to Mappers tab and click on Add Builtin button.
Select the checkboxes of X500 givenName, X500 surname and X500 email attributes.
Click on Add Selected button. You will see the mappings that are added below.
In Client scopes tab,click on your application.
Click on Add predefined mapper.
Select the checkboxes of X500 givenName, X500 surname and X500 email attributes.
Click on Add button.
You will see the mappings that are added below.
In the Client scopes tab, click on your application.
Click on Add predefined mapper.
Select the checkboxes of X500 givenName, X500 surname and X500 email attributes.
Click on the Add button.
You will see the mappings that are added below.
Download setup file
Navigate to Realm Settings, click on SAML 2.0 Identity Provider Metadata
mentioned as Endpoints in the General Tab.
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 Magento Keycloak SSO, ensuring secure Login into Magento (WP) Site.
Navigate to Realm Settings, click on SAML 2.0 Identity Provider Metadata
mentioned as Endpoints in the General Tab.
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 2 Site.
Navigate to Realm Settings, click on SAML 2.0 Identity Provider Metadata mentioned as Endpoints in the General tab.
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 2 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.
To check if your Magento as SP is configured correctly, click the Test Configuration button.
3. Sign-In Settings
Navigate to Sign-in Settings tab. Here you find the option the enable the login link on Admin*/Customer Login Page (*Admin SSO is available in the premium versions)
If you want to initate SSO from any page you can also use the SSO link provided in the extension.
The Premium extension also provides you the the feature to auto redirect your user to the IdP Login Page if the user is not already logged in.
4. Customer / Admin SSO
Customer Single Sign-On (Customer SSO)
Admin Single Sign-On (Admin SSO)
Go to customer login page and you will see the SSO button on your frontend. Click on the button and test the SSO.
You will be sucessfully logged in into Magento.
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.
After sucessfully logged into magento as admin you will be redirect to magento backend dashboard.
Attribute Mapping / Custom Attribute Mapping(Optional). *This is Premium feature.
1.1: Attribute Mapping (Optional).
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.
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.
1.2: Custom Attribute Mapping (Optional). *This is Premium feature.
Enter your table name in Table field.
Enter attribute name as your column name (in the respective table)
Click on Add button for adding custom magento attribute and map the respective field with the attribute receiving from your identity provider
Click on save button for saving the configuration.
You can also delete the configuration by entering the name in attribute name field and then click on delete button.
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.
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.