Hello there!

Need Help? We are right here!

Support Icon
miniOrange Email Support
success

Thanks for your Enquiry. Our team will soon reach out to you.

If you don't hear from us within 24 hours, please feel free to send a follow-up email to info@xecurify.com

Search Results:

×

Configure SSO for Apps with AWS Cognito as IDP


AWS Cognito Single Sign-On (SSO) solution by miniOrange allows users to login into multiple applications using an existing username and password of Cognito. Here AWS Cognito will act as an Identity Provider (IDP) and your applications will act as a Service Provider (SP). miniOrange acts as a broker to communicate with IDP and SP and provide secure login access to users.
AWS Cognito handles the responsibility of authenticating users within the application, making it easier for admins to integrate SSO into their applications. Overall this eliminates the need to manage different identities as all information is stored in a unified location - AWS Cognito. Once Cognito SSO is configured, you will be able to :

  • SSO login to your Cloud, On-Premise, and in-house apps using Cognito credentials
  • Cross Protocol Authentication (Connect app supporting different protocols to IDP supporting different protocols)
  • Attribute Mapping
  • Multiple IDP Connection

Get Free Installation Help


miniOrange offers free help through a consultation call with our System Engineers to configure SSO for different apps using AWS Cognito as IDP in your environment with 30-day free trial.

For this, you need to just send us an email at idpsupport@xecurify.com to book a slot and we'll help you in no time.



Follow the Step-by-Step Guide given below for AWS Cognito Single Sign-On (SSO)

1. Configure AWS Cognito as OAuth 2.0 Provider in miniOrange.

  • Go to miniOrange Admin Console.
  • From the left navigation bar select Identity Provider. Select Oauth
  • AWS Cognito SSO : Select Identity Provider

    Select OAuth

  • Enter the following values.
  • IdP Name Custom Provider
    IdP Display Name Choose appropriate Name
    OAuth Authorize Endpoint https://{cognito-app-domain}/oauth2/authorize
    OAuth Access Token Endpoint https://{cognito-app-domain}/oauth2/token
    OAuth Get User Info Endpoint (optional) https://{cognito-app-domain}/oauth2/userInfo
    Client ID From step 2
    Client secret From step 2
    Scope openid

2. Configure AWS Cognito as Userstore OR IDP in miniOrange


Note: If you would like to customize the AWS login page kindly choose AWS as the Userstore. For the default AWS login page, you can go with AWS as IdP configurations.




    1.1 Configuring miniOrange as Service Provider (SP) in AWS Cognito

    • Sign in to AWS Amazon.
    • AWS Cognito Single Sign On (SSO) : Login to Amazon Console

    • Search for Cognito in the AWS Services search bar as shown below.
    • Search for Cognito in AWS Services to configure SSO

    • Click on Create a user pool to create a new user pool.
    • AWS Cognito OAuth/OpenID Single Sign On (SSO)

    • Choose the attributes in your user pool to be used during the sign-in process
    • AWS Cognito OAuth/OpenID Single Sign On (SSO)

    • Set up a strong password to configure your security requirements. Go ahead with the ‘No MFA’ option if you want users to only sign in with a single authentication factor. If you wish to enable MFA (Multi-factor authentication) it will require SMS messages which are charged separately by Amazon SNS. Learn more about that here. Click Next.
    • AWS Cognito OAuth/OpenID Single Sign On (SSO)

      AWS Cognito OAuth/OpenID Single Sign On (SSO)

    • Configure attributes that would be required during the user sign-up flow.
    • AWS Cognito OAuth/OpenID Single Sign On (SSO)

    • Choose additional attributes if you wish to. Click Next.
    • AWS Cognito OAuth/OpenID Single Sign On (SSO)

    • Configure how your user pool sends email messages to users.
    • AWS Cognito OAuth/OpenID Single Sign On (SSO)

    • Enter a name for your user pool, Also Under Hosted authentication pages, check ‘Use the Cognito Hosted UI’.
    • AWS Cognito OAuth/OpenID Single Sign On (SSO)

    • Now, Under the Domain section choose the domain type as ‘Use a Cognito domain’. Enter a domain name for your Cognito app.
    • AWS Cognito OAuth/OpenID Single Sign On (SSO)

    • Under the Initial app client section, Enter a name for your app client and check on Generate a client secret.
    • AWS Cognito OAuth/OpenID Single Sign On (SSO)

    • Now enter your Callback/Redirect URL which you will get from your miniOrange plugin present on your Client side and paste it under the Allowed callback URLs text-field. Also refer the following image for choosing the authentication flows for your app.
    • AWS Cognito OAuth/OpenID Single Sign On (SSO)

    • Now, Under Advanced app client settings, select Identity provider as Cognito user pool & Select Authorization code grant under the OAuth 2.0 grant types and also select openid,email and profile checkboxes under the OpenID Connect scopes section (Please refer to the image below).
    • Click on the Next button to save your configurations.
    • AWS Cognito OAuth/OpenID Single Sign On (SSO)

    • Now, Review your selection of requirements. Click Create user pool to confirm the selection and create a user pool.
    • AWS Cognito OAuth/OpenID Single Sign On (SSO)

      AWS Cognito OAuth/OpenID Single Sign On (SSO)

    • After successfully creating your user pool, Select your pool name from the list of pools to start with user creation.
    • AWS Cognito OAuth/OpenID Single Sign On (SSO)

    • Go to the Users tab, and click Create user.
    • AWS Cognito OAuth/OpenID Single Sign On (SSO)

    • Enter details such as username, email address & password. Click on Create user to save the details.
    • AWS Cognito OAuth/OpenID Single Sign On (SSO)

    • After the successful creation of the user, you will need a copy of the Cognito domain, Client ID, and Client Secret.
    • Go to the App Integration section and copy the complete domain name {your domain name}.auth.{region name}.amazoncognito.com. This should be entered into the endpoints field under in the miniOrange dashboard.
    • AWS Cognito OAuth/OpenID Single Sign On (SSO)

    • To get the Client ID and Client Secret, stay on the same 'App Integration' tab and scroll down to the App clients and analytics section. Click on your App client name to see the Client ID and Client Secret.
    • AWS Cognito OAuth/OpenID Single Sign On (SSO)

      AWS Cognito OAuth/OpenID Single Sign On (SSO)

    • You have Successfully complete AWS Cognito side configuration.

