nopCommerce SAML Single Sign-On (SSO) with Keycloak as IDP
nopCommerce SAML Single Sign-On (SSO)
plugin gives the ability to enable SAML Single Sign-On for your nopCommerce
applications. Using Single Sign-On you can use only one password to access
your nopCommerce application and services. 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 nopCommerce and Keycloak
considering Keycloak as IdP. To know more about the features we provide for
nopCommerce SSO, click
here.
Pre-requisites : Download And Installation
Download from nopCommerce Dashboard
To download the plugin zip, login as admin into your nopCommerce store. In
the admin dashboard, go to Configuration Tab > All Plugins and
Themes or search for All Plugins and Themes in the Admin search bar.
Search for the SAML Single Sign-On (SSO) - miniOrange plugin and
click the Download button to get the zip.
To install the plugin, login as admin into your nopCommerce website. In the
admin dashboard, go to Configuration Tab >> Local plugins.
On the top right corner of the page select the
Upload plugin or theme button to upload the downloaded plugin zip.
Follow the instructions further to install the plugin.
Steps to configure nopCommerce Single Sign-On (SSO) using Keycloak as Identity
Provider
1. Configure Keycloak as IDP
You need to send your SP metadata to identity provider, Keycloak. For SP
metadata, use the SP metadata URL or download the SP metadata as a .xml file
and upload it at your IdP end. You can find both these options under the
Service Provider Metadata tab.
Alternatively, you can manually add the SP Entity ID and ACS URL from
Service Provider metadata tab in the plugin to your IdP
configurations.
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 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
Valid Redirect URIs
The
ACS (Assertion Consumer Service) URLfrom the
plugin's Service Provider Metadata tab
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
Click on Save.
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 nopCommerce application.
2. Configure nopCommerce as SP (SSO Plugin)
Note: After installation of the plugin, we need to setup the trust
between your nopCommerce application and your Keycloak account. SAML metadata
is shared with Keycloak so they can update their inbuilt configuration to
support Single Sign-On.
2.1: Share SP SAML metadata with Keycloak
Click on Add New IDP to configure nopCommerce Single Sign-On (SSO)
using Keycloak as IDP.
Under Service Provider Metadata tab, you can either copy-paste the
metadata URL on your IDP side or download the SP metadata as
an XML file. Additionally, you have the choice to manually copy and paste
Base URL, SP Entity ID, and ACS URL.
Share SAML metadata with Keycloak.
2.2: Import Keycloak SAML metadata
Under Identity Provider Settings tab, select Keycloak as your
preferred identity provider.
There are two methods for configuring nopCommerce as service provider:
To upload IDP's metadata, you can either provide the
metadata URL or upload XML file.
Alternatively, under the Identity Provider Settings tab, you can
manually fill in the mandatory fields like IDP Name,
IDP Entity ID and Single Sign-On URL and hit Save.
3. Testing SAML SSO
Before testing, please ensure the following:
The nopCommerce (SP) SAML metadata has been exported to Keycloak (IDP).
Importing the Keycloak (IDP) SAML metadata in nopCommerce (SP).
Hover on Select Action and click on the
Test Configuration button to verify if you have configured the plugin
correctly.
Click the Test Configuration button to verify if you have configured
the plugin correctly.
On successful configuration, you will get Attribute Name and Attribute
Values in Test Configuration window.
4. Attribute Mapping
After successful test configuration, click on
Edit Configuration and navigate to Attribute Mapping section.
On the right side, you can see the IDP response table, map attribute names
provided by your IDP with your store attributes, under
Attribute/Role Mapping tab.
Click on Save button.
5. Enabling SSO in your nopCommerce store
Enable SSO for your nopCommerce store by dragging the slider as shown below.
Under the Redirection & SSO link tab, use the URL labeled as
Your Store SSO Link in your store to initiate the SSO.
Not able to find your identity provider? Mail us on
nopcommercesupport@xecurify.com
and we'll help you set up SSO with your IDP and for quick guidance (via
email/meeting) on your requirement and our team will help you to select the
best suitable solution/plan as per your requirement.
×
Hello there!
Need Help? We are right here!
Contact miniOrange Support
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