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
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();
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.
3. Configure Joomla as
Service Provider
In Joomla SAML plugin, go to Service Provider Setup tab. There are three ways to configure the plugin:
By Uploading Metadata File:
- In Joomla SAML plugin, go to Service Provider Setup tab, then click on Upload IdP
Metadata.
By Metadata URL:
- Enter Metadata URL (Copy from IDP app) and click on Fetch button.
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 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 URL
SAML Single-Sign-On Endpoint URL in the Federation Metadata document
|
X.509 Certificate Value
X.509 Certificate in the Federation Metadata document
|
- Click on Save button and then Test Configuration button.
- Once the test configuration is successful you will get the following window.
- Congratulations you have successfully configured Joomla SAML Service Provider.
4. Attribute Mapping - 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, address, phone etc.
- While auto registering the users in your Joomla site these attributes will automatically get mapped to your
Joomla user details.
- 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)
|
Name:
Name of the name attribute from IdP
|
- You can check the Test Configuration Results under Service Provider Setup tab
to get a better idea of which values to map here.
- Note: You can see how Attribute Mapping works here.
Step 5. Group Mapping - This is
Premium feature.
- Group/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.
- Note: You can see how Group/Role Mapping works here.
Step 6. Redirection &
SSO Links.
- Go to Login Settings tab. You can add login Url to Perform SAML SSO in your Joomla site by following
the steps below.
- There are multiple features available in this tab like Auto redirect the user to Identity Provider
and
Enable Backend Login for Super Users. To use these features, click on the respective checkboxes.
- Click on the Upgrade tab to check out our complete list of features and various licensing
plans. OR you can click here to check features and licensing plans.
- In case, you are facing some issue or have any question in mind, you can reach out to us by sending us your
query through the Support button in the plugin or by sending us a mail at
joomlasupport@xecurify.com.
Additional Resources.
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.
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.