SAML Single Sign-On into Joomla using IdentityServer4 | IdentityServer4 SSO | Login using IdentityServer4

SAML Single Sign-On into Joomla using IdentityServer4 | IdentityServer4 SSO | Login using IdentityServer4


IdentityServer4 Single Sign-On (SSO) login for Joomla [SAML] can be achieved by using our Joomla SAML SP Single Sign-On (SSO) plugin. Our plugin is compatible with Joomla 4 as well as with all the SAML-compliant Identity Providers. Here we will go through a step-by-step guide to configure SAML SSO login between the Joomla site and IdentityServer4  by considering IdentityServer4 as IdP (Identity Provider) and Joomla as SP (Service Provider).

If you are looking for anything which you cannot find, please drop us an email at joomlasupport@xecurify.com

What is SSO ?


Single sign-on (SSO) is an authentication method that enables users to access multiple applications with  one-click login  and one set of credentials. For example, after users log in to your org, they can automatically access all apps from the App Launcher. When you set up SSO, you configure one system to trust another to authenticate users , eliminating users' need to log in to each system separately. The system that authenticates users is called an Identity provider. The system that trusts the identity provider for authentication is called the Service provider.

SAML allows exchanging of information between Service Provider and Identity provider, SAML is integration between SP and IDP. When a user tries to log in, your identity provider sends SAML assertions containing facts about the user to Identity Provider. Identity Provider receives the assertion, validates it against your Identity Provider configuration, and allows the user to access your org.


IdentityServer4 Single Sign On (SSO) for Joomla miniOrange provides a ready to use solution for Joomla. This solution ensures that you are ready to roll out secure access to your Joomla site using IdentityServer4 within minutes.
Joomla SAML app gives the ability to enable SAML Single Sign-On for Joomla Site. Joomla site is compatible with all SAML Identity Providers. Here we will go through a guide to configure SAML SSO between Joomla and your Identity Provider. By the end of this guide, users from your Identity Provider should be able to login and register to Joomla site.

Pre-requisites : Download And Installation


  • Log into your Joomla instance as an admin.
  • Go to the Joomla Dashboard -> Extensions -> Manage and click on Install.
  • Seach for a Joomla SAML SSO plugin and then select SAML SSO for Joomla plugin by miniOrange
  • Then cllick on Install Now.

Steps to Integrate IdentityServer4 Single Sign-On (SSO) with Joomla SAML SP

1. Configure IdentityServer4 as IdP

Follow the following steps to Configure IdentityServer4 as IdP

miniorange img  | IdentityServer4 WordPress SAML SSO Configure IdentityServer4 as IdP

    Note: To add SAML IDP functionality you would require modifications in the Startup.cs file.

  • In the ConfigureServices method, your call to AddIdentityServer needs to be updated with the following code:
  •             

    services.AddIdentityServer()
    // the rest of registrations (clients, resources, users, etc)
      .AddSigningCredential(new X509Certificate2(/*your cert*/))
      .AddSamlPlugin(options => {      options.Licensee = "/*your license key org name*/";
         options.LicenseKey = "/*your license key*/";
    })
    .AddInMemoryServiceProviders(new List());

  • In the configure method, the call to UseIdentityServer needs to be extended with following code:
  •         

    app.UseIdentityServer()
      .UseIdentityServerSamlPlugin();

miniorange img Configure IdentityServer4 as Service Provider

  • In the Config.cs file create a Client entry.
  •             

    new Client {
       ClientId = "http://localhost:5001/saml",
       ClientName = "RSK SAML2P Test Client",
       ProtocolType = IdentityServerConstants.ProtocolTypes.Saml2p,
       AllowedScopes = { "openid", "profile" }
    }

    ClientId Provide clientId from Service Provider Metadata tab
    ClientName Provide Service Provider name
    ProtocolType IdentityServerConstants.ProtocolTypes.Saml2p
    AllowedScopes openid, profile
  • In the Config.cs configure SAML Specifics using Service Provider object.
  •             

    new ServiceProvider {
       EntityId = "http://localhost:5001/saml",
       SigningCertificates = {new X509Certificate2("TestClient.cer")},/*Enter the certificate name*/
       AssertionConsumerServices = { new Service(SamlConstants.BindingTypes.HttpPost, "http://localhost:5001/signin-saml") }
    };

  • Note: The Client ID and Entity ID must be Equal.
  • You would need the following information from the Service Provider Metadata.
  • Entity-Id Provide Entity-Id from Service Provider Metadata tab
    SigningCertificates Download the Certificate from Service Provider Metadata tab of the plugin and enter Certificate name
    Assertion Consumer Service URL Provide the required Binding type followed by the ACS URL:
    HttpPost method: SamlConstants.BindingTypes.HttpPost
    HttpRedirect method: SamlConstants.BindingTypes.HttpRedirect
    ACS URL: Provide ACS URL from Service Provider Metadata Tab
  • To configure your Service Provider retrieve IDP Metadata by visiting /saml/metadata URL.
  • You will get the endpoints required for the Service Provider configuration.
  • You have successfully configured IdentityServer4 as SAML IdP ( Identity Provider) for achieving IdentityServer4 SSO login into your Joomla Site.


