Configure Azure B2C Single Sign-On (SSO) Session WordPress OAuth | Azure B2C SSO

Configure Azure B2C Single Sign-On (SSO) Session WordPress OAuth | Azure B2C SSO


Configure Azure B2C Single Sign-On (SSO) with WordPress OAuth & OpenID Connect Single Sign-On (SSO) plugin. Enable secure login into WordPress using Microsoft Azure B2C as OAuth and OpenID Connect provider. Azure B2C Single Sign-On (SSO) with WordPress allows your users to login to your WordPress and access the site by authenticating with their Azure B2C identity provider. You can also configure plugin using different IDPs such as Azure AD, Office 365, and other custom providers. It supports advanced Single Sign-On (SSO) features such as user profile Attribute mapping, Role mapping, multi-tenant login etc. Here we will go through a guide to configure Single Sign-On (SSO) between WordPress and Azure B2C for user authentication. By the end of this guide, users should be able to perform secure login to WordPress and access the site with Azure B2C SSO. To know more about other features we provide in WP OAuth Single Sign-On ( OAuth & OpenID Connect Client ) plugin, you can click here.

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.
  • Azure AD B2C Single Sign-on (SSO) - 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.
  • Azure AD B2C Single Sign-on (SSO) - Login Applications
  • Now, click on App registrations and then click on the New registration option to create a new Azure b2c application.
  • Azure AD B2C Single Sign-on (SSO) - Login Applications
  • 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 identity provider or organizational directory (for authenticating users with user flows)’
    • 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.
    • Azure AD B2C Single Sign-on (SSO) - Create
  • 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.
  • Azure AD B2C Single Sign-on (SSO) - Applications option
  • Copy your Application ID and save it under your Client ID textbox in your miniOrange OAuth Client plugin.
  • Azure AD B2C Single Sign-on (SSO) - Application ID
  • For the Azure B2C tenant, copy the domain name under Essentials in the home page and save it. We will require it later while configuring WordPress as OAuth Client.
  • Azure AD B2C Single Sign-on (SSO) - Generate Key
  • Then 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.
  • Azure AD B2C Single Sign-on (SSO) - Generate Key
  • Copy the secret value from certificates & secrets page and store it as a Client secret in your miniOrange OAuth Client plugin.
  • Azure AD B2C Single Sign-on (SSO) - Generate Key

Step 1.1: Add Users in your b2c application

  • In home page, go to the Users tab in the left corner
  • Azure AD B2C Single Sign-on (SSO) - user flow
  • Click on New user in the users page
  • Azure AD B2C Single Sign-on (SSO) - user flow
  • Select Create Azure AD B2C user. Then, click on Email from sign in method and set your password and click create to save the user details to perform test configuration.
  • Azure AD B2C Single Sign-on (SSO) - user flow Azure AD B2C Single Sign-on (SSO) - user flow

