nopCommerce Single Sign-On (SSO)
nopCommerce Single Sign-on (SSO) solution by miniOrange provides secure access to nopCommerce for enterprises and full control over access of nopCommerce application. Single Sign-On (SSO) solution for nopCommerce is a cloud based service. With this service you need only one password credentials for all your web & SaaS apps including nopCommerce using user stored in Active Directory (AD) domain. miniOrange provides secure access and full control to nopCommerce for enterprises and applications. With the help of the given guide you can configure nopCommerce easily.
nopCommerce as Service Provider Use Case:
You can enable the SAML SSO login for your nopCommerce site using nopCommerce SAML Single Sign-On
(SSO) plugin which can be integrated with any SAML 2.0 compliant identity provider. When a user
requests access for a resource, nopCommerce SAML SSO plugin sends a SAML authentication request
to your SAML 2.0 IdP and the user has to login with their identity provider's account. On
successful authentication, the user is provided access to the nopCommerce resources.
Workflow:
- An unknown user tries to access nopCommerce resources.
- nopCommerce SAML Single Sign-On (SSO) plugin creates a SAML authentication Request and sends
it to the configured Identity Provider. The user is prompted to log in with
their Identity Provider account.
- The SAML Identity Provider sends back a SAML Response to the application. This response
contains the user’s information as well as the authentication status,
based on which the user is given access to the resource.
- Upon successful authentication, the user is given access to the site.
nopCommerce and miniOrange Single Sign-On (SSO) integration supports the following features:
- SP Initiated Single Sign-On (SSO)
- IdP Initiated Single Sign-On (SSO)
Connect with External Source of Users
miniOrange provides user authentication from various external sources, which can be Directories (like ADFS, Microsoft Active Directory, OpenLDAP, AWS etc), Identity Providers (like Microsoft Entra ID, Okta, AWS), and many more. You can configure your existing directory/user store or add users in miniOrange.
Prerequisites: Download and install nopCommerce SAML Plugin
A) 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.

B ) From nopCommerce Marketplace
- You can download the plugin zip file from nopCommerce store - SAML Single Sign-On (SSO) - miniOrange - nopCommerce
- 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.
Note: After installing the plugin, we need to establish the trust between your nopCommerce application and your desired identity or partner provider.
SAML metadata is shared with partner providers so they can update their inbuilt configuration to support Single Sign-On.
- Click on Add New IDP button.

- In Service Provider Metadata tab, click on Download button to get the XML metadata file which will be required in above Step 1.

Follow the step-by-step guide given below for configuring the nopCommerce Single Sign-On (SSO)
1. Configure nopCommerce in miniOrange
- Login into miniOrange Admin Console.
- Go to Apps and click on Add Application button.

- In Choose Application, select SAML/WS-FED from the application type dropdown.

- Search for nopCommerce in the list, if you don't find nopCommerce in the list then, search for custom and you can set up your application in Custom SAML App.

2. Configure Single Sign-On (SSO) in nopCommerce
- Go back to the nopCommerce admin account and click on Identity Provider Settings tab.
- In Choose your Identity Provider, search for miniOrange in the list, if you don't find miniOrange in the list then, search for custom and you can set up your application via Custom IDP.

- Click on Upload IdP Metadata button.

- Enter the IdP Name as miniOrange.
- Click on Choose File to upload the downloaded xml metadata file, which you will get from the previous steps.

- Click on Upload Metadata button to fetch all the details.
- To enable SSO for your nopCommerce store, drag the slider as shown below.

- In List of IDPs, click on the Select Action in actions menu against nopCommerce Sign. Click the Test Configuration button.


- Click on Done.
3. Enable SSO in your nopCommerce store
- To Enable SSO for your nopCommerce store, drag the slider as shown below.

- Go to Redirection & SSO link tab, use the URL labeled as Your Store SSO Link in your store to initiate the SSO.

