Single Sign On (SSO) for Your Application Using AWS Cognito

Single Sign-On (SSO) for Your Application Using AWS Cognito

AWS Cognito Single Sign On (SSO) for Your Application miniOrange provides a ready to use solution for Your application. This solution ensures that you are ready to roll out secure access to your application using AWS Cognito within minutes.

Step 1: Configuring miniOrange as Service Provider (SP) in AWS Cognito

  • Sign in to AWS Amazon.
  • Now enter “Cognito” in search textbox & select Cognito from dropdown.
  • OAuth/OpenID/OIDC Single Sign On (SSO), AWS cognito SSO Login Cognito
  • Go to “Manage your user pools”.
  • OAuth/OpenID/OIDC Single Sign On (SSO), AWS cognito SSO Login Manage user pools
  • Click on “Create a user pool”.
  • OAuth/OpenID/OIDC Single Sign On (SSO), AWS cognito SSO Login Create a user pool
  • Add pool name and select “Review Defaults”.
  • OAuth/OpenID/OIDC Single Sign On (SSO), AWS cognito SSO Login Review Defaults
  • Click on “Add app client” & then click on Add an app client.
  • OAuth/OpenID/OIDC Single Sign On (SSO), AWS cognito SSO Login Add app client
  • Enter App client name & then Click on “Create app client”.
  • OAuth/OpenID/OIDC Single Sign On (SSO), AWS cognito SSO Login Create app client
  • Click on Return to pool details. After this click on “Create Pool”.
  • Navigate to App client settings.
    • Go to miniOrange Admin Console.
    • From the left navigation bar select Identity Provider<./li> azure ad saml Apps
    • Copy the callback URL.
    • azure ad saml Apps
    • Now go to the Cognito dashboard and select “Cognito User Pool”, add callback URL here.
    • Add application home page URL has to Sign out URL.
    • Also, select Authorization code grant as “Allowed OAuth Flows” & select OpenID as “Allowed OAuth Scopes”.
    • After selecting all details click on Save changes button.
    • OAuth/OpenID/OIDC Single Sign On (SSO), AWS cognito SSO Login Save changes
  • 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.)
  • OAuth/OpenID/OIDC Single Sign On (SSO), AWS cognito SSO Login App client
  • 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.
  • OAuth/OpenID/OIDC Single Sign On (SSO), AWS cognito SSO Login domain name
  • Complete domain name: The complete domain name that you need to enter in miniOrange dashboard is {your domain name}.auth.{region name}.amazoncognito.com
  • Add Users / Groups to Cognito App : Go to Users and groups and then click on Users. After this click on Create user.
  • OAuth/OpenID/OIDC Single Sign On (SSO), AWS cognito SSO Login Add Users / Groups
  • Fill all required informations and click on Create user.
  • OAuth/OpenID/OIDC Single Sign On (SSO), AWS cognito SSO Login Create user
  • Click on Groups and then click on Create group.
  • OAuth/OpenID/OIDC Single Sign On (SSO), AWS cognito SSO Login Groups
  • Fill all required informations and click on Create group.
  • OAuth/OpenID/OIDC Single Sign On (SSO), AWS cognito SSO Login Create group

Step 2: Configure AWS Cognito as Identity Provider (IDP) in miniOrange.

  • Go to miniOrange Admin Console.
  • From the left navigation bar select Identity Provider.
  • azure ad saml Apps
  • Select OAuth, enter the Client ID and Client Secret along with the other details.
  • azure ad saml Apps
  • Now you can click on Save.

Step 4: Configure Your application in miniOrange

  • Login to miniOrange Admin Console.
  • Go to Apps >> Manage Apps Click Configure Apps button.
  • azure ad saml Apps
  • Here you add your application according to the the protocol it supports like SAML, OAuth, JWT, Ws-fed etc.

  • For example lets say the application supports SAML. Then click on SAML tab. Search for Custom App.

  • azure ad saml Apps azure ad saml Apps
  • Get the ACS URL and SP Entity ID from your application.

  • Enter the following values OR click on Import SP Metadata:

  • Service Provider Name Choose appropriate name according to your choice
    SP Entity ID or Issuer Your Application Entity ID
    ACS URL X.509 Certificate (optional) Your Application Assertion Consumer Service URL
    NameID Format  Select urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress
    Response Signed Unchecked
    Assertion Signed Checked
    Encrypted Assertion Unchecked
    Group policy Default
    Login Method

  • Click on Save to configure Your applcation.
  • Now to get the IDP metadata of the app configured, Go to apps >> your_app >> select >> metadata tab.

  • azure ad saml Apps
  • Click on the Show Metadata details in the Information required to Authenticate via External IDPs section. Download the metadata XML file by clicking on Download Metadata button or copy the Metadata URL link.
  • azure ad saml Apps
  • You need to Upload this metadata in your application.

Setup Multiple IDPs and login using IDP selection page (Optional)

  • You can configure multiple IDPs (identity providers) and give users the option to select the IDP of their choice to authenticate with.
    For Example - It could be multiple AD domains belonging to different departments or multiple okta organizations.
  • Few usecases where customers configure multiple IDPs -

  • Suppose you have a product which many of your clients use and each client has their own unique IDP so you want them to SSO into your product as well using their existing IDP only. miniOrange provides a centralized way to connect with all IDPs in a very easy manner and integrate SSO into your application.
  • Suppose you are providing a course to many universities, each having a unique IDP like Shibboleth, ADFS, CAS, etc. You can provide single sign-on (SSO) into your course application to all these universities by integrating with all of them using a single platform provided by miniOrange.
  • This is the endpoint to call from your saml application -
    For Cloud IDP - https://login.xecurify.com/moas/discovery?customerId=<customer_id>
    For On-Premise IDP - https://yourdomain.com/discovery?customerId=<customer_id>
  • You can see the screenshot below of the IDP Selection Page with a list of IDPs .

    Note: To view the IDP in drop-down list ,go to Identity Providers tab > against your configured IDP > Select >Edit , here Enable the Show IdP to Users option.

    idp selection

  • You can also change the look and feel of this page. Login to miniOrange Admin console. Navigate to Customization -> Branding Configuration. See the below screenshot for reference-
    customize idp selection
  1. You can customize the title of this page.
  2. You can change the logo and favicon for this page.
  3.  You can change the background and button color for this page from admin UI.

Domain Mapping (Optional)

If you have multiple IDPs and you want a certain set of users to authenticate from one IdP whereas another set of users to authenticate from another IdP, based on their email domains then you can achieve this by using the following steps:- Our domain mapping feature

  • We have provided a Domain Mapping field under each IdP where admins can enter the domain eg. demo.com , example.com as shown in the screenshot below.
  • For your reference , Okta and OneLogin are being used as two different IDPs and WordPress is being used as SP. Follow the guides to set up Okta, OneLogin and WordPress at your end.


  • Once the setup is complete you can login through your Wordpress site.
  • Lets Say in OKTA IDP Domain field we enter example.com and in Onelogin IDP Domain field we enter demo.com
  • So a user logging in with the example.com domain will be redirected to Okta IDP.
  • User logging in with email address having demo.com domain will be redirected to OneLogin IDP.
  • Once the user will authenticate itself through respective IDPs, it will be redirected back to Wordpress site.