Configure Azure B2C Single Sign-On (SSO) with WordPress OAuth
Overview
Azure B2C Single Sign-On (SSO) for WordPress uses OAuth Authorization flow to provide users secure access to WordPress site. With our WordPress OAuth Single Sign-On (SSO) plugin, Azure B2C acts as the OpenID Connect and OAuth provider, ensuring secure Single Sign-On (SSO) login for WordPress websites. The integration of WordPress with Azure B2C simplifies and secures the login process using Azure B2C OAuth. This solution allows employees to access their WordPress sites with a single click using their Azure B2C credentials, completely removing the need to store, remember, and reset multiple passwords. In addition to offering Azure B2C SSO functionality, the plugin extends its support to various IDPs, including Azure AD, Office 365, and specialized providers, offering robust Single Sign-On (SSO) capabilities like multi-tenant login, role mapping, and user profile attribute mapping. For a detailed overview of the features, check out the WordPress OAuth Single Sign-On (SSO) plugin. You can follow the below steps to setup Azure B2C Single Sign-On (SSO) with WordPress. To know more details about different features provided in Azure AD SSO and Microsoft Office 365 SSO, please click here
WordPress Azure integration provides functionality to manage all the user
operations from your WordPress site. [Sync user profile from WordPress to Microsoft Entra ID (Azure
AD)]
Pre-requisites : 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.
- In home page, go to the Users tab in the left corner
- Click on New user in the users page. Then click on Create new user option.
- 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.
- 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.
- 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.
- 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.
Note: The client secret for your developer application will expire in 180 days. To ensure continued functionality, you will need to generate a new client secret before the expiration and update it in the OAuth Single Sign-On plugin.
Step 1.1: Add Users in your b2c application
Step 1.2: How to create & add Azure B2C Policy
Step 1.3: Add user claims to your application
Step 1.4: Configure ID-Token Claims in Azure B2C [Premium]
You have successfully configured Azure B2C as OAuth Provider for achieving Azure B2C SSO (Single Sign-On) with WordPress for user authentication.
Step 2: Setup WordPress as OAuth Client
- Free
- Premium
Step 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.
- 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.
Finding user attributes:
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.
Step 6: Sign In Settings
- WordPress 5.7 and below
- WordPress 5.8
- WordPress 5.9 and above