Guide to Configure AWS Cognito as an OAuth/OpenId Connect Server in Drupal-7

Step 1: Configure AWS Cognito as an OAuth/OpenId Connect Server

  • Go to https://console.aws.amazon.com/console/home and sign up/login in your account.
  • Cognito_sso_AWS go to link
  • Search for Cognito in the AWS Services search bar as shown below.
  • Cognito_sso_AWS search cognito
  • Click on Manage User Pools button to see the list of your user pools.
  • Cognito_sso_AWS manage user pools
  • Click on Create a user pool to create a new user pool.
  • Cognito_sso_AWS create user pools
  • Add a Pool Name and click on the Review Defaults button to continue.
  • Cognito_sso_AWS review default
  • Scroll down and click on the Add App Client option in front of App Clients.
  • Cognito_sso_AWS add app client
  • Enter an App Client Name and click on Create app client to create an App client.
  • Cognito_sso_AWS create app client
  • Click on Return to Pool Details to come back to your configuration.
  • Cognito_sso_AWS return to pool detail
  • Click on Create Pool button to save your settings and create a user pool.
  • Cognito_sso_AWS create pool user
  • In the navigation bar present on the left side, click on the App Client Settings option under the App Integration menu.
  • Cognito_sso_AWS app client setting
  • Select Cognito User Pool checkbox under Enabled Identity Providers. Enter your Callback/Redirect URL which you will get from your miniOrange OAuth client module present on your Client side under the CallBack URls text-field. Select Authorization code grant checkbox under the Allowed OAuth Flows and also select openid and profile checkboxes under the Allowed OAuth Scopes option (Please refer to the image below). Click on the Save Changes button to save your configurations.
  • Cognito_sso_AWS save your configuration
  • Click on Choose Domain Name option to set a domain name for your app.
  • Cognito_sso_AWS domain name
  • Enter your Domain Name under the Domain Prefix text-field and click on the Save Changes button to save your domain name.
  • Cognito_sso_AWS domain prefix
  • Click on App Clients option under the General Settings menu in the left side navigation bar. Then, click on the Show Details button to see your App details like Client ID, Client secret etc.
  • Cognito_sso_AWS app detail client ID,client secret
  • Copy the Client App ID and App Client Secret text field values and save them under your miniOrange OAuth client module present on the client side under the Client Id and the Client Secret text fields respectively.
  • Cognito_sso_AWS client app id,client app
  • You have successfully completed your AWS Cognito App OAuth Server side configurations.

Step 2: Configure miniOrange Drupal 7 OAuth Client module.

  • Click on the link here to download the miniOrange OAuth Client module.
  • Scroll down and download module by clicking in the zip option under Downloads.
  • Cognito_sso_Drupal go to link
  • Login in your Drupal 7 site’s admin console and click on Modules from the top navigation bar.
  • Select the Install new module option to install a new module on your Drupal 7 site.
  • Cognito_sso_Drupal install module
  • Upload the downloaded zip file of the Module and click on the Install button to continue.
  • Click on Modules from the top navigation bar again and scroll down till you find miniOrange OAuth 2.0 Client. Click on the checkbox next to it and click on the Save Configuration button to enable the module.
  • Cognito_sso_Drupal navigation bar
  • Now next to the miniOrange OAuth 2.0 Client, you will find an option to Configure the Module. Click on it to continue to the configuration page of the module.
  • Cognito_sso_Drupal configuration page
  • Register/Login to your miniOrange account.
  • Cognito_sso_Drupal register login
  • Click on the Configure OAuth tab and select your OAuth Provider from the Select Application dropdown. In case you do not find your OAuth Provider listed in the dropdown, please select Custom OAuth Provider and continue.
  • Cognito_sso_Drupal custom auth provider
  • Enter your OAuth Provider information in their respective fields and click on the Save button to continue. Also, copy the Callback/Redirect URL and save it on your OAuth Provider.
  • Cognito_sso_Drupal click on save
  • Now click on the Test Configuration option. This Test Configuration link will give you the list of the attributes that are coming from your OAuth Provider.
  • Cognito_sso_Drupal test configuration
  • Copy the email and the name attributes and save them under the Attribute & Role Mapping tab in the Email Attribute and Name Attribute text field respectively.
  • Please note: This step is mandatory for your login to work. Click on the Save button on the bottom of the page to save your attribute configurations.

    Cognito_sso_Drupal click on save
  • Now logout and go to your Drupal 7 site’s login page, you will automatically find a Login withyour OAuth Provider link there. If you want to add your login link to other pages as well, please follow the steps given in the below image:
  • Cognito_sso_Drupal logout
  • If you want to check out our complete list of features and our various licensing plans, you can go to the Licensing Plan tab in the module.
  • Still, if you are facing any difficulty or if you have any questions in mind, you can reach out to us by submitting a query in the Support tab of a module or by sending us a mail at info@xecurify.com.
  • Congratulations, you have successfully configured the miniOrange Drupal 7 OAuth Client module.