4. Test SSO Configuration
Test SSO login to your nopCommerce account with miniOrange IdP:
5. Configure Your User Directory (Optional)
miniOrange provides user authentication from various external sources, which can be Directories (like ADFS, Microsoft Active Directory, Microsoft Entra ID, OpenLDAP, Google, AWS Cognito etc), Identity Providers (like Okta, Shibboleth, Ping, OneLogin, KeyCloak), Databases (like MySQL, Maria DB, PostgreSQL) and many more. You can configure your existing directory/user store or add users in miniOrange.
- Click on Identity Providers >> Add Identity Provider in the left menu of the dashboard

- In Choose Identity Provider, select AD/LDAP Directories from the dropdown.

- Then search for AD/LDAP and click it.

- STORE LDAP CONFIGURATION IN MINIORANGE: Choose this option if you want to keep your configuration in miniOrange. If the active directory is behind a firewall, you will need to open the firewall to allow incoming requests to your AD.
- STORE LDAP CONFIGURATION ON PREMISE: Choose this option if you want to keep your configuration in your premise and only allow access to AD inside premises. You will have to download and install miniOrange gateway on your premise.

- Enter AD/LDAP Display Name and Identifier name.
- Select Directory Type as Active Directory.
- Enter the LDAP Server URL or IP Address against the LDAP Server URL field.
- Click on the Test Connection button to verify if you have made a successful connection with your LDAP server.

- In Active Directory, go to the properties of user containers/OU's and search for the Distinguished Name attribute. The bind account should have minimum required read privileges in Active Directory to allow directory lookups. If the use case involves provisioning (such as creating, updating, or deleting users or groups), the account must also be granted appropriate write permissions.

- Enter the valid Bind account Password.
- Click on the Test Bind Account Credentials button to verify your LDAP Bind credentials for LDAP connection.

- Search Base is the location in the directory where the search for a user begins. You will get this from the same place you got your Distinguished name.

- Select a suitable Search filter from the drop-down menu. If you use User in Single Group Filter or User in Multiple Group Filter, replace the <group-dn> in the search filter with the distinguished name of the group in which your users are present. To use custom Search Filter select "Write your Custom Filter" option and customize it accordingly.

- Click on the Next button, or go to the Login Options tab.
- You can also configure following options while setting up AD. Enable Activate LDAP in order to authenticate users from AD/LDAP. Click on the Next button to add user store.

Here's the list of the attributes and what it does when we enable it. You can enable/disable accordingly.
| Attribute |
Description |
| Activate LDAP |
All user authentications will be done with LDAP credentials if you Activate it |
| Fallback Authentication |
If LDAP credentials fail then user will be authenticated through miniOrange |
| Enable administrator login |
On enabling this, your miniOrange Administrator login authenticates using your LDAP server |
| Show IdP to users |
If you enable this option, this IdP will be visible to users |
| Sync users in miniOrange |
Users will be created in miniOrange after authentication with LDAP |
- Click on the Next button, or go to the Attributes tab.
Attributes Mapping from AD
User Import and Provisioning from AD
- If you want to set up provisioning, click here for detailed information. We will skip this step for now.

Test Connections
- You will see a list of directories under Identity Providers. From the dropdown, select AD/LDAP Directories, search for your configured directory, click the three dots next to it, and select Test Connection.

- A pop-up appears prompting you to enter a username and password to verify your LDAP configuration.

- On Successful connection with LDAP Server, a success message is shown.

Test Attribute Mapping
- You will see a list of directories under Identity Providers. From the dropdown, select AD/LDAP Directories, search for your configured directory, click the three dots next to it, and select Test Attribute Mapping.

- A pop‑up appears to enter a username and click Test.

- The Test Attribute Mapping Result will be displayed.