2. Configure Joomla as Service Provider


  • In Joomla SAML plugin, go to Service Provider Setup Tab. There are three ways to configure the plugin:

      SAML SSO Single-Sign-On By Metadata URL :

      • Click on Upload IDP Metadata.
      • Joomla Single Sign On SSO SAML SP, Upload Metadata
      • Enter Metadata URL (Copy from IDP app) and click on Fetch Metadata.
      • Joomla Single Sign On SSO SAML SP, Upload Metadata URL

      SAML SSO Single-Sign-On By Uploading Metadata File:

      • Click on Upload IDP Metadata.
      • Choose metadata file and click on Upload.
      • Joomla Single Sign On SSO SAML SP, Upload Metadata file

      SAML SSO Single-Sign-On Manual Configuration :

      • Copy SAML Entity ID, SAML Single-Sign-On Endpoint URL and x.509 certificate from Federation Metadata document and paste it in IdP Entity ID or Issuer, Single Sign-on Service URL, x.509 Certificate fields respectively in the plugin.
      • IdP Entity ID or Issuer SAML Entity ID in the Federation Metadata document
        Single Sign-On Service URL SAML Single-Sign-On Endpoint URL in the Federation Metadata document
        X.509 Certificate x.509 Certificate in the Federation Metadata document

      SAML SSO Single-Sign-On Add a button on your site login page with the following URL:

        Joomla Single Sign On SSO SAML SP, Signin Settings

3. Attribute Mapping (It is Optional to fill this). This is Premium feature.

  • Attributes are user details that are stored in your Identity Provider.
  • Attribute Mapping helps you to get user attributes from your Identity Provider (IdP) and map them to Joomla user attributes like firstname, lastname etc.
  • While auto registering the users in your Joomla site these attributes will automatically get mapped to your Joomla user details.
  • In Joomla SAML plugin, go to Attribute Mapping tab and fill in all the fields.
    Username: Name of the username attribute from IdP (Keep NameID by default)
    Email: Name of the email attribute from IdP (Keep NameID by default)
    Group/Role: Name of the Role attribute from Identity Provider(IdP)
  • You can check the Test Configuration Results under Service Provider Setup tab to get a better idea of which values to map here.

4. Group Mapping (It is Optional to fill this). This is Premium feature.

  • Role mapping helps you to assign specific roles to users of a certain group in your Identity Provider (IdP).
  • While auto registering, the users are assigned roles based on the group they are mapped to.

5. Redirection & SSO Links

  • Go to Login Settings tab. There are multiple features availabe in this tab like Auto redirect the user to Identity Provider and Enable Backed Login for Super Users. To use these features, click on the respective checkboxes.
  • Joomla Single Sign On SSO SAML SP Signin Settings

    You have successfully completed your miniOrange SAML 2.0 SP configurations. Still, if you are facing any difficulty please mail us on joomlasupport@xecurify.com .

Recommended Add-Ons

User Sync SCIM Provisioning

Synchronize users, groups & directory with SCIM & REST APIs for Server.




Know More

Page Restriction

Page Restriction plugin restricts Joomla pages (Articles) based on User Roles and User's Login Status.



Know More

Integrate with Community Builder Customer

Using this Add-on you would be mapping the user details into the CB's comprofilers fields table which contains the values.


Know More

How miniorange Joomla SAML SSO plugin works?


SAML 2.0 SP Single Sign On ( SAML SSO) - Service Provider Plugin acts as a SAML 2.0 Service Provider which can be configured to establish the trust between the Joomla site and various SAML 2.0 supported Identity Providers to securely authenticate (Secure Login) the user to the Joomla site.
SAML 2.0 SP Single Sign On (SSO) - Service Provider plugin also provides Cross-Domain / Sub-domain login sharing with other Joomla websites.
We also provide a separate plugin that enables Joomla to act as an Identity Provider. It supports authentication with Joomla, user management, session management, change password, etc. You can configure any service provider with your Joomla site with the help of this plugin.

What is the use of the configuration or integration with SAML SSO?


Miniorange Provides best SAML Single Sign-On (SSO) solution to IdentityServer4. SSO reduces the number of attack surfaces because users only log in once each day and only use one set of credentials. Reducing login to one set of credentials improves enterprise security. When employees have to use separate passwords for each app, they usually don't.
Single Sign-On (SSO) is a highly secure user authentication process. SSO lets the users access multiple applications with a single account credential and sign out instantly with one click. Mini orange Joomla plugin supports SSO. To provide single sign-on services for your domain, Joomla acts as a service provider (SP) through the SAML (Secure Assertion Markup Language) standard.
IdentityServer4 [SAML] Single Sign-On (SSO) login for Joomla can be achieved by using our Joomla SAML SP Single Sign-On(SSO) plugin. Our plugin is compatible with all the SAML compliant Identity providers. Here we will go through a step-by-step guide to configure SAML SSO login between the Joomla site and IdentityServer4.

Additional Resources.

Miniorange Joomla SAML Single sign-on(web SSO) supports multiple known IDPs like ADFS, Azure AD, Salesforce,
Shibboleth, Onelogin, Okta, SimpleSamlPhp, Google apps, Bitium, OpenAM, miniorange IDP, Centrify and many more.

Business Trial

If you want Business Trial for FREE Click Here

If you don't find what you are looking for, please contact us at joomlasupport@xecurify.com or call us at +1 978 658 9387.

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