Search Results :

×

SAML Single Sign-On into Joomla using Azure AD B2C | Login using Azure AD B2C as IDP


Azure AD B2C SAML Single sign-on (SSO) is an authentication method that enables Azure AD B2C users to access multiple Joomla applications with one login and one set of credentials.

What is SSO ?


Single sign-on (SSO) is anauthenticationmethod 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 betweenService ProviderandIdentity provider, SAML isintegration 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.


Our plugin is compatible with Joomla 4 as well as with all the SAML 2.0 compliant Identity Providers. Here we will go through a step-by-step guide to configure SAML SSO login between Joomla site and Azure AD B2C by considering Azure AD B2C as IdP (Identity Provider) & Joomla as SP (Service Provider).

Download of Plugin



Configuration Support and Free Trial

If you want support in configuring the plugin, or to integrate Azure AD B2C with Joomla, click on Free Configuration Setup button.

We provide a 7 day full feature trial wherein you can fully test out all the features of the plugin, click on Free Business Trial button.

Steps to Integrate Azure AD B2C Single Sign-On (SSO) with Joomla SAML SP

1. Configure Azure AD B2C as IdP

Follow the steps below to configure Azure B2C as an Identity Provider

Joomla Azure B2C SSO | miniorange img Configure Azure B2C as IdP
  • In the Joomla SAML SP SSO plugin, navigate to Service Provider Metadata tab. Here, you can find the SP metadata such as SP Entity ID and ACS ( AssertionConsumerService ) URL which are required to configure Azure B2C as the Identity Provider.
  • Joomla Azure B2C SSO | Single Sign On (SSO) for Azure B2C Joomla login - initiated sso

1.1. Register Azure B2C Applications

miniorange img Register the Identity Experience Framework application
  • Login into Azure B2C Portal
  • From the Azure AD B2C tenant, select App registrations, and then select New registration.
  • Joomla Azure B2C SSO | Single Sign On (SSO) for Azure B2C Joomla login - Identity Experience FrameWork
  • For Name, enter IdentityExperienceFramework.
  • Under Supported account types, select Accounts in this organizational directory only.
  • Joomla Azure B2C SSO | Single Sign On (SSO) for Azure B2C Joomla login - Register an Application
  • Under Redirect URI, select Web, and then enter https://your-tenant-name.b2clogin.com/your-tenant-name.onmicrosoft.com, where your-tenant-name is your Azure AD B2C tenant domain name.
  • NOTE:

    In the following step if the 'Permissions' section is not visible then it might be the reason that you don't have an active AzureAD B2C subscription for that tenant. You can find the details regarding the AzureAD B2C subscription here and you can create a new tenant by following the steps here.


  • Under Permissions, select the Grant admin consent to openid and offline_access permissions check box.
  • Select Register.
  • Joomla Azure B2C SSO | Single Sign On (SSO) for Azure B2C Joomla login - Redirect URL
  • Record the Application (client) ID for use in a later step.
  • Joomla Azure B2C SSO | Single Sign On (SSO) for Azure B2C Joomla login - Application Client ID
miniorange img Register the Identity Experience Framework application
  • Under Manage, select Expose an API.
  • Select Add a scope, then select Save and continue to accept the default application ID URI.
  • Joomla Azure B2C SSO | Single Sign On (SSO) for Azure B2C Joomla login - Expose an api
  • Enter the following values to create a scope that allows custom policy execution in your Azure AD B2C tenant:
    1. Scope name: user_impersonation
    2. Admin consent display name: Access IdentityExperienceFramework
    3. Admin consent description: Allow the application to access IdentityExperienceFramework on behalf of the signed-in user.
  • Select Add scope
  • Joomla Azure B2C SSO | Single Sign On (SSO) for Azure B2C Joomla login - custom scopes
miniorange img Register the ProxyIdentityExperienceFramework application
  • Select App registrations, and then select New registration.
  • For Name, enter ProxyIdentityExperienceFramework.
  • Under Supported account types, select Accounts in this organizational directory only.
  • Azure B2C Joomla login | Single Sign On (SSO) for Azure B2C Joomla login - Original Directory
  • Under Redirect URI, use the drop-down to select Public client/native (mobile & desktop).
  • For Redirect URI, enter myapp://auth.
  • Under Permissions, select the Grant admin consent to openid and offline_access permissions check box.
  • Select Register.
  • Azure B2C Joomla login | Single Sign On (SSO) for Azure B2C Joomla login - Register
  • Record the Application (client) ID for use in a later step.
  • Azure B2C Joomla login | Single Sign On (SSO) for Azure B2C Joomla login -  application proxy
