Search Results :

×

SSO Login into Rocket.Chat using Drupal as OAuth / OpenID Connect Provider


Drupal SSO integration will allow the users to log in to the Rocket.chat using the Drupal site Credentials. This SSO integration is achieved by the miniOrange OAuth / OpenID Connect server module which uses the OAuth 2.0 and OpenID Connect protocol. The module is compatible with all OAuth / OpenID Connect clients and is available for Drupal 7, Drupal 8, Drupal 9, and Drupal 10.

In this setup guide, we will help you configure the Single Sign-on login using the OAuth protocol between the Drupal site and the Rocketchat.

Installation Steps:


  • Download the module:
    composer require 'drupal/oauth_server_sso'
  • Go to Extend menu on your Drupal admin console and enable the module by enabling the checkbox and click on Install button.
  • Configure the module at:
    {BaseURL}/admin/config/people/oauth_server_sso/config_client
  • Install the module:
    drush en oauth_server_sso
  • Clear the cache:
     drush cr
  • Configure the module at:
    {BaseURL}/admin/config/people/oauth_server_sso/config_client
  • Navigate to Extend menu on your Drupal admin console and click on Install new module.
  • Install the Drupal OAuth / OIDC Provider - Single Sign On (SSO) module either by downloading the zip or from the URL of the package (tar/zip).
  • Click on Enable newly added modules.
  • Enable this module by checking the checkbox and click on Install button.
  • Configure the module at
    {BaseURL}/admin/config/people/oauth_server_sso/config_client

Configure an OAuth / OIDC Application in Rocket.Chat:

  • Login to the Rocket.Chat with administrator credentials.
  • From the left navigation menu, go to Administration -> Workspace.
  • Drupal Rocket.Chat OIDC Single Sign-On - Navigate to Administration -> Workspace
  • Navigate to the Settings tab from the left navigation menubar.
  • Drupal Rocket.Chat OIDC Single Sign-On - Go to Settings
  • Now, search for OAuth and click on the Open button.
  • Drupal Rocket.Chat OIDC Single Sign-On - Search for OAuth and click Open button
  • Click on the Add custom OAuth button present on the top right corner of the screen.
  • Drupal Rocket.Chat OIDC Single Sign-On - Click on Add custom OAuth
  • Enter the application name under the Give a unique name for the custom OAuth text field and click on the Add button.
  • Drupal Rocket.Chat OIDC Single Sign-On - Give a unique name for the custom OAuth field then click Add button
  • Select the created application from the list of applications and expand it.
  • Copy the Callback URL.
  • Drupal Rocket.Chat OIDC Single Sign-On - Copy the Callback URL and keep it handy

Configure Drupal as an OAuth Server:

Note: Please ensure that the Drupal site is hosted on a server accessible from the internet, as Rocket.Chat won't be able to reach the Drupal endpoints if the Drupal site is running on localhost.

  • On the Drupal site, go to the Configuration -> miniOrange OAuth server configuration -> OAuth Client.
  • Click on the Add Client button.
  • Enter the Application Name under the Application Name text field.
  • Paste the copied Callback URL under the Callback/Redirect URL text field.
  • Multiple Callback URLs can be added by clicking on the Add More button next to the text field.
  • Click on the Save button and copy the Client ID and Client Secret.

Integrating Rocket.Chat with Drupal:

  • Navigate to the Rocket.Chat console and Enable the toggle button.
  • Integrating Rocket.chat with Drupal OAuth/OIDC Provider - On Rocket, enable toggle
  • Paste the Client ID under the Id text field and Client Secret under the Secret text field.
  • Integrating Rocket.chat with Drupal OAuth/OIDC Provider - Paste Client ID and Client Secret in the Rocket.chat Application
  • Add the Scope and Endpoints/Path as specified in the table below (You can also get the same from the Scope & Endpoints section of the Drupal site -> Configuration -> miniOrange OAuth server configuration -> OAuth Client):

    Scope profile openid email
    Authorize Path {base_url_of_the_drupal_site}/mo/oauth2/authorize
    Token Path {base_url_of_the_drupal_site}/mo/oauth2/token
    Identity Path {base_url_of_the_drupal_site}/mo/oauth2/userinfo
  • Integrating Rocket.chat with Drupal OAuth/OIDC Provider - Provide the Scope and Endpoints in the Rocket.chat Application
  • Configure other necessary features as per your requirements. Please keep the remaining fields default if not sure of the configurations.
  • Ensure that the Show Button on Login Page toggle button is enabled.
  • Once the configurations are done click on the Save changes button.
  • Integrating Rocket.chat with Drupal OAuth/OIDC Provider - click on save changes button

You have successfully configured Rocket.Chat as an OAuth Client and Drupal as an OAuth server.

Let’s see how this works:

  • Open a new window/private browser and navigate to the login page of the Rocket.Chat website.
  • Click on the Sign in with Drupaloauth (the custom OAuth application name that was created on the Rocket.Chat) button.
  • Test the connection between Rocket.chat and Drupal OAuth Provider - Click on Sign in with Drupaloauth
  • A window will popup asking to Log in to the Drupal.
  • Enter the Drupal credentials and click on the Log in button.
  • Try to access Rocket.chat application using Drupal credentials
  • On successful authentication, pop up will be closed with successful login into the Rocket.Chat.

You have successfully performed the SSO between Rocket.Chat and Drupal!

Need Assistance?

If you face any issues during the configuration or if you want some additional features, please contact us at drupalsupport@xecurify.com.

Additional Features:

 Case Studies
miniOrange has successfully catered to the use cases of 400+ trusted customers with its highly flexible/customizable Drupal solutions. Feel free to check out some of our unique case studies using this link.
 Other Solutions
Feel free to explore other Drupal solutions that we offer here. The popular solutions used by our trusted customers include Two Factor Authentication - 2FA, Website Security, REST & JSON API Authentication, User Provisioning and Sync. 
  24*7 Active Support
The Drupal developers at miniOrange offer quick and active support for your queries. We can assist you from choosing the best solution for your use case to deploying and maintaining the solution.
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