Search Results :

×

Magento Keycloak OAuth Single Sign-On (SSO) – Login with Keycloak into Magento


Magento Keycloak OAuth / OpenID Connect Single Sign-On (SSO) extension allows the users to log in to the Magento store using the Keycloak Credentials (Keycloak Single Sign on).

Advanced Single Sign-On features such as user profile Attribute Mapping, Role Mapping, and so on are supported in the Magento Keycloak SSO extension. In this guide, we'll go over how to set up SSO between Magento and Keycloak. At the end of this guide, users should be able to log into Magento using Keycloak. Click here to read more about the Magento OAuth Single Sign-On (OAuth & OpenID Connect Client) extension's complete features.

Pre-requisites : Download And Installation

Installation using Composer:
  • Purchase the miniOrange OAuth / OpenID Connect Single Sign On 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/miniorange-oauth-sso"
  • 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 OAuth OpenID Connect Single Sign-On extension zip from here.
  • Unzip all contents of the zip inside the MiniOrange/OAuth directory.
  • {Root Directory of Magento} app code MiniOrange OAuth
  • Run the following commands on command prompt to enable the extension.
  • php bin/magento setup:di:compile
    php bin/magento setup:upgrade

Magento OAuth OpenID Connect SSO extension allows login (Single Sign-On) into Magento with your Azure AD, Azure B2C, AWS Cognito, WSO2, Okta, LinkedIn, Google, Facebook, Slack, Discord or other custom OAuth 2.0 providers [24/7 SUPPORT]

 Tested with 2.4.5

Steps to configure Keycloak OAuth & OpenID Single Sign-On (SSO) Login into Magento


1. Setup Keycloak as OAuth Provider

Follow the steps below to configure Keycloak as OAuth Provider

miniorange img Configure Keycloak as OAuth Provider
  • 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

  • Add Realm: Now login to keycloak administration console and navigate to your desired realm. You can add new realm by selecting Add Realm option in Keycloak.
  • Magento Keycloak SSO OAuth | magento keycloak Magento SSO add realm
  • Create Realm: Enter Realm Name and click on CREATE to add realm in Keycloak.
  • Create Role: The Role will be used by your applications to define which users will be authorized to access the application. Click on the Roles and choose Add Role in Keycloak.
  • Magento Keycloak SSO magento keycloak Add Role
  • Add User: We need to add users to realm who will be able to access the resources of realm. Click on the Users and choose to Add a new User.
  • magento keycloak SSO OAuth openid-connect Magento SSO Add User
  • User Configuration: After user is created following action needs to be performed on it in Keycloak.
    • Setting a password for it so click on Credentials and set a new Password for the user in Keycloak.
    • magento Keycloak SSO OAuth openid-connect Magento SSO Credentials

      NOTE : Disabling Temporary will make user password permanent


  • Map User: We need to map user to a role. Click on Role Mappings and assign the user desired role from available roles and clicking on add selected.
  • Keycloak SSO for Magento OAuth openid-connect Magento SSO Role Mapping
  • Create groups: Click on the Groups and choose New to create a new group.
  • Keycloak SSO OAuth openid-connect  Create Group
  • Assign user to group in Keycloak: Select the user whom you want to add in group. Choose Groups option from tab and then select the group-name and click on Join.
  • Keycloak SSO OAuth openid-connect  Assign User to Group
  • Create OpenID client in Keycloak: Click on the Clients and choose create to create a new client. Enter any random string as Client ID and keep it handy because you will need it in the next step. Select client protocol openeid-connect and select Save.
  • Keycloak SSO OAuth openid-connect | Magento Keycloak SSO
  • Enter Change Access Type in Keycloak: Afterclient is created change it's access type to confidential
  • magento 2 keycloak change Access Type | Magento Keycloak SSO
  • Enter Valid Redirect URLs: Copy callback URL (Enter from miniOrange Magento OAuth Single Sign On (SSO) plugin which you copied in the last step) in the last step and then click on SAVE.
    Ex -- https://oauth/callback
  • Keycloak Group Mapper: Now to get group details we need to perform its client mapping with group membership else group details will not be fetched. So in client select Mappers and then click on create. I n Keycloak select mapper type Group Membership and enter name and token claim-name i.e the attribute name corresponding which groups will be fetched and click on Save magento 2 keycloak SSO OAuth openid-connect Magento SSO

    Note: -- If full path is on group path will be fetched else group name will be fetched.

  • Get Client Secret: Now we need to get client secret. So select Clients and select credentials and copy your secret from here.
  •  SSO redentials Magento SSO magento 2 keycloak | Magento Keycloak SSO