Step 1.2: How to create & add Policy

  • Go to User Flows tab and then click on New user flow.
  • Azure AD B2C Single Sign-on (SSO) - user flow
  • Select a User flow type Sign up and Sign in then click on Create button.
  • Azure AD B2C Single Sign-on (SSO) - sect user flow
  • Fill all the information e.g. Name, Identity providers, etc. then click on Create button.
  • Azure AD B2C Single Sign-on (SSO) - information of user flow
  • 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.
      • Azure AD B2C Single Sign-on (SSO) - information of user flow
      • Select Application claims in settings
      • Azure AD B2C Single Sign-on (SSO) - information of user flow
      • Select the desired attributes to be displayed on the test configuration and save it.
      • Azure AD B2C Single Sign-on (SSO) - information of user flow

      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

      • Go to Configure OAuth tab and configure App Name, Client ID, Client Secret, Tenant name and Policy from provided Endpoints
      • openid is already filled.
      • Click on Save Settings to save the configuration.
      • Azure AD B2C Single Sign-On (SSO) - SSO login with azure b2c

      You have successfully configured WordPress as OAuth Client for achieving user authentication with Azure AD B2C Single Sign-On (SSO) login into your WordPress Site.


      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.
        • Azure B2C B2C Single Sign-on (SSO) - OAuth 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.
        • Azure B2C B2C Single Sign-on (SSO) - WordPress Attribute Mapping

      4. Group Mapping [Premium]

      • Go to Application → Select the application where you want to configure the group mapping. Now, Go to the API Permissions tab.
      • Azure B2C B2C Single Sign-on (SSO) - API Permissions
      • Click on the Add permission button, and then Microsoft Graph API -> Delegated Permissions and select openid, Profile scope and click on the Add Permissions button.
      • Azure B2C B2C Single Sign-on (SSO) - Request API Permissions
      • Click on the Grant consent for Demo button.
      • Go to Manifest tab and find groupMembershipClaims and changes it’s value to "All" and click on the save button.
      • Azure B2C B2C Single Sign-on (SSO) - Group Membership Claims
      • Now you would be able to get the group's value in the Test configuration window.
      • Azure B2C B2C Single Sign-on (SSO) - Group Mapping Test Configuration
      • You can follow the role mapping section to map the groups to WordPress users while Azure B2C SSO <link>.

      5. Role Mapping [Premium]

      • Click on “Test Configuration” and you will get the list of Attribute Names and Attribute Values that are sent by your OAuth provider.
      • From the Test Configuration window, map the Attribute Names in the Attribute Mapping section of the plugin. Refer to the screenshot for more details.
      • WordPress OAuth SSO - attribute mapping
      • Enable Role Mapping: To enable Role Mapping, you need to map Group Name Attribute. Select the attribute name from the list of attributes which returns the roles from your provider application.
        Eg: Role

      • WordPress OAuth SSO - test configuration - role mapping
      • Assign WordPress role to the Provider role: Based on your provider application, you can allocate the WordPress role to your provider roles. It can be a student, teacher, administrator or any other depending on your application. Add the provider roles under Group Attribute Value and assign the required WordPress role in front of it under WordPress Role.

        For example, in the below image. Teacher has been assigned the role of Administrator & Student is assigned the role of Subscriber.
      • WordPress OAuth SSO - test configuration - role mapping
      • Once you save the mapping, the provider role will be assigned the WordPress administrator role after SSO.
        Example: As per the given example, Users with role ‘teacher’ will be added as Administrator in WordPress and ‘student’ will be added as Subscriber.

      6. Custom Attribute Mapping [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.
      • Azure B2C B2C Single Sign-on (SSO) - Custom Attribute Mapping

      7. 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.
      • 1. Sign in settings for wordpress 5.7 and before :

        • Go to WordPress Left Panel > Appearances > Widgets.
        • Select miniOrange OAuth. Drag and drop to your favourite location and save.
        • Azure B2C B2C Single Sign-on (SSO) - WordPress create-newclient login button setting

        2. Sign in settings for wordpress 5.8 :

        • Go to WordPress Left Panel > Appearances > Widgets.
        • Select miniOrange OAuth. Drag and drop to your favourite location and save.
        • Azure B2C B2C Single Sign-on (SSO) - WordPress create-newclient login button setting
        • Open your WordPress page and you can see the Azure B2C SSO login button there. You can test the Azure B2C Single Sign-On (SSO) now.

      6: Scope & Endpoints

      Please refer the below table for configuring the scope & endpoints for Azure B2C in the plugin.

      Scope: openid
      Authorize Endpoint: https://<domain-name >.b2clogin.com/<domain-name>.onmicrosoft.com/<policy-name>/oauth2/v2.0/authorize
      Access Token Endpoint: https://<domain-name>.b2clogin.com/<domain-name>.onmicrosoft.com/<policy-name>/oauth2/v2.0/token
      Get User Info Endpoint: https://graph.microsoft.com/v1.0/me
      Custom redirect URL after logout: [optional] https://<domain-name>.b2clogin.com/<domain-name>.onmicrosoft.com/<policy-name>/oauth2/v2.0/logout?post_logout_redirect_uri=<your url>

      In this Guide, you have successfully configured Azure AD B2C Single Sign-On (SSO) by configuring Azure AD B2C as OAuth Provider and WordPress as OAuth Client using our WP OAuth Single Sign-On ( OAuth / OpenID Connect Client ) plugin.This solution ensures that you are ready to roll out secure access to your WordPress site using Azure AD B2C login credentials within minutes.


      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.

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