AWS Cognito Single Sign-On SSO Magento Setup Guide with OAuth OpenID Connect

AWS Cognito Single Sign-On SSO Magento Setup Guide with OAuth OpenID Connect


Integration of AWS Cognito Login ( AWS SSO Cognito ) with Magento using OAuth 2.0 Protocol. The Magento OAuth / OpenID Connect Single Sign-On (SSO) plugin makes it easy to use OAuth2 to set up AWS Cognito Login on Magento (AWS Cognito Single Sign on).

The plugin can be set up using other Social Media sources, as well as custom OAuth and OIDC providers. It contains a lot of Single Sign-On (SSO) features, like Attribute Mapping for user profiles, Role Mapping, and so on. In this guide, we'll go over how to set up SSO between Magento and AWS Cognito. At the end of this article, users should be able to log into Magento using AWS Cognito. Click here to read more about the Magento OAuth Single Sign-On (OAuth & OpenID Connect Client) plugin's extra features.

The Magento OAuth & OpenID Connect Single Sign-On (SSO) plugin makes it possible to log into Magento securely using AWS Cognito as an OAuth and OpenID Connect provider. You can also use alternative Oauth providers, such as Azure B2C, Office 365, and other custom providers, to configure the plugin. Advanced Single Sign-On features such as user profile Attribute Mapping, Role Mapping, and so on are supported. We'll go over how to set up SSO between Magento and AWS Cognito in this article. Users should be able to log in to Magento through AWS Cognito by the end of this guide.

Click here to know more about other features we provide in Magento OAuth Single Sign-On ( OAuth & OpenID Connect Client ) plugin

Pre-requisites : Download And Installation

  • You can download the miniOrange OAuth OpenID Connect SSO Free plugin from the Magento Marketplace.
  • Select Your Magento Store version from the Dropdown.
  • Click on Add to cart.
  • Go to the cart and checkout to buy the plugin.
  • Click on Download and save the miniOrange OAuth OpenID Connect SSO Plugin zip.
  • Unzip all contents of the zip inside the MiniOrange/OAuth directory.
  • {Root Directory of Magento} app code MiniOrange OAuth

  • Run the following commands on command prompt to enable the plugin
  •       1. php bin/magento setup:upgrade
          2. php bin/magento setup:di:compile

Magento OAuth OpenID Connect SSO extension allows login (Single Sign-On) into Magento with your Azure AD, Azure B2C, AWS Cognito, WSO2, Okta, LinkedIn, Google, Facebook, Slack, Discord or other custom OAuth 2.0 providers [24/7 SUPPORT]

 Tested with 2.4.4

Steps to configure AWS Cognito OAuth & OpenID Single Sign-On (SSO) Login into Magento

1. Setup Amazon Cognito as OAuth Provider

Follow the steps below to configure AWS Cognito as OAuth Provider

