Search Results :

×

Microsoft Entra ID (Azure AD) SSO for WordPress with OAuth


WordPress Azure AD SSO uses OAuth Authorization flow to provide users secure access to WordPress sites. With our WordPress OAuth Single Sign-On (SSO) plugin, Azure AD acts as the OpenID Connect and OAuth provider, ensuring secure login for WordPress websites.

The integration of WordPress Azure AD simplifies and secures the login process using Azure AD SSO. This solution allows employees to access their WordPress sites with a single click using their Azure Active Directory (Azure AD) credentials, completely removing the need to store, remember, and reset multiple passwords.

In addition to offering Azure AD Single Sign-On (SSO) functionality, the plugin also provides advanced SSO features like user profile attribute mapping, role mapping, and Azure multi-tenant login and providing site access based on organization email domains. For further insights into the array of features we offer within the WP OAuth & OpenID Connect Client plugin, kindly refer here. You can follow the below steps to setup Azure Active Directory (Azure AD) SSO with WordPress.


WordPress Azure Integration


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)]

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 AD Single Sign-On (SSO) in WordPress OAuth

1. Setup Microsoft Entra ID (Azure AD) as OAuth Provider

  • Sign in to Microsoft Entra ID (Azure AD) portal.
  • Select Microsoft Entra ID (Azure AD).
  • WordPress Azure AD SSO - Login
  • In the left-hand navigation panel, click the App registrations service, and click New registration.
  • WordPress Azure AD SSO - App-Registration
  • 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 (for authenticating user 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.
    • WordPress Azure AD SSO - Create
  • Microsoft Entra ID (Azure AD) assigns a unique Application ID to your application. The Application ID is your Client ID and the Directory ID is your Tenant ID, keep these values handy as you will need them to configure the miniOrange OAuth Client plugin.
  • WordPress Azure AD SSO - Overview
  • Go to Certificates and Secrets from the left navigaton panel and click on New Client Secret. Enter description and expiration time and click on ADD option.
  • WordPress Azure AD SSO - secret-Key
  • Copy the secret key "value" and keep the value handy it will be required later to configure Client Secret under the miniOrange OAuth Client Plugin.
  • WordPress Azure AD SSO - Secret-Key-2

In conclusion , by successfully configuring Azure AD as OAuth Provider, you have enabled WordPress Azure AD SSO Login and authorization for your end users into WordPress.

2. Setup WordPress as OAuth Client


  • Go to Configure OAuth tab and click Add New Application to add a new client application into your website.
  • WordPress Azure AD SSO - Add new application
  • Choose your Application from the list of OAuth / OpenID Connect Providers, Here Microsoft Entra ID (Azure AD).
  • WordPress Azure AD SSO - Select Application
  • After selecting the provider copy the Callback URL which needs to be configured in OAuth Provider's SSO application Configuration.
  • Enter the Client Credentials like Client ID & Client Secret which you will get from the Microsoft Entra ID (Azure AD) SSO application.
  • If you want to allow SSO from Microsoft Entra ID (Azure AD) single-tenant into your WordPress site then configure Tenant ID found from the Microsoft Entra ID (Azure AD) SSO application. For configuring Scopes & Endpoints for Microsoft Entra ID (Azure AD) Single-tenant click here.
  • OR

  • If you want to allow login into your WordPress site from any Microsoft Entra ID (Azure AD) tenant, then enter the tenant value as 'common' in the plugin configuration. For the Scopes & Endpoints click here.
  • Click on Next.
  • WordPress Azure AD SSO - Add App name, TenantID
  • After verifying all the details on the summary page, click on Finish to save the configuration as well as test the Azure AD SSO connection.
  • WordPress Azure AD SSO - Finish configuration

In conclusion, by successfully configuring WordPress as OAuth Client, you've established effortless Azure AD OAuth Single Sign-On (SSO) and authorization for your users accessing WordPress.


miniorange img WordPress User Profile/Attribute Mapping

  • User Attribute Mapping is mandatory to enable successful Azure AD SSO 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.
    • WordPress Azure AD 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.
    • WordPress Azure AD SSO - WordPress Attribute Mapping

3. Microsoft Entra ID (Azure AD) Profile/Groups Mapping

  • Go to Application → Select the application where you want to configure the group mapping for WordPress Azure AD SSO. Now, Go to the API Permissions tab.
  • WordPress Azure AD 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.
  • WordPress Azure AD 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.
  • WordPress Azure AD SSO - Group Membership Claims
  • Now you would be able to get the group's value in the Test configuration window.
  • WordPress Azure AD SSO - Group Mapping Test Configuration
  • You can follow the role mapping section to map the groups to WordPress users in order to enable Azure AD SSO.

WordPress Azure AD SSO WordPress OAuth - WordPress Groups/Profile Mapping [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)
  • WordPress Azure AD SSO - attribute mapping
  • 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 Active Directory (Azure AD).
    Eg:Groups
  • WordPress Azure AD SSO - role mapping
  • Assign the WordPress role to the Provider Groups: Based on the Azure Active Directory (Azure AD) application, you can allocate the WordPress role to Azure AD Groups. Add the Azure AD 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.
  • WordPress Azure AD SSO - role mapping exmaple
  • After saving the mapping, the Azure Active Directory group will be allocated the WordPress Subscriber role following the implementation of Azure AD SSO.
    Example: As per the given example, a User with group value will be added as a administrator.

WordPress Azure AD SSO WordPress OAuth - Microsoft Entra ID (Azure AD) Claim Mapping [Premium]

  • Go to your application in Azure Active Directory (Azure AD) 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 performing Single Sign-On (SSO) with Azure Active Directory (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.
  • WordPress Azure AD SSO - Custom Attribute Mapping

4. Steps to fetch additional user attributes from Microsoft Entra ID (Azure AD)

  • Sign into Microsoft Entra ID (Azure AD) Portal.
  • Select Microsoft Entra ID (Azure AD).
  • In the left-hand navigation panel, click the Enterprise applications.
  • WordPress Azure AD SSO - Click Enterprise Applications
  • Select your Azure Enterprise Application.
  • Then select the Single sign-on (SSO) option in the left-hand menu and open the Attributes & Claims section.
  • WordPress Azure AD SSO - Select your App
  • Click on Add new claim.
  • WordPress Azure AD SSO - Select your App
  • Then configure the required fields as below:
  • Name : As per your choice (this will be your Attribute name)
    Source: Attribute
    Source attribute: For eg: search for user.department in the dropdown
    WordPress Azure AD SSO - Select your App
  • Go to your application Manifest, and set "acceptMappedClaims": true
  • WordPress Azure AD SSO - Select your App
  • After following the above steps, you can create multiple claims as per your requirements.
  • Please try to perform the Test Configuration in the WordPress OAuth SSO plugin. You'll get a new attribute as shown below:
  • WordPress Azure AD SSO - mapping test result

5. SSO Login button Configuration

  • The settings in Single Sign-On (SSO) settings tab define the user experience during SSO process. Follow the instructions below to add an Azure AD SSO login widget to your WordPress page.
    • Go to WordPress Left Panel > Appearances > Widgets.
    • Select miniOrange OAuth. Drag and drop to your favourite location and save.
    • WordPress Azure AD SSO - WordPress create-newclient login button setting
    • Go to WordPress Left Panel > Appearances > Widgets.
    • Select miniOrange OAuth. Drag and drop to your favourite location and save.
    • WordPress Azure AD SSO - WordPress create-newclient login button setting
    • Open your WordPress page and you can see the Microsoft Entra ID (Azure AD) SSO login button there. You can test the Azure AD OAuth Single Sign-On (SSO) now.
    • Make sure the "Show on login page" option is enabled for your application. (Refer to the below image)
    • WordPress Azure AD SSO - WordPress create-newclient login button setting
    • Now, go to your WordPress SSO page. (Eg. https://< your-wordpress-domain >/wp-login.php)
    • An Azure AD SSO login button will be visible. Upon clicking this button, you can proceed to test Single Sign-On (SSO) with Azure Active Directory into WordPress.
    • WordPress Azure AD SSO - WordPress create-newclient login button setting

6. Scope & Endpoints

  • Please refer the Scope and endpoints table provided below to authorize Single Sign-On (SSO) with Azure AD single-tenant environment to your WordPress site.
  • Scope: openid
    Authorize Endpoint: https://login.microsoftonline.com/<tenant-id>/oauth2/authorize
    Access Token Endpoint: https://login.microsoftonline.com/<tenant-id>/oauth2/token
    Get User Info Endpoint: https://login.windows.net/<tenant-id>/openid/userinfo
    Custom redirect URL after logout:[optional] https://login.microsoftonline.com/<tenant-id>/oauth2/logout?post_logout_redirect_uri=<your URL>
  • Please refer the Scope and endpoints table provided below to authorize Single Sign-On (SSO) with any Azure AD tenant environment to your WordPress site.
  • Scope: openid
    Authorize Endpoint: https://login.microsoftonline.com/common/oauth2/authorize
    Access Token Endpoint: https://login.microsoftonline.com/common/oauth2/token
    Get User Info Endpoint: https://login.windows.net/common/openid/userinfo
    Custom redirect URL after logout:[optional] https://login.microsoftonline.com/common/oauth2/logout?post_logout_redirect_uri=<your URL>

In conclusion, after successfully configuring Azure AD as an OAuth Provider and WordPress as an OAuth Client, you've achieved a smooth and secure authentication process for your users. Through Azure AD Single Sign-On (SSO), you can ensure a robust user experience within the WordPress environment. This allows users the ease of accessing multiple applications with a single set of login credentials. Through the integration of Azure AD SSO as the primary authentication solution, users can securely log into their WordPress accounts with their existing Azure AD credentials.


Troubleshooting

invalid_request

To fix this issue while configuring Azure AD OAuth Single Sign-On (SSO), please configure the correct Authorization Endpoint in the plugin. You can confirm the correct format of the endpoint from here.

invalid_client

If you face this issue while performing Azure AD Single SIgn-On (SSO) with OAuth, please configure the correct Client Secret in the plugin. You can refer to this step to configure correct client secret in the setup guide.

invalid_resource

To fix this issue while configuring Azure AD OAuth Single Sign-On (SSO), please configure the 'common' endpoints in the plugin or add user in the tenant . You can refer to this setup guide to configure the common endpoints.

AADSTS50011

Please configure the correct Redirect URL in the Microsoft Entra ID (Azure AD) Developer application from the plugin If you face this issue while configuring Azure AD OAuth Single Sign-On (SSO). You can refer to this steps in the setup guide.

If your error is not listed here, click here to see others.

Frequently Asked Questions (FAQs)


How to achieve Microsoft Entra ID (Azure AD) SSO with guest users outside of your Azure directory?

In WordPress OAuth Client SSO plugin, Select your Configured Microsoft Entra ID (Azure AD) application and in the field of Azure AD Tenant, replace the current tenant id with ‘common’ as shown in the below screenshot. Now users from any Azure directory will be able to perform Azure AD OAuth SSO and also users with personal Microsoft accounts can login. Read more

Microsoft Entra ID (Azure AD) SSO isn’t working due to admin permission issues from the Microsoft Entra ID (Azure AD) end.

Sign in to your Microsoft Entra ID (Azure AD) portal and select your Microsoft Entra ID (Azure AD) where you have Azure AD OAuth SSO. Select Enterprise applications. Read more

How to configure Microsoft Entra ID (Azure AD) password grant with WordPress OAuth Client SSO plugin?

Microsoft Entra ID (Azure AD) recently released OAuth 2.0 endpoints. You need to replace the token endpoint with the one below. You also need to change the grant type to password grant in the dropdown and replace the tenant ID with your Microsoft Entra ID (Azure AD) tenant ID. (Refer to the below image) Read more

Additional Resources


Need Help?

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