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

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


SimpleSAML 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 SimpleSAML 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 SimpleSAML 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 SimpleSAML by considering SimpleSAML as IdP (Identity Provider) and Magento as SP (Service Provider). Our SSO plugin provides Unlimited user authentications from SimpleSAML. 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.4

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

1. Setup SimpleSAML as IdP (Identity Provider)

Follow the steps below to configure SimpleSAML as IdP for Magento

miniorange img Configure SimpleSAML 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 SimpleSAML as the Identity Provider.
  • Configure SimpleSAML as IDP - Magento SSO - SimpleSAML SSO Login
  • In config/config.php, make sure that 'enable.saml20-idp' is true. Example: ‘enable.saml20-idp’ => true
  • In metadata/saml20-idp-hosted.php, configure SimpleSAML as Identity Provider like this:
    $metadata['__DYNAMIC:1__'] = [ 
        'host' => '__DEFAULT__',
        /* X.509 key and certificate. Relative to the cert directory.*/
        'privatekey' => '<YOUR_PRIVATE_KEY_FILE_NAME>',    //eg. RSA_Private_Key.pem
        'certificate' => '<YOUR_PUBLIC_KEY_FILE_NAME>',    //eg. RSA_Public_Key.cer
        /* Authentication source to use. Configured in 'config/authsources.php'. */
        'auth' => '<YOUR_AUTH_SOURCE_NAME>'
    ];
  • In metadata/saml20-sp-remote.php, register your Servider Provider like this:
    /* Replace example.com with your Magento domain name. */
            $metadata['https://example.com/miniorange-saml-20-single-sign-on/'] = [ 
        'AssertionConsumerService' => 'https://example.com/',
        'SingleLogoutService' => 'https://example.com/',
        'NameIDFormat' => 'urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress',
        'SimpleSAML.nameidattribute' => 'mail',
        'SimpleSAML.attributes' => true,
        'attributes' => array('mail', 'givenname', 'sn', 'memberOf'),
    ];
  • Here, you can also add user attributes you want to send from SimpleSAML to your Service Provider i.e Magento.
  • Go to SimpleSAMLphp homepage of installation.
    The URL of an installation can be e.g.: https://service.example.com/SimpleSAML/ where service.example.com has to be replaced by your SimpleSAMLphp path. (Note: The installation page URL may differ depending on how SimpleSAML installation has been done)
  • Now go to Federation tab and click on Show Metadata for SAML 2.0 IdP Metadata.
  • Configure SimpleSAML as IDP Magento SSO - SimpleSAML SSO Login Show Metadata for Magento SAML 2.0
  • You can get the IdP metadata from here which will be required to configure the plugin.

You have successfully configured SimpleSAML as SAML IdP (Identity Provider) for achieving SimpleSAML Single Sign-On (SSO) Login, ensuring secure SimpleSAML 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 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.
  • SimpleSAML Magento SSO - SimpleSAML Single Sign-On(SSO) Login in Magento - federation metadata
  • To check if your Magento as SP is configured correctly, click the Test Configuration button.
  • SimpleSAML Magento SSO - SimpleSAML 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.
  • SimpleSAML Magento SSO - SimpleSAML 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.
  • SimpleSAML Magento SSO - SimpleSAML Single Sign-On(SSO) Login in Magento - role mapping

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