Search Results :

×

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.

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 miniorange_inc/saml-sp-single-sign-on"
  • 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 zip from here.
  • 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

Follow the steps below to configure SimpleSAML as IdP for Magento

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

  • 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.
Azure AD Magento SSO - Azure Single Sign-On(SSO) Login in Magento - federation metadata

  • To check if your Magento as SP is configured correctly, click the Test Configuration button.
Azure AD Magento SSO - Azure Single Sign-On(SSO) Login in Magento - federation metadata

  • 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)
Magento 2 SSO Azure AD Single Sign-on (SSO) Admin Customer SSO

  • If you want to initate SSO from any page you can also use the SSO link provided in the extension.
Magento SSO using SSO link Magento 2 SSO Azure AD

  • 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.
Magento 2 OAuth auto redirect to idp

  • Go to customer login page and you will see the SSO button on your frontend. Click on the button and test the SSO.
  • Select Create Realm from the master dropdown menu.
Magento 2 OAuth SSO customer SSO

  • You will be sucessfully logged in into Magento.
magento SSO magento 2 OAuth client SSO Admin SSO

  • Visit your admin login page and you will see the SSO button on your admin page. Click on the button to initate SSO as an admin.
Magento 2 Admin SSO login button

  • After sucessfully logged into magento as admin you will be redirect to magento backend dashboard.
Magento 2 Admin SSO admin dashboard

  • 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.
Azure AD Magento SSO - Azure 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.
  • 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.
Magento 2 SAML SSO custom attribute mapping

  • 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.
 Magento SSO - Login in Magento - role mapping

Please reach out to us at magentosupport@xecurify.com, and our team will assist you with setting up the Magento OAuth Server Extension. Our team will help you to select the best suitable solution/plan as per your requirement.

ADFS_sso ×
Hello there!

Need Help? We are right here!

support