miniorange img Steps to configure Keycloak as OAuth Provider:

  • 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
  • Create Realm: Now login to keycloak administration console and navigate to your desired realm. You can add a new realm by selecting Create Realm option in Keycloak.
  • Keycloak - Login Add Realm magento 2 keycloak
  • Create Realm: Enter Realm Name and click on CREATE to add realm in Keycloak.
  • Keycloak magento SSO - Login create Realm magento 2 keycloak
  • In Keycloak Enter the Client ID and click on the Save button.
  • Keycloak sso for Magento 2 - create client ID keycloak Magento
  • Enable the Client authentication in Keycloak and click on the Save button.
  • Keycloak - client authentication keycloak Magento
  • Paste the copied (in step1) callback url into the Valid Redirect URLs text area in Keycloak and click on the Save button.
  • Keycloak - paste redirect-url Keycloak Login SSO Magento

miniorange img Integrating Magento with Keycloak

  • Copy the Client ID from the Keycloak application, client ID will be your client name.
  • Keycloak SSO Client id Keycloak Login SSO Magento
  • Navigate to the Credentials tab and copy the Client Secret.
  • Keycloak SSO Client secret Keycloak Login SSO Magento
  • In Magento Configure OAuth tab and paste the copied Client ID and Client Secret (copied from the Keycloak Portal) in the Client ID and Client Secret text-field.
  • Keycloak - Client Credentials Keycloak Login SSO Magento
  • Copy the Keycloak Domain and Keycloak realm.
  • Replace the copied Keycloak Domain & Keycloak realm with the {your Domain} and {realm-name} in the Authorize Endpoint, Access Token Endpoint, and Get User Info Endpoint respectively.


2. Configuring Magento 2 as OAuth Client

  • After successfully configuring OAuth Provider, go to OAuth Provider tab and configure OAuth Provider Name, Client ID, Client Secret, Scope and provided endpoints. (You can copy these values in STEP 2 from the application dashboard.)

    Please refer below Endpoints to configure the OAuth client


    Scope: email profile
    Authorize Endpoint: <Keycloak base URL>/realms/{realm-name}/protocol/openid-connect/auth
    Access Token Endpoint: <Keycloak base URL>/realms/{realm-name}/protocol/openid-connect/token
    Get User Info Endpoint: <Keycloak base URL>/realms/{realm-name}/protocol/openid-connect/userinfo
  • Click on the Save button to save the settings.
  • Click on the Test Configuration button.
  • keycloak magento sso | Keycloak SSO OAuth openid-connect Magento SSO
  • You will see all the values returned by your OAuth Provider to Magento in a table. If you don't see value for First Name, Last Name, Email or Username, make the required settings in your OAuth Provider to return this information.

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)
  • keycloak magento sso | Keycloak SSO OAuth openid-connect Magento SSO Admin Customer SSO
  • If you want to initate SSO from any page you can also use the SSO link provided in the extension.
  • keycloak magento sso | Keycloak SSO OAuth openid-connect Magento SSO
  • 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.
  • keycloak magento sso | Keycloak SSO OAuth openid-connect Magento SSO

4. Customer / 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.
  • Magento 2 OAuth SSO customer SSO
  • You will be sucessfully logged in into Magento.
  • magento SSO magento 2 OAuth client SSO Admin SSO

Attribute / Custom Attribute Mapping (Optional). *This is Premium feature.

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

  • You can map attributes in the Attribute Mapping tab. Only username and email are allowed to be mapped in free version of the plugin. However, in the premium version of the plugin, you can map various attributes coming from your OAuth Provider to the attributes present in your Magento site.
  • keycloak magento sso | Keycloak SSO OAuth openid-connect Magento SSO attribute mapping

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.
  • keycloak magento sso | Keycloak SSO OAuth openid-connect Magento SSO - attribute mapping

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 SSO OAuth openid-connect Magento SSO - role mapping

By configuring Keycloak as an OAuth Provider and Magento as an OAuth Client using our Magento OAuth Client plugin, you have successfully installed Magento Keycloak Single Sign-On (SSO). Within minutes, you'll be able to provide safe access to your Magento site utilising Keycloak login credentials thanks to this solution.

Additional Resources


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


24/7 Support

We offer 24/7 support for all Magento solutions. We ensure high quality support to meet your needs.

Sign Up

Customer Reviews

See for yourself what satisfied customers have to say about our reliable Magento 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, Provisioning, and much more. Please contact us at

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

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