Configure PingFederate Single Sign-On (SSO) with Joomla OAuth Client Plugin
Overview
Set up Single Sign-On (SSO) on your Joomla site using the PingFederate OAuth provider with the Joomla OAuth & OpenID
Connect plugin. By integrating PingFederate SSO into Joomla through the OAuth 2.0 authentication protocol, users can
securely log in to Joomla websites and applications by authenticating with the PingFederate OAuth provider.
The PingFederate OAuth Joomla plugin also offers advanced features such as automatic user creation, attribute
mapping, and group mapping. To learn more about the features and pricing plans available for the Joomla OAuth Single
Sign-On plugin (OAuth & OpenID Connect), please visit our Joomla OAuth Client Plugin page.
Configuration Steps
In this configuration, PingFederate functions as the OAuth server, while Joomla allows users to log in with their PingFederate 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 PingFederate as OAuth Server, then click on the Save & Next button.
Step 2: Configure PingFederate as OAuth Server
- Login to your PingFederate User Admin dashboard.
- Click on the OAuth Server in the left navigation menu.
- Under Clients section, click on Create New.
- Copy the Redirect/Callback URL from the module/plugin and enter it in Redirect URIs field and click on Add. Select the Authorization Code grant type and click on the Save.
Step 3: Configure Client ID & Secret
- Enter the Client ID, Name and Description. Select Client Secret in Client Authentication and click on Generate Secret. Take a note of your Client ID & Client Secret.
- 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 PingFederate as a custom OAuth or OIDC provider.
Scope | openid |
Authorize Endpoint | https://{your-base-url}/as/authorization.oauth2 |
Access Token Endpoint | https://{your-base-url}/as/token.oauth2 |
Get User Info Endpoint | https://{your-base-url}/idp/userinfo.oauth2 |
Set Client Credentials | In Both (In Header and In Body) |
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.