Search Results :

×

Joomla OAuth Client Integration with Keycloak Single Sign-On (SSO)


Set up Single Sign-On (SSO) on your Joomla site via Keyclaok OAuth provider with the help of Joomla OAuth & OpenID Connect plugin. Integrating Keycloak 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 Keycloak OAuth provider. The Keyclaok 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.

Pre-requisites : Download And Installation

  • 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 Start Using miniOrange OAuth Server plugin.
  • Under the Configure OAuth tab, click on the ADD button.
Get Started with OAuth Server Setup

Steps to configure OAuth SSO into Joomla

1. Configure Callback/Redirect URL

  • 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 the OAuth Server, then click on the Save & Next button.
  • OAuth Single Sign-On SSO into Joomla - Copy Redirect URL
  • Next we will configure Keycloak as OAUth provider.

  • Start Server: Start the keycloak server by running the _standalone.sh_ file

    Root Directory of keycloak/bin/standalone.sh

  • Add Realm: Now login to keycloak administration console and navigate to your desired realm. You can add new realm by selecting Add Realm option.
  • Keycloak SSO OAuth openid-connect  add realm
  • Create Realm: Enter Realm Name and click on CREATE to add realm.
  • Keycloak SSO OAuth openid-connect  add realm
  • Now, enter the Display name and click on the Save button.
  • Keycloak SSO OAuth openid-connect  Add Role
  • Navigate to the Clients tab and click on Create button.
  • Keycloak SSO OAuth openid-connect  Add User
  • Enter the Client ID and click on the Save button.
  • Keycloak SSO OAuth openid-connect  Credentials
  • Paste the previously copied Callback/Redirect URL into the Valid Redirect URLs text field and click on Save button.
  • Keycloak SSO OAuth openid-connect  Role Mapping
  • Go to the Credentials tab and copy the Secret. This will be your Client Secret in the Joomla OAuth Plugin.
  • Keycloak SSO OAuth openid-connect

  • Add Realm: Now login to keycloak administration console and navigate to your desired realm. You can add new realm by selecting Create Realm option.
  • Azure AD user sync with Joomla - Home Screen
  • Create realm: Enter Realm Name and keep the realm name handy as it will required later to configure the Realm under the OAuth Client plugin. Click on CREATE to add realm.
  • Setup ldap guide on window server - Directory-service
  • Create OpenID client: Click on the Clients and choose Create Client to create a new client.
  • Setup ldap guide on window server - default-setting
  • Enter Client ID and select client protocol OpenID-connect and click on Next.
  • Setup ldap guide on window server - default-setting
  • Enable the Client Authentication and Authorization toggle and click on Next.
  • Setup ldap guide on window server - NetBIOS Domain
  • Scroll down to the Access settings and enter your Callback/Redirect URL which you will get from your miniOrange plugin present on your Client side under the CallBack URLs text-field.
  • Setup ldap guide on window server - AD-Ds-database
  • Go to the Credentials tab, copy the Client Secret and keep it handy as we will require it later while configuring Joomla OAuth Single Sign-On plugin.
  • Setup ldap guide on window server - ldap server

2. Configure Client ID and Secret

  • Go to the Step 2 [Client ID & Secret] tab of the Joomla OAuth Client plugin, here paste the Client ID, Client Secret and Tenant. Click on the Save Configuration button.
  • OAuth Single Sign-On SSO into Joomla - Save Configuration

2.1. Scope & Endpoints

  • Scope & Endpoints are given below, which are required for configuring Joomla as OAuth Client plugin to configure Keycloak as a custom OAuth or OIDC provider.
  • Scope:
    openid email profile
    Authorize Endpoint:
    <Keycloak base URL>/realms/{realm-name}/protocol/openid-connect/auth
    Access Token Endpoint:
    <Keycloak base URL>/realms/{realm-name}/protocol/openid-connect/token
    Get User Info Endpoint:
    <Keycloak base URL>/realms/{realm-name}/protocol/openid-connect/userinfo
    Set Client Credentials:
    In Header
  • 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.
Upload IdP
    Metadata

  • You will be able to see the attributes in the Test Configuration output as follows.
Upload IdP
    Metadata

  • 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.
Upload IdP
    Metadata

  • 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.
Upload IdP
    Metadata

  • 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.


In this guide, you have successfully configured Joomla Keycloak Single Sign-On (SSO) by configuring Keycloak as OAuth Provider and Joomla as OAuth Client using our Joomla OAuth Client plugin.This solution ensures that you are ready to roll out secure access to your Joomla site using Keycloak login credentials within minutes.

Joomla Keycloak User Sync

Joomla Keycloak User Sync

The Keycloak user sync plugin for Joomla allows you to synchronize and provision your Joomla users into Keycloak and vice versa.

Additional Resources


Mail us on joomlasupport@xecurify.com for quick guidance(via email/meeting) on your requirement and our team will help you to select the best suitable solution/plan as per your requirement.

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