miniorange img Configure AWS Cognito as OAuth Provider
  • Go to Amazon Console and sign up/login in your account to Configure AWS Cognito.
  • AWS Cognito Single Sign-On (SSO) - Login to Amazon Console Magento SSO
  • Search for Cognito in the AWS Services search bar.
  • AWS Cognito Single Sign-On (SSO) - Search for AWS Cognito
  • To see the list of your user pools click on Manage User Pools button.
  • AWS Cognito Single Sign-On (SSO) - AWS Cognito User Pools Magento SSO
  • To make a new user pool, click Create a user pool.
  • AWS Cognito Single Sign-On (SSO) - Create New AWS Cognito Pool Magento SSO
  • Give a Pool Name and click on the Review Defaults button to continue.
  • AWS Cognito Single Sign-On (SSO) - Name your AWS Cognito User Pool
  • Scroll down and click on “Add app client” & then again click on Add an app client.
  • AWS Cognito Single Sign-On (SSO) - AWS Cognito App Client Magento SSO AWS Cognito Single Sign-On (SSO) - AWS Cognito App Client Magento SSO
  • To create an App client, type a name for it and then click Create app client.
  • AWS Cognito Single Sign-On (SSO) - Create App Client Magento SSO AWS Cognito Single Sign-On (SSO) - Create App Client Magento SSO
  • To return to your setup, click Return to Pool Details.
  • AWS Cognito Single Sign-On (SSO) - AWS Cognito Pool
  • To save your settings and establish a user pool, click the Create Pool button.
  • AWS Cognito Single Sign-On (SSO) - Save AWS Cognito Pool Magento SSO
  • In the navigation bar present on the left side, click on the App Client Settings option under the App Integration menu.
  • AWS Cognito Single Sign-On (SSO) - AWS Cognito App Details Magento SSO
  • Under the CallBack URLs text-field, enable Identity provider as Cognito user pool and add your Callback/Redirect URL obtained from the miniOrange plugin from the OAuth Provider tab. Under the Allowed OAuth Flows option, choose the Authorization code grant checkbox, as well as the openid and profile checkboxes under the Allowed OAuth Scopes option (Please refer to the image below). To save your changes, click the Save Changes button.
  • AWS Cognito Single Sign-On (SSO) - AWS Cognito App Client Magento SSO
  • To choose a domain name for your app, go to the Choose Domain Name option.
  • AWS Cognito Single Sign-On (SSO) - AWS Cognito Domain Names Magento SSO
  • Go to domain name and enter a domain name for your app. After adding domain name you can check its availability by clicking on “Check availability” button. After entering valid domain name click ”Save changes” button.
  • AWS Cognito Single Sign-On (SSO) - AWS Cognito Domain Name Magento SSO
  • Go to “App client” and click on “Show details” to get a client ID and client secret. (Keep client ID and client secret handy as you will need it later.)
  • AWS Cognito Single Sign-On (SSO) - Client Details Magento SSO
  • In the left side navigation bar, select Users and Groups from the General Settings menu. Then, to create a new user, click the Create user button.
  • AWS Cognito Single Sign-On (SSO) - App New User Creation Magento SSO
  • Fill all the required details and click on Create user.
  • AWS Cognito Single Sign-On (SSO) - Client Configuration
  • You can see the new user created.
  • AWS Cognito Single Sign-On (SSO) - App Client Configuration Magento SSO

You have successfully configured AWS Cognito as OAuth Provider for for achieving AWS Cognito Single Sign-On (SSO) with Magento for user authentication.

2. Configuring Magento 2 as OAuth Client

  • After successfully configuring OAuth Provider, go to OAuth Provider tab and configure OAuth Provider Name, Client ID, Client Secret, Scope and provided endpoints. (You can copy these values in STEP 2 from the application dashboard.)

    Please refer below Endpoints to configure the OAuth client


    Scope: openid
    Authorize Endpoint: https://<cognito-app-domain>/oauth2/authorize
    Access Token Endpoint: https://<cognito-app-domain>/oauth2/token
    Get User Info Endpoint: https://<cognito-app-domain>/oauth2/userInfo
  • Click on the Save button to save the settings.
  • Click on the Test Configuration button.
  • Magento 2 OAuth credentials AWS Cognito SSO OAuth
  • You will see all the values returned by your OAuth Provider to Magento in a table. If you don't see value for First Name, Last Name, Email or Username, make the required settings in your OAuth Provider to return this information.
  • The miniOrange Premium Plugin also provides you the the feature to auto redirect your user to the IdP Login Page.
  • Magento 2 OAuth auto redirect to idp
  • Go to the Sign In Settings tab and check options to enable SSO on your Magento site.
  • Magento 2 OAuth enable SSO
  • You have successfully configured your Magento 2 as an OAuth Client. You will see the SSO button on your frontend. Click on the button and test the SSO.
  • Magento 2 OAuth SSO AWS Cognito SSO AWS Cognito magento SSO magento 2 OAuth client SSO AWS Cognito SSO

3: Attribute / Custom Mapping (Optional). *This is Premium feature.

  • You can map attributes in the Attribute Mapping tab. Only username and email are allowed to be mapped in free version of the plugin. However, in the premium version of the plugin, you can map various attributes coming from your OAuth Provider to the attributes present in your Magento site.
  • Magento 2 OAuth attribute mapping

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.
  • AWS Cognito Magento SSO - AWS Cognito Single Sign-On(SSO) Login in Magento - role mapping

By configuring AWS Cognito as an OAuth Provider and Magento as an OAuth Client using our Magento OAuth Client plugin, you have successfully installed Magento AWS Cognito Single Sign-On (SSO). Within minutes, you'll be able to provide safe access to your Magento site utilising AWS Cognito login credentials thanks to this solution.

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