Search Results :

×

Joomla OAuth Client Integration with AWS Cognito Single Sign-On (SSO)


Integration of AWS Cognito Single Sign-on (Amazon Web Services Cognito SSO) with Joomla using OAuth 2.0 Protocol. The miniOrange Joomla OAuth / OpenID Connect Single SIgn-on (SSO) plugin makes it simple to set up AWS Cognito SSO into Joomla and enable secure login into Joomla. As a result, users can log in to Joomla and access the site by authenticating with their AWS Cognito identity provider credentials.

Visit our Joomla OAuth Client Plugin page to learn more about the features and Pricing plans we offer for the Joomla OAuth Single Sign-on (OAuth & OpenID connect) plugin.

Pre-requisites : Download And Installation

  • Login into your Joomla site’s Administrator console.
  • From left toggle menu, click on System, then under Install section click on Extensions.
  • Now click on Or Browse for file button to locate and install the plugin file downloaded earlier.
  • Installation of plugin is successful. Now click on Start Using miniOrange OAuth Server plugin.
  • Under the Configure OAuth tab, click on the ADD button.
Get Started with OAuth Server Setup

Setup AWS Cognito as OAuth Provider with Joomla OAuth Client

1. Configure Callback/Redirect URL

  • After selecting your OAuth provider, you will be redirected to the Step 1 [Redirect URL] tab. Now copy the Callback/Redirect URL which we will use to configure Amazon AWS Cognito as OAuth Server, then click on the Save & Next button.
  • Amazon AWS Cognito OAuth Single Sign-On SSO into Joomla - Copy Redirect URL
  • Log in to AWS Amazon.
  • Enter “Cognito” in search box & select Cognito from dropdown.
  • Amazon AWS Cognito Single Sign-On (SSO) OAuth/OpenID
  • Now click on “Manage User Pools”.
  • Amazon AWS Cognito Single Sign-On (SSO) OAuth/OpenID
  • Click on “Create a user pool” button.
  • Amazon AWS Cognito Single Sign-On (SSO) OAuth/OpenID
  • Enter your pool name and click on “Review Defaults”.
  • Amazon AWS Cognito Single Sign-On (SSO) OAuth/OpenID
  • Click on “Add app client” & then click on Add an app client
  • Amazon AWS Cognito Single Sign-On (SSO) OAuth/OpenID
  • Enter App client name & then Click on “Create app client”.
  • Amazon AWS Cognito Single Sign-On (SSO) OAuth/OpenID
  • Click on Return to pool details. After this click on “Create Pool”.
  • Navigate to App client settings.
  • Select “Cognito User Pool”.
  • Paste the Callback URL we copied earlier in the Callback URL field.
  • Also, Click on checkbox of Authorization code grant of Allowed OAuth Flows & click on checkbox of OpenID of Allowed OAuth Scope. Then click on Save Changes button
  • Amazon AWS Cognito Single Sign-On (SSO) OAuth/OpenID

2. Configure Client ID and Secret

  • Go to “App client” from left menu and then click on “Show details” to get a App Client ID and Client secret.
  • Amazon AWS Cognito Single Sign-On (SSO) OAuth/OpenID
  • 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.
  • Amazon AWS Cognito Single Sign-On (SSO) OAuth/OpenID
  • Complete domain name: The complete domain name that you need to enter in module is {your domain name}.auth.{region name}.amazoncognito.com
  • On your Joomla Dashboard, go to Configure OAuth > Step 1 [Redirect URL] tab of the miniOrange Joomla OAuth Client plugin, Paste the App Client ID, Client Secret and Domain then click on Save Settings button.
  • Amazon AWS Cognito Single Sign-On (SSO) OAuth/OpenID
  • Add Users / Groups to Cognito App : Go to Users and groups and then click on Users. After this click on Create user.
  • Amazon AWS Cognito Single Sign-On (SSO) OAuth/OpenID
  • Fill all required informations and click on Create user.
  • Amazon AWS Cognito Single Sign-On (SSO) OAuth/OpenID
  • Click on Groups and then click on Create group.
  • Amazon AWS Cognito Single Sign-On (SSO) OAuth/OpenID
  • Fill all required informations and click on Create group.
  • Amazon AWS Cognito Single Sign-On (SSO) OAuth/OpenID

2.1. Scope & Endpoints

    Auth0 Endpoints and Scope:

    Scope:
    openid
    Authorize Endpoint:
    https://<cognito-app-domain>/oauth2/authorize
    Access Token Endpoint:
    https://<cognito-app-domain>/oauth2/token
    Get User Info Endpoint:
    https://{domain}/oauth2/userInfo
    Set Client Credentials:
    In Both (In Header and In Body)
  • User Attribute Mapping is mandatory for enabling users to successfully login into Joomla. We will be setting up user profile attributes for Joomla using below settings.
  • Go to Step 3 [Attribute Mapping] tab and click on Test Configuration button.
Upload IdP
    Metadata

  • You will be able to see the attributes in the Test Configuration output as follows.
Upload IdP
    Metadata

  • Now go to the Step 3 [Attribute Mapping] tab and Select the attribute name for Email and Username from dropdown. Then click on Finish Configuration button.
Upload IdP
    Metadata

  • Now go to Step 4 [SSO URL] tab, here copy the Login/SSO URL and add it to your Site by following the given steps.
Upload IdP
    Metadata

  • Now logout and go to your Joomla site's pages where you have added this link. You will see a login link where you placed that button. Click on this button to perform SSO.


In this Guide, you have successfully configured Joomla AWS Cognito Single Sign-On (SSO) by configuring AWS Cognito as OAuth Provider and Joomla as OAuth Client using our Joomla OAuth Client plugin.This solution ensures that you are ready to roll out secure access to your Joomla site using AWS Cognito login credentials within minutes.

Additional Resources


Mail us on joomlasupport@xecurify.com for quick guidance(via email/meeting) on your requirement and our team will help you to select the best suitable solution/plan as per your requirement.

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