SSO Login into Joomla using Drupal as an OAuth / OpenID Connect Provider
Overview
Drupal SSO integration will allow the users to log in to Joomla 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, Drupal 10, and Drupal 11.
In this setup guide, we will help you configure the Single Sign-on login using the OAuth protocol between the Drupal site and the Joomla.
Configuration Steps
Set up Joomla as an OAuth Client:
- Download the miniOrange OAuth Client plugin for Joomla.
- Login into your Joomla site’s administrator console.
- From the left Toggle Menu, navigate to System → Extensions.
- Upload the downloaded zip file to install the Joomla OAuth Client plugin.
- From the Toggle Menu, go to Components -> miniOrange OAuth Client -> Configure OAuth tab.
- Select Custom OAuth or Custom OpenID Connect App.
- Copy the Callback URL.
Configure Drupal as an OAuth Server
- Go to Configuration → People → miniOrange OAuth Server Configuration in the Administration menu. (admin/config/people/oauth_server_sso/config_client)
- Under the OAuth Client tab in the Add Client section enter the application name into the Application Name and paste the previously copied callback URL from the OAuth client into 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
Integrating Joomla with Drupal:
- Navigate to the Joomla dashboard and paste the copied Client ID and Client Secret into the respective field.
- Add the Endpoints 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 |
---|---|
Authorization Endpoint | {base_url_of_the_drupal_site}/mo/oauth2/authorize |
Token Endpoint | {base_url_of_the_drupal_site}/mo/oauth2/token |
Get User Information Endpoint | {base_url_of_the_drupal_site}/mo/oauth2/userinfo |
- Click on the Save Settings after that the Test Configuration button.
- Once the test is successful, scroll down to the Attribute Mapping section, and from the Email Attribute dropdown select the Drupal attribute name in which the email is received from Drupal.
- From the Username Attribute dropdown select the Drupal attribute in which the username is received from Drupal.
- Click on the Save Attribute Mapping button.
Let’s see how this works:
- Copy the Login / SSO URL from the Joomla dashboard.
- Open a new window/private browser and navigate to the link copied. It will redirect you to the Drupal login page.
- Enter the Drupal Credentials and click on the Log in button.
You will be logged into Joomla using Drupal credentials.
Need Assistance?
If you face any issues during the configuration or if you want some additional features, please contact us at drupalsupport@xecurify.com.