3. Configure your application in miniOrange


Note:

If you have already configured your application in miniOrange you can skip the following steps.





  • Click on Create App under SAML.
  • Click on Create SAML App

  • Search for your Application. In case you do not find your app, search for Custom SAML App.
  • Search for your SAML App

    Configure SAML Application

  • 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 application.
  • Now to get the IDP metadata of the app configured, Go to apps >> your_app >> select >> metadata tab.
  • Go to the metadata section

  • 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.
  • Downlaod metadata - URL

  • You need to Upload this metadata in your application.
  • Click on Create App under OAuth/OIDC. Click on Open ID Connect App .
  •  Add OAuth openIDConnect app

  • You can add any OAuth Client app here to enable miniOrange as OAuth Server. Few popular OAuth client apps for single sign-on are Salesforce, WordPress, Joomla, Atlassian, etc.
  • Select your OAuth openIDConnect app

    Configure OAth AddopenIDConnect app

  • Enter following Values:
  • Client Name Add appropriate Name
    Redirect URL Get the Redirect-URL from your OAuth Client
    Description Add if required
    Group Name Default
    Policy Name
    Login Method
  • Click on Save
  • Now to provide the required data to OAuth client go to the app configured i.e apps >> your_app >> select >> edit.
  • Edit OAuth editOpenidConnect app

    OAuth openidConnect app endpoints

    Note: Choose the Authorization Endpoint according to the identity source you configure.

  • When you want to use you want to use miniOrange as OAuth identity server use this endpoint: https://{mycompany.domainname.com}/moas/idp/openidsso
  • If you are configuring any Identity Provider in Identity Providers Menu and not using miniOrange as IDP use this endpoint: https://{mycompany.domainname.com}/broker/login/oauth{customerid}
  • Click on Create App under JWT.
  • Click n External JWT app

  • Select JWT App.
  • SelectJWT app

  • Configure the name for your application and configure Redirect-URL which tells where to send JWT response. Redirect-URL should be an endpoint on your application where you want to achieve SSO.
  • Configure JWT App

    In case you are setting up SSO with Mobile Applications where you can't create an endpoint for Redirect or Callback URL, use below URL.

    https://login.xecurify.com/moas/jwt/mobile

  • Click Save
  • To get the SSO link for your application, Go to Apps >> your_app >> select >> Edit.
  • Get SSO Link

  • Then, copy the Single Sign On Url and verify SSO setup by browsing that url.
  •  SSO URL

  • On successful authentication, you will be redirected to configured Redirect or Callback URL with JWT token
  • You will need to download a certificate from App > Manage Apps, and click Certificate link against your configured application. This certificate will be used for signature validation of JWT response.
  • Download certificate to proceed with SSO

4. 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 SAML, OAuth protocol supported IDP's 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 should copy the Customer Key from admin console-> Settings -> and replace it with <customer_id> here. Once configured in SP, when you initiate the login from Service Provider, a user will be redirected to IDP Selection Page listing all IDPs configured for that account.
  • 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.

    Select your IDP (Identity Provider) to login

  • 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 login page

  • You can customize the title of this page.
  • Change the logo and favicon for this page.
  • Change the background and button color for this page from admin UI.

External References

Want To Schedule A Demo?

Request a Demo
  



Our Other Identity & Access Management Products