Set up AD as External Directory configuration is complete.
Note: Refer our guide to setup LDAP on windows server.
miniOrange integrates with various external user sources such as directories, identity providers, and etc.
6. Adaptive Authentication with nopCommerce
A. Restricting access to nopCommerce with IP Configuration
You can use adaptive authentication with nopCommerce Single Sign-On (SSO) to improve the security and functionality of Single Sign-On. You can allow a IP Address in certain range for SSO or you can deny it based your requirements and you can also challenge the user to verify his authenticity. Adaptive authentication manages the user authentication bases on different factors such as Device ID, Location, Time of Access, IP Address and many more.
You can configure Adaptive Authentication with IP Blocking in following way :
- Login to Self Service Console >> Adaptive Authentication >> Add Policy.

- Add a Policy Name for your Adative Authentication Policy.
- Select Action for Behavior Change, click the Edit link, and then choose the appropriate Action and Challenge Type for the user from that section.

Action for behavior Change Options :
| Attribute |
Description |
| Allow |
Allow users to authenticate and use services if Adaptive authentication condition is true. |
| Challenge |
Deny user authentications and access to services if Adaptive authentication condition is true. |
| Deny |
Challenge users with one of the three methods mentioned below for verifying user authenticity. |
Challenge Type Options :
| Attribute |
Description |
| User second Factor |
The User needs to authenticate using the second factor he has opted or assigned for such as
- OTP over SMS
- PUSH Notification
- OTP over Email and, many more.
|
| KBA (Knowledge-based authentication) |
The System will ask the user for 2 of 3 questions he has configured in his Self-Service Console. Only after the right answer to both questions is the user allowed to proceed further. |
| OTP over Alternate Email |
User will receive an OTP on the alternate email they have configured through the Self Service Console. Once the user provides the correct OTP, they are allowed to proceed further. |
- Now click Edit option from the IP Configuration section to configure custom IP range.
- Select Add IP if the User's IP Address is not in the configured list.
- Specify the IP Address that you want to whitelist. For the IP Range other than the whitelisted one, you can select the above setting to reflect.
- Choose either allow or deny by selecting the corresponding option from the dropdown.
- If a user tries to login with the whitelisted IP address, they will always be allowed access.
- We support IP address range in three formats i.e., IPv4, IPv4 CIDR, and IPv6 CIDR. You can choose whichever is suitable for you from the dropdown menu.
- You can add multiple IPs or IP ranges by clicking the + Add IP button.

- Once the changes are made, scroll down to the end and click on Save.
B. Adaptive Authentication with Limiting number of devices
Using Adaptive Authentication you can also restrict the number of devices the end user can access the Services on. You can allow end users to access services on a fixed no. of devices. The end users will be able to access services provided by us on this fixed no. of devices.
You can configure Adaptive Authentication with Device Restriction in following way
- Login to Self Service Console >> Adaptive Authentication >> Add Policy.
- Add a Policy Name for your Adaptive Authentication Policy.
- Select your Action for behavior Change and Challenge Type for user from the Action for behavior Change Section.

- On the Add Policy tab, go to the Device Configuration section and click the Edit button.
- Enter the Number of Device Registrations Allowed as per your requirement. (2-3 devices are recommended.)
- Choose Action if number of devices exceeded (This will override your setting for Action for behavior Change.)
- Challenge: The user needs to verify himself using any of the three methods mentioned in table in step 5.1
- Deny : Deny users access to the system
- Enable Mobile Device Restriction to block logins from mobile devices. This ensures all login attempts from mobile devices will be declined.
- Enable MAC Address Based Restriction if you want to restrict access based on device MAC address.

- Scroll down to the bottom of the page and click on Save.
C. Add Adaptive Authentication policy to nopCommerce
- Login to Self Service Console >> Policies >> Add Login Policy.
- Click on Edit icon option for predefined app policy.

- Set your policy in the Policy Name and select Password as First Factor.
- Enable Adaptive Authentication on Edit Login Policy page and select the required restriction method as an option.
- From Select Login Policy dropdown select the policy we created in last step and click on Submit.


D. Notification and Alert Message.
How to add a trusted Device
- When End-user log in to the self service console after the policy for device restriction is on, he is provided the option to add the current device as a trusted device.
External References