Azure B2C WordPress Single Sign On (SSO) login with our WordPress SAML Single Sign-On (SSO) module. WordPress Azure B2C SSO allows your users to login to your WordPress and access the site by authenticating with their Azure B2C Identity Provider (IDP) credentials. You can also configure plugin using different IDPs such as Azure B2C / Azure AD, Office 365, and other custom providers. Our WordPress Azure B2C SSO solution will make WordPress (WP) SAML 2.0 compliant Service Provider (SP), establishing trust between the WordPress (WP) site and Azure B2C to securely authenticate and login users to the WordPress (WP) site. It also provides Seamless support for advanced Windows SSO features like Attribute & Group Mapping, Populate Employee information from Azure B2C / Azure AD to WordPress (WP), Intranet SSO / Internet SSO, Mapping the profile picture from Azure B2C / Azure AD to your WordPress (WP) avatar, etc.
Here, we will go through a guide to configure SAML Single Sign-On SSO for WordPress Azure B2C login by considering Azure B2C as IDP (Identity Provider) and WordPress as SP (Service Provider). Our WordPress Azure B2C SSO solution provides Unlimited user authentications from Azure B2C. To know more about other features we provide in WordPress (WP) SAML Single Sign-On (SSO) plugin, you can click here.
Pre-requisites : Download And Installation
Log into your WordPress (WP) instance as an Admin.
Access the WordPress SSO Plugin for configuring WordPress (WP) Azure B2C SSO by considering Azure B2C as SAML IDP for WordPress (WP) by clicking below:
Steps to configure Azure B2C Single Sign-On (SSO) Login into WordPress (WP)
1. Setup Azure B2C as IdP (Identity Provider)
Follow the steps below to configure Azure B2C as an Identity Provider
Configure Azure B2C as IdP
In the WordPress (WP) 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.
2. Register Azure B2C Applications
Register the Identity Experience Framework application
From the Azure AD B2C tenant, select App registrations, and then select New registration.
For Name, enter IdentityExperienceFramework.
Under Supported account types, select Accounts in this organizational directory only.
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.
Record the Application (client) ID for use in a later step.
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.
Enter the following values to create a scope that allows custom policy execution in your Azure AD B2C tenant:
Admin consent description:Allow the application to access IdentityExperienceFramework on behalf of the signed-in user.
Select Add scope
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.
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.
Record the Application (client) ID for use in a later step.
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.
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.
Select the My APIs tab, then select the IdentityExperienceFramework application.
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.
Select Grant admin consent for (your tenant name).
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.
Register the WordPress Application
Select App registrations, and then select New registration.
Enter a Name for the application such as: WordPress.
Under Supported account types, select Accounts in any organizational directory or any identity provider. For authenticating users with Azure AD B2C.
Under Redirect URI, select Web, and then enter the ACS URL from the Service Provider Metadata tab of the miniOrange SAML plugin.
Select 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.
Once saved, copy the Application ID URI and navigate to the Service Provider Metadata tab of the plugin.
Paste the copied value under the SP Entity ID / Issuer field provided in this tab.
Click on Save.
3. 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.
Enter your Azure B2C tenant name below, along with the application ID for IdentityExperienceFramework and ProxyIdentityExperienceFramework apps as registered in the above steps.
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.
4. 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.
Upload the Certificate
Sign in to the Azure portal and browse to your Azure AD B2C tenant.
Under Policies, select Identity Experience Framework and then 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.
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.
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.
Select Create.
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.
Select Create.
5. Upload the Policies
Select the Identity Experience Framework menu item in your B2C tenant in the Azure portal.
Select Upload custom policy.
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 WordPress Azure B2C Single Sign-On (SSO) Login, ensuring secure login into WordPress (WP) Site.
6. Configure the plugin
Navigate to the Service Provider Setup tab of the plugin and click on the Upload IDP Metadata button.
Provide any IDP Name. For example, AzureB2C
Enter the Metadata URL as https://tenant-name.b2clogin.com/tenant-name.onmicrosoft.com/B2C_1A_signup_signin_saml/Samlp/metadata
(NOTE :You will need to replace the tenant-name in above URl with Azure B2C tenant name)
Click on the Fetch Metadata button.
7. How to configure SAML Single Logout in Azure AD B2C?
To access SLO users would first require the SLO URL which is provided in the Service Provider Metadata tab of the Plugin. (Premium Feature)
Copy the SLO Url from the SAML Single Sign-On – SAML SSO Login Plugin.
Navigate to Azure AD B2C portal, navigate to the App ( connected to the WordPress (WP) ).
In the left panel and select the Manifest tab.
Place the Single Logout URL in the manifest code by replacing the NULL value.
You have successfully configured Single Logout functionality with Azure B2C.
In the free plugin, only NameID is supported for Email and Username attributes of the WordPress (WP) user.
When a user performs SSO, the NameID value sent by the IDP will get mapped to the email and username of the WordPress (WP) user.
9. Role Mapping
In the free plugin, you can choose a default role which will be assigned to all the non-admin users when they perform SSO.
Go to Attribute/Role mapping tab and navigate to Role Mapping section.
Select the Default Role and click on the Update button.
10. SSO settings
In the free plugin you can add a Single Sign-On button by enabling Add a Single Sign-On button on the WordPress (WP) Login Page toggle in Option 1.
If your WordPress theme supports login widget, you can add a login widget to enable SP-Initiated SSO on your site.
Navigate to Redirection and SSO links tab and follow the given steps given under Option 2: Use a Widget to add a login widget on your site.
8. Attribute Mapping
Attribute Mapping feature allows you to map the user attributes sent by the IDP during SSO to the user attributes at WordPress (WP).
In WordPress (WP) SAML plugin, go to Attribute/Role Mapping tab and fill up the following fields in Attribute Mapping section.
NOTE: If you click on Test Configuration button in Service Provider Setup tab and authenticate with your IDP, you can see a list of attributes sent by the IDP in the Attribute/Role mapping tab. This information can be used to
provide the above mapping.
9: Role Mapping
In the standard plugin, you can choose a default role which will be assigned to all the non-admin users when they perform SSO.
Go to Attribute/Role mapping tab and navigate to Role Mapping section.
Select the Default Role and click on the Save button.
10: SSO settings
In the Standard plugin you can enable SP-initiated SSO using the following options.
Auto-Redirection from site: If this option is enabled, any unauthenticated user trying to access your site will get redirected to the IDP login page and after successful authentication, they will be redirected back to the same page
on your site which they were trying to access.
Steps:
1. Go to Redirection and SSO Links tab of the plugin and navigate to Option 1: Auto- Redirection from site.
2. Enable Redirect to IdP if user not logged in [PROTECT COMPLETE SITE] option.
Auto-Redirection from WordPress (WP) Login: If this option is enabled, any unauthenticated user trying to access the default WordPress (WP) login page will get redirected to the IDP login page for authentication. After successful authentication,
they will be redirected back to the WordPress (WP) site.
Steps:
1. Go to Redirection and SSO Links tab of the plugin and navigate to Option 2: Auto- Redirection from WordPress (WP) Login.
2. Enable Redirect to IdP from WordPress Login Page option.
NOTE: Please enable the Backdoor login and note down the backdoor URL. This will allow you to access the WordPress (WP) login page in case you get locked out of the IDP.
SSO Links: You can add SSO links anywhere on your site using the Shortcode and Widget provided in Redirection and SSO Links tab > Option 3: SSO Links section of the plugin
8. Attribute Mapping
Attribute Mapping feature allows you to map the user attributes sent by the IDP during SSO to the user attributes at WordPress (WP).
In WordPress (WP) SAML plugin, go to Attribute/Role Mapping tab and fill up the following fields in Attribute Mapping section.
Custom Attribute Mapping: This feature allows you to map any attribute sent by the IDP to the usermeta table of WordPress (WP).
9. Role Mapping
This feature allows you to assign and manage roles of the users when they perform SSO. Along with the default WordPress (WP) roles, this is compatible with any custom roles as well.
From the Attribute Mapping section of the plugin, provide a mapping for the field named Group/Role. This attribute will contain the role related information sent by the IDP and will be used for Role Mapping.
Navigate to role mapping section and provide the mappings for the highlighted roles.
For example, If you want a user whose Group/Role attribute value is wp-editor to be assigned as an Editor in WordPress (WP), just provide the mapping as wp-editor in the Editor field of Role Mapping section.
10. SSO settings
In the Premium plugin you can enable SP-initiated SSO using the following options.
Auto-Redirection from site: If this option is enabled, any unauthenticated user trying to access your site will get redirected to the IDP login page and after successful authentication they will be redirected back to the same page on
your site which they were trying to access.
Steps:
1. Go to Redirection and SSO Links tab of the plugin and navigate to Option 1 : Auto-Redirection from site. 2. Enable Redirect to IdP if user not logged in [PROTECT COMPLETE SITE] option.
Auto-Redirection from WordPress (WP) Login: If this option is enabled, any unauthenticated user trying to access the default WordPress (WP) login page will get redirected to the IDP login page for authentication. After successful authentication,
they will be redirected back to the WordPress (WP) site.
Steps:
1. Go to Redirection and SSO Links tab of the plugin and navigate to Option 2: Auto- Redirection from WordPress (WP) Login. 2. Enable Redirect to IdP from WordPress Login Page option.
NOTE: Please enable the Backdoor login and note down the backdoor URL. This will allow you to access the WordPress (WP) login page in case you get locked out of the IDP login.
Login Button: You can add a customized login button anywhere on your site or WordPress (WP) login page by navigating to Option 3: Login Button section of Redirection and SSO Links tab.
SSO Links: You can add SSO links anywhere on your site using the Shortcode and Widget provided in Option 4: SSO Links section of Redirection and SSO Links tab.
In this Guide, you have successfully configured WordPress (WP) Azure B2C SSO [SAML] (Azure B2C WordPress (WP) SSO / Azure B2C WordPress (WP) Login), choosing Azure B2C as IDP and WordPress (WP) as SP. WordPress (WP) SAML Single Sign On – SSO solution ensures that you are ready to roll out secure access / Login into WordPress (WP) site using Azure B2C login credentials.
Recommended Add-Ons
SCIM User Provisioning
Allows syncing user's creation, updation and deletion from your IDP to WordPress site