Set up Single Sign-On (SSO) on your WordPress website via the Azure B2C Identity Provider (IDP) with the WordPress OAuth & OpenID Connect Single Sign-On plugin. Implementing Azure B2C SSO allows users to log into your websites and applications with a single set of credentials using the enterprise-level Azure B2C OAuth provider.
Azure B2C, or Business-to-consumer, acts as the OAuth Provider and WordPress acts as the OAuth Client. WordPress Azure Authentication provides smooth login between these two, removing the need to remember usernames and passwords.
The Azure B2C OAuth WordPress plugin also provides advanced SSO features like user profile attribute mapping, role mapping, multi-tenant login, and granting site access based on an organization's email domains or B2C user groups. Azure Business-to-consumer WordPress OAuth SSO plugin secure’s the user’s login process and improves user authentication authority. Follow the steps in the guide below to install this plugin.
To know more details about different features provided in Azure AD SSO and Microsoft Office 365 SSO, please
click here.
If you want to enable users to unlock their account or reset passwords using Azure AD B2C self-service password reset, Refer to this
Setup Guide.
WordPress Azure Integration
WordPress Azure integration provides functionality to manage all the user operations from your WordPress site.
Click here
Prerequisites: Download and Installation
- Log into your WordPress instance as an admin.
- Go to the WordPress Dashboard -> Plugins and click on Add New.
- Search for a WordPress OAuth Single Sign-On (SSO) plugin and click on Install Now.
- Once installed click on Activate
Steps to configure Azure B2C Single Sign-On (SSO) Login into WordPress
1. Setup Azure B2C as OAuth Provider
- Sign in to Azure portal.
- Go to Home and in the Azure services, select Azure AD B2C.
- Please make sure you are in the Azure AD B2C directory with an active subscription and if not, you can switch to the correct directory.
- In the Essentials tab, you will find the Azure B2C domain name, keep it handy, you will need it later for configuring the Azure B2C tenant name under WordPress as an OAuth client.
What is Tenant Name?
You will need to copy the highlighted domain name portion only as shown in the below screenshot in order to configure the tenant name in the WordPress OAuth Client plugin.
Eg. If your domain name is 'exampledomain.onmicrosoft.com', then your tenant name will be 'exampledomain'.
- Now, click on App registrations and then click on the New registration option to create a new Azure b2c application.
- Configure the following options to create a new application.
- Enter a name for your application under the Name text field.
- In supported account types, select 3rd option ‘Accounts in any organizational directory (Any Azure AD directory - Multitenant) and personal Microsoft accounts (e.g. Skype, Xbox)’
- In the Redirect URI section, select the Web application and enter the Callback URL from the miniOrange OAuth Client plugin (Configure OAuth tab) and save it under the Redirect URL textbox.
- Click on the Register button to create your application.
- After successful application creation, you will be redirected to the newly created application’s overview page. If not, you can go to the app registrations and search the name of your application and you will find your application in the list.
- Copy your Application ID and keep it handy, you will need it later for configuring the Client ID under WordPress as an OAuth Client plugin.
- Now, click on Certificates and secrets and then click on New client secret to generate a client secret. Enter a description and click on the Add button.
- Copy the secret value from certificates & secrets page and keep it handy, you will need it later for configuring the Client Secret under WordPress as an OAuth Client plugin.
Step 1.1: Add Users in your b2c application
- In home page, go to the Users tab in the left corner
- Click on New user in the users page
- Select Create Azure AD B2C user. Then, scroll down and click on Email from sign in method and set your password and click create to save the user details to perform test configuration.
Step 1.2: How to create & add Azure B2C Policy
- Go to User Flows tab and then click on New user flow.
- Select a User flow type Sign up and Sign in then click on Create button.
- Fill all the information e.g. Name, Identity providers, etc. Select the User attributes you want to fetch while Signup. Then click on Create button.
- Copy the Policy name this value whenever you need to enter Azure B2C Policy in miniOrange OAuth Client plugin.
Step 1.3: Add user claims to your application
- Go to user flows under policies in the left corner.Select the configured policy.
- Select Application claims in settings
- Select the desired attributes to be displayed on the test configuration and save it.
Step 1.4: Configure ID-Token Claims in Azure B2C [Premium]
- Go to your application in Azure Active Directory and select Token configuration from the left menu.
- Click on Add optional claim and then select ID from the right section.
- Now choose all the attributes you want to fetch while SSO (e.g family_name, given_name, etc) and click on Add button.
- You might see a popup to Turn on the Microsoft Graph profile permission (required for claims to appear in token), enable it, and click on Add button.
You have successfully configured Azure AD B2C as OAuth Provider for achieving user authentication with Azure AD B2C Single Sign-On (SSO) login into your WordPress Site.
2. Setup WordPress as OAuth Client
3. User Attribute Mapping
- User Attribute Mapping is mandatory for enabling users to successfully login into WordPress. We will be setting up user profile attributes for WordPress using below settings.
Finding user attributes
- Go to Configure OAuth tab. Scroll down and click on Test Configuration.
- You will see all the values returned by your OAuth Provider to WordPress in a table. If you don't see value for First Name, Last Name, Email or Username, make the required settings in your OAuth Provider to return this information.
- Once you see all the values in Test Configuration, go to Attribute / Role Mapping tab, you will get the list of attributes in a Username dropdown.
4. Steps to fetch Azure B2C Groups
- Activate the Azure B2C Role Mapping Addon along with the paid version of the WordPress OAuth Client Single Sign-On (SSO) plugin.
- Go to your Azure B2C Portal and click on the Roles and administrators option.
- Search for User administrator from the list and click on it.
- Click on Add assignments. Search and select your Azure B2C SSO application and click on Add button.
- Now click on Your Azure Application. Search and click on Assign user and groups.
- Click on Add user/group. You can select the users need to be added to a specific group.
- Click on Groups, then click on Add membership it will open Select group modal, So select the groups you want to fetch in your WordPress website.
- Select the added Group, and click on Members.
- Click on Add members, and add users to the selected group.
- You can now test the configuration of the Azure B2C application by clicking on the Test Configuration button in the Configure OAuth tab of the OAuth Client Single Sign-On (SSO) plugin. Here, you will be able to see the assigned B2C Group IDs of the users in the attribute name b2cGroups.
- Scroll down and go to the Role Mapping section, you need to map Group Attribute Name. Select the attribute name from the list of attributes that return the groups from the test configuration table of Azure B2C.
- Assign the WordPress role to the Provider Groups: Based on the Azure B2C application, you can allocate the WordPress role to Azure B2C Groups. Add the Azure B2C group's value under Group Attribute Value and assign the required WordPress role in front of it under WordPress Role.
5. Steps to configure Azure B2C Groups in plugin [Premium]
- Go to the Attribute Mapping section in the plugin and map the Attribute Names from the Test Configuration table. Make sure Enable Role Mapping option is enabled and click on the Save Settings button. (Refer to the screenshot)
- Scroll down and go to the Role Mapping section, you need to map Group Attribute Name. Select the attribute name from the list of attributes that return the groups from the test configuration table of Azure B2C.
Eg: b2cGroups
- Assign the WordPress role to the Provider Groups: Based on the Azure B2C application, you can allocate the WordPress role to Azure B2C Groups. Add the Azure B2C group's value under Group Attribute Value and assign the required WordPress role in front of it under WordPress Role.
For example, in the below image. Group value has been assigned the role of Subscriber.
- Once you save the mapping, the Azure B2C group will be assigned the WordPress Subscriber role after SSO.
Example: As per the given example, a User with group value will be added as a Subscriber.
6. Sign In Settings
- The settings in Single Sign-On (SSO) Settings tab define the user experience for Single Sign-On (SSO). To add a Azure B2C login widget on your WordPress page, you need to follow the below steps.
Azure B2C Single Sign-On (SSO) should now be successfully configured with Azure B2C as the OAuth Provider and WordPress as the OAuth Client. Azure Business-to-consumer SSO should fulfill all your needs with features like multi-factor authentication, multiple OAuth 2.0 and OpenID connect 1.0 grant type support, attribute mapping, role mapping, etc.
Additional Resources
Mail us on oauthsupport@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.