miniorange img Next, specify that the application should be treated as a public client
  • Under Manage, select Authentication.
  • Under Advanced settings, enable Allow public client flows (select Yes).
  • Select Save.
  • Azure B2C Joomla login | Single Sign On (SSO) for Azure B2C Joomla login - proxy authentication
miniorange img Now, grant permissions to the API scope you exposed earlier in the IdentityExperienceFramework registration
  • Under Manage, select API permissions.
  • Under Configured permissions, select Add a permission.
  • Azure B2C Joomla login | Single Sign On (SSO) for Azure B2C Joomla login - authentication
  • Select the My APIs tab, then select the IdentityExperienceFramework application.
  • Azure B2C Joomla login | Single Sign On (SSO) for Azure B2C Joomla login - API permissions
  • Under Permission, select the user_impersonation scope that you defined earlier.
  • Select Add permissions. As directed, wait a few minutes before proceeding to the next step.
  • Azure B2C Joomla login | Single Sign On (SSO) for Azure B2C Joomla login - My APIs
  • Select Grant admin consent for (your tenant name).
  • Joomla SAML Azure B2C | Single Sign On (SSO) for Azure B2C Joomla login - Grant Admin
  • Select your currently signed-in administrator account, or sign in with an account in your Azure AD B2C tenant that's been assigned at least the Cloud application administrator role.
  • Select Yes.
  • Select Refresh, and then verify that "Granted for ..." appears under Status for the scopes - offline_access, openid and user_impersonation. It might take a few minutes for the permissions to propagate.
  • Joomla SAML Azure B2C | Single Sign On (SSO) for Azure B2C Joomla login - B2C,Status og admin access
miniorange img Register the Joomla Application
  • Select App registrations, and then select New registration.
  • Enter a Name for the application such as: Joomla.
  • Under Supported account types, select Accounts in any organizational directory or any identity provider. For authenticating users with Azure AD B2C.
  • Joomla SAML Azure B2C | Single Sign On (SSO) for Azure B2C Joomla login - Supported account types
  • Under Redirect URI, select Web, and then enter the ACS URL from the Service Provider Metadata tab of the miniOrange SAML plugin.
  • Select Register.
  • Joomla SAML Azure B2C | Single Sign On (SSO) for Azure B2C Joomla login - app Register
  • Under Manage, click on Expose an API.
  • Click on Set for the Application ID URI and then click on Save, accepting the default value.
  • Joomla SAML Azure B2C | SAML Single Sign-On (SSO) using Azure B2C as Identity Provider (IdP),for SAML 2.0 Azure B2C,WP-app Expose a sso login
  • Once saved, copy the Application ID URI and navigate to the Service Provider Metadata tab of the plugin.
  • Joomla SAML Azure B2C | Single Sign On (SSO) for Azure B2C Joomla login - custom login page
  • Paste the copied value under the SP Entity ID / Issuer field provided in this tab.
  • Click on Save.

1.2. Generate SSO Policies

  • From our Azure B2C portal, navigate to the Overview section of your B2C tenant and record your tenant name.
    NOTE: If your B2C domain is b2ctest.onmicrosoft.com, then your tenant name is b2ctest.
  • Joomla SAML Azure B2C | Single Sign On (SSO) for Azure B2C Joomla login - B2C tenant ID Reco
  • Enter your Azure B2C tenant name below, along with the application ID for IdentityExperienceFramework and
    ProxyIdentityExperienceFramework apps as registered in the above steps.

  • Azure B2C tenant Name:
    IdentityExperienceFramework app ID:
    ProxyIdentityExperienceFramework app ID:
    Select additional attributes


  • Click on the Generate Azure B2C Policies button to download the SSO policies.
  • Extract the downloaded zip file. It contains the policy files and certificate (.pfx), which you will require in the following steps.

1.3. Setup Certificates

NOTE:

In the following step if the 'Identity Experience Framework' is not clickable then it might be the reason that you don't have an active Azure AD B2C subscription for that tenant. You can find the details regarding the Azure AD B2C subscription here and you can create a new tenant by following the steps here.

