SSO Login into Bamboo using Drupal as OAuth / OpenID Connect Provider
Overview
The Drupal OAuth/OIDC Server module enables Single Sign-On i.e. SSO between the Drupal site and any Client application that supports the OAuth or OpenID Connect protocol. Here, we go through the steps to connect the module with the Bamboo. In this Integration of Drupal and Bamboo, Drupal acts as an Identity Provider i.e. users will be logging into Bamboo using their Drupal credentials.
Configuration Steps
Set up Bamboo as an OAuth Client:
- Login into your Bamboo site’s administrator console.
- Click on the Settings icon in the top right corner, then click on Manage apps.
- Click on Find new apps.
- Search miniOrange OAuth Client under the Search box and click on the buy now button for installing the application. The miniOrange OAuth Client app allows your Bamboo portal to act as an OAuth/OIDC client
- After successful installation, navigate to the Configure OAuth tab and copy the Callback URL.
Create SSO Application in Drupal:
- Navigate to the Drupal site and go to the Configuration → miniOrange OAuth server configuration → OAuth Client tab.
- Click on the Add Client button to add a new application.
- Enter the name of your application under the Application Name text field.
- Paste the copied Callback URL into the Callback/Redirect URL text field. You can add multiple Callback URLs by clicking on the Add More button next to the Callback/Redirect URL text field.
- Click on the Save button.
Integrating Bamboo with Drupal:
- Navigate to the Bamboo console. From the Select Application dropdown select Custom OAuth and enter the Application Name into the App Name text field.
- Navigate to the OAuth Client tab of the Drupal OAuth Server module, go to the Configure Applications section and copy the Client ID.
- Paste the copied Client ID into the Client ID text field under the General Settings section.
- Navigate back to the Drupal site and copy the Client Secret.
- Paste the copied Client Secret into the Client Secret text field in the Bamboo console.
- Add the Scope and 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 |
- Navigate to the Sign In Settings tab.
- Under the Login Button Text enter the text to be displayed on the Log in button on the Login screen. Click on the Save button.
Test Connection between Bamboo and Drupal:
- Click on the Test Configuration button to test the connection between Bamboo site and Drupal.
You have successfully configured Bamboo 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 Bamboo website.
- Click on the Login with Drupal button to initiate SSO login.
- Clicking on that button will automatically redirect you to your Drupal site login page. Enter the Drupal credentials of the user and click on the Log in button.
- You will be logged into Bamboo using Drupal credentials.
You have successfully performed the SSO between Bamboo 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:
- Add multiple Callback/Redirect URL
- Add custom user attributes to be sent in response
- Use enable asymmetric signing algorithm
- Enable single logout