Joomla OAuth Client Integration with Okta Single Sign-On (SSO)
Overview
Set up Single Sign-On (SSO) on your Joomla site via Okta OAuth provider with the help of Joomla OAuth & OpenID Connect plugin. Integrating Okta Single Sign-On (SSO) into Joomla using OAuth 2.0 authentication protocol allows your users to securely login into your Joomla websites and applications by authenticating with Okta OAuth provider. The Okta OAuth Joomla plugin also provides advanced features such as, Auto create users, Attribute Mapping, Group Mapping etc. Visit our Joomla OAuth Client Plugin page to learn more about the features and pricing plans we offer for the Joomla OAuth Single Sign-on (OAuth & OpenID connect) plugin.
To setup OAuth Single Sign-On between Joomla and Okta, you can also follow this step by step Setup Video.
Configuration Steps
In this configuration, Okta functions as the OAuth server, while Joomla allows users to log in with their Okta credentials by utilizing the Joomla OAuth Client Plugin.
Step 1: Install Joomla OAuth Client Plugin
- Login into your Joomla site’s Administrator console.
- From left toggle menu, click on System, then under Install section click on Extensions.
- Now click on Or Browse for file button to locate and install the plugin file downloaded earlier.
- Installation of plugin is successful. Now click on Get Started!
- Under Configure OAuth -> Pre-Configured Apps tab, select your OAuth Provider. You can also search for custom OAuth or custom OpenID application in the search bar, and configure your own custom provider.
- After selecting your OAuth provider, you will be redirected to the Step 1 [Redirect URL] tab. Now copy the Callback/Redirect URL which we will use to configure Okta as OAuth Server, then click on the Save & Next button.
Step 2: Configure Okta as OAuth Server
- Log into your Okta Dashboard.
- Go to the Okta Admin panel. Go to Applications -> Applications.
- You will get the following screen. Click on Create App Integration button.
- Select Sign in method as the OIDC - OpenID Connect option and select Application type as Web application, click on Next button.
- You will be redirected to the app details page. Enter App integration name and Sign-in redirect URIs which we copied as Callback/Redirect URL.
- Scroll down and you will see the Assignments section. Select an option for controlled access as Allow everyone in your organization to access, untick the Enable immediate access with Federation Broker Mode and then click on Save button.
Step 3: Configure Client ID & Secret
- Now you will get the Client ID and Client Secret. Keep these credentials handy for configuring miniOrange OAuth Client Single Sign-On (SSO) plugin.
- From right top header, you will get your domain name. Keep the domain name handy.
Note: Copy the Okta domain to configure Joomla OAuth Single Sign-On (SSO) plugin. eg.( https://dev-32414285-admin.okta.com ) then your domain is dev-32414285.okta.com .
- Go back to your Joomla Dashboard. Then go to Step 2 [Client ID & Secret].
- Paste the Client ID, Client Secret and Domain. Also Set Client Credentials In header then click on Save Settings. Once Settings are saved then click on Save Configuration.
- Scope & Endpoints are given below, which are required for configuring Joomla as OAuth Client plugin to configure Okta as a custom OAuth or OIDC provider.
Scope | openid email |
Authorize Endpoint | https://{yourOktaDomain}.com/oauth2/default/v1/authorize |
Access Token Endpoint | https://{yourOktaDomain}.com/oauth2/default/v1/token |
Get User Info Endpoint | https://{yourOktaDomain}.com/oauth2/default/v1/userinfo |
Custom redirect URL after logout:[optional] | https://{yourdomain.okta}.com/login/signout?fromURI=<your url> |
Set Client Credentials | In Header Only |
Step 4: Configure Attribute Mapping
- User Attribute Mapping is mandatory for enabling users to successfully login into Joomla. We will be setting up user profile attributes for Joomla using below settings.
- Go to Step 3 [Attribute Mapping] tab and click on Test Configuration button.
- You will be able to see the attributes in the Test Configuration output as follows.
- Now go to the Step 3 [Attribute Mapping] tab and Select the attribute name for Email and Username from dropdown. Then click on Finish Configuration button.
Step 5: Setup Login/SSO URL
- Now go to Step 4 [SSO URL] tab, here copy the Login/SSO URL and add it to your Site by following the given steps.
- Now logout and go to your Joomla site's pages where you have added this link. You will see a login link where you placed that button. Click on this button to perform SSO.