SAML Single Sign-On into Magento using Shibboleth2 | Shibboleth2 SSO | Login using Shibboleth2

SAML Single Sign-On into Magento using Shibboleth2 | Shibboleth2 SSO | Login using Shibboleth2


Shibboleth-2 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 Shibboleth-2 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 Shibboleth-2 login credentials. Seamless support for advanced SSO features like Attribute / Custom Mapping, Role Mapping etc.

SAML allows information to be exchanged between Service Providers and Identity Providers; SAML is the integration of Service Providers and Identity Providers. When a user attempts to log in, your Service provider delivers SAML assertions to Identity Provider, which contain information about the user. The assertion is received by Identity Provider, which validates it against your Service Provider settings before allowing 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 Shibboleth-2 by considering Shibboleth-2 as IdP (Identity Provider) and Magento as SP (Service Provider). Our SSO plugin provides Unlimited user authentications from Shibboleth-2. 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

Installation using Composer:
  • Purchase the miniOrange SAML Single Sign On – SAML SSO Login 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 {module_name}:{version}"
  • 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 SAML Single Sign On – SAML SSO Login extension.
  • Unzip all contents of the zip inside the MiniOrange/SP directory.
  • {Root Directory of Magento} app code MiniOrange SP
  • Run the following commands on command prompt to enable the extension
  • php bin/magento setup:di:compile
    php bin/magento setup:upgrade

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.5

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

1. Setup Shibboleth-2 as IdP (Identity Provider)

Follow the steps below to configure Shibboleth-2 as IdP for Magento

miniorange img Configure Shibboleth-2 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 Shibboleth-2 as the Identity Provider.
  • Configure Shibboleth-2 as IDP - Magento SSO - Shibboleth-2 SSO Login
  • In conf/relying-party.xml, configure Service Provider like this
  •     <MetadataProviderxsi:type="InlineMetadataProvider"
                                xmlns="urn
    :mace:shibboleth:2.0:metadata" id="MyInlineMetadata">
      <EntitiesDescriptorxmlns="urn:oasis:names:tc:SAML:2.0:metadata">
        <md:EntityDescriptorxmlns:md="urn:oasis:names:tc:SAML:2
    .0:metadata" entityID="<ENTITY_ID_FROM_PLUGIN>">
          <md:SPSSODescriptorAuthnRequestsSigned="false"
    WantAssertionsSigned="true" protocolSupportEnumeration=
              "urn:oasis:names:tc:SAML:2.0:protocol">
            < urn:oasis:names:tc:SAML:1
    .1:nameidformat:emailAddress</md:NameIDFormat>
            <md:AssertionConsumerService Binding="urn
    :oasis:names:tc:SAML:2.0:bindings:https-POST"
              Location="<ACS_URL_FROM_PLUGIN>" index="1"/>
          </md:SPSSODescriptor>
        </md:EntityDescriptor>
      </EntitiesDescriptor>
    </MetadataProvider>
  • Make sure your Shibboleth server is sending Email Address of the user in Name ID. In attribute-resolver.xml, get the email attribute as Name ID:
  •    <resolver:AttributeDefinitionxsi:type="ad:Si
    mple" id="email" sourceAttributeID="mail">
       <resolver:Dependency ref="ldapConnector" />
       <resolver:AttributeEncoderxsi:type="enc:SAML2
    StringNameID" nameFormat="urn:oasis:names:tc:SAML:1.1:
        nameid-format:emailAddress"/>
    </resolver:AttributeDefinition>
  • In attribute-filter.xml, release the email attribute:
  •      <afp:AttributeFilterPolicy id="releaseTransientIdToAnyone"> 
    <afp:PolicyRequirementRulexsi:type="basic:ANY"/>
      <afp:AttributeRuleattributeID="email">
        <afp:PermitValueRulexsi:type="basic:ANY"/>
      </afp:AttributeRule>
    </afp:AttributeFilterPolicy>
  • Restart the Shibboleth Server.

You have successfully configured Shibboleth-2 as SAML IdP (Identity Provider) for achieving Shibboleth-2 Single Sign-On (SSO) Login, ensuring secure Shibboleth-2 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 https://<your_domain>/idp/shibboleth
    Single Sign-On Service URL https://<your_domain>/idp/profile/SAML2/Redirect/SSO
    X.509 Certificate The public key certificate of your Shibboleth server
  • Click on Save button to save all your settings.
  • Shibboleth-2 Magento SSO - Shibboleth-2 Single Sign-On(SSO) Login in Magento - federation metadata
  • To check if your Magento as SP is configured correctly, click the Test Configuration button.
  • Shibboleth-2 Magento SSO - Shibboleth-2 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.
  • Shibboleth-2 Magento SSO - Shibboleth-2 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.
  • Shibboleth-2 Magento SSO - Shibboleth-2 Single Sign-On(SSO) Login in Magento - role mapping

In this Guide, you have successfully configured Shibboleth-2 SAML Single Sign-On (Shibboleth-2 SSO Login) choosing Shibboleth-2 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 Shibboleth-2 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