miniorange img Upload the Certificate
  • Sign in to the Azure portal and browse to your Azure AD B2C tenant.
  • Azure AD B2C SAML Single Sign-On SSO into Joomla | login using Azure AD B2C into Joomla, - framework
  • Under Policies, select Identity Experience Framework and then Policy keys.
  • Azure AD B2C SAML Single Sign-On SSO into Joomla | login using Azure AD B2C into Joomla, - Policy keys
  • Select Add, and then select Options > Upload
  • Enter the Name as SamlIdpCert. The prefix B2C_1A_ is automatically added to the name of your key.
  • Azure AD B2C SAML Single Sign-On SSO into Joomla | login using Azure AD B2C into Joomla, - Create a Key
  • Using the upload file control, upload your certificate that was generated in the above steps along with the SSO policies (tenantname-cert.pfx).
  • Enter the certificate's password as your tenant name and click on Create. For example, if your tenant name is xyzb2c.onmicrosoft.com, enter the password as xyzb2c
  • You should be able to see a new policy key with the name B2C_1A_SamlIdpCert.
miniorange img Create the signing key
  • On the overview page of your Azure AD B2C tenant, under Policies, select Identity Experience Framework.
  • Select Policy Keys and then select Add.
  • For Options, choose Generate.
  • In Name, enter TokenSigningKeyContainer.
  • For Key type, select RSA.
  • For Key usage, select Signature.
  • Azure AD B2C SAML Single Sign-On SSO into Joomla | login using Azure AD B2C into Joomla, - Create the signing key
  • Select Create.
miniorange img Create the encryption key
  • On the overview page of your Azure AD B2C tenant, under Policies, select Identity Experience Framework.
  • Select Policy Keys and then select Add.
  • For Options, choose Generate.
  • In Name, enter TokenEncryptionKeyContainer.
  • For Key type, select RSA.
  • For Key usage, select Encryption.
  • Azure AD B2C SAML Single Sign-On SSO into Joomla | login using Azure AD B2C into Joomla, - Create the encryption key
  • Select Create.

1.4. Upload the Policies

  • Select the Identity Experience Framework menu item in your B2C tenant in the Azure portal.
  • Azure AD B2C SAML Single Sign-On SSO into Joomla | login using Azure AD B2C into Joomla, - Upload the Policies
  • Select Upload custom policy.
  • Azure AD B2C SAML Single Sign-On SSO into Joomla | login using Azure AD B2C into Joomla, - identity experience framework
  • As per the following order, upload the policy files downloaded in the above steps:
    • TrustFrameworkBase.xml
    • TrustFrameworkExtensions.xml
    • SignUpOrSignin.xml
    • ProfileEdit.xml
    • PasswordReset.xml
    • SignUpOrSigninSAML.xml
  • As you upload the files, Azure adds the prefix B2C_1A_ to each.

You have successfully configured Azure B2C as SAML IdP (Identity Provider) for achieving Joomla Azure B2C Single Sign-On (SSO) Login, ensuring secure login into 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:

miniorange img By Metadata URL:
  • Click on Upload IDP Metadata.
  • Azure AD B2C SAML Single Sign-On SSO into Joomla | login using Azure AD B2C into Joomla, - Upload the Policies
  • Enter Metadata URL (Copy from IDP app) and click on Fetch Metadata.
  • Azure AD B2C SAML Single Sign-On SSO into Joomla | login using Azure AD B2C into Joomla, - Upload the Policies
miniorange img By Uploading Metadata File:
  • Click on choose metadata file and click on Upload.
  • Azure AD B2C SAML Single Sign-On SSO into Joomla | login using Azure AD B2C into Joomla, - Upload the Policies
miniorange img 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
    Azure AD B2C SAML Single Sign-On SSO into Joomla | login using Azure AD B2C into Joomla, - Upload the Policies
  • Click on Test Configuration.
  • Azure AD B2C SAML Single Sign-On SSO into Joomla | login using Azure AD B2C into Joomla, - Upload the Policies Azure AD B2C SAML Single Sign-On SSO into Joomla | login using Azure AD B2C into Joomla, - Upload the Policies

3. Attribute Mapping - Premium Feature (Included with Business Trial)

  • 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)
  • Attribute Mapping
  • 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
login using aws into joomla page restriction

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

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

Additional Resources.

Miniorange Joomla SAML Single sign-on(web SSO) supports multiple known IDPs like WSO2, 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