Search Results :

×

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


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

The integration of WordPress and Microsoft Entra ID (Azure AD) using OAuth simplifies and secures the login process using Microsoft Entra ID (Azure AD) SSO. This solution allows employees to access their WordPress sites with Single Sign-On (SSO) using their Microsoft Entra ID (Azure AD) credentials, completely removing the need to store, remember, and reset multiple passwords.

In addition to offering Azure AD OAuth 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 AD OAuth 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 Microsoft Entra ID (Azure AD) 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).
  • Single Sign-On with Microsoft Entra ID (Azure AD) - WordPress OAuth - Login
  • In the left-hand navigation panel, click the App registrations service, and click New registration.
  • Single Sign-On with Microsoft Entra ID (Azure AD) - WordPress OAuth - 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.
    • Single Sign-On with Microsoft Entra ID (Azure AD) - WordPress OAuth - 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.
  • Single Sign-On with Microsoft Entra ID (Azure AD) - WordPress OAuth - 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.
  • Single Sign-On with Microsoft Entra ID (Azure AD) - WordPress OAuth - 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.
  • Single Sign-On with Microsoft Entra ID (Azure AD) - WordPress OAuth - Secret-Key-2

In conclusion, by successfully configuring Microsoft Entra ID (Azure AD) as OAuth Provider, you've established effortless Azure AD OAuth Single Sign-On (SSO) and authorization for your users accessing 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.
  • Single Sign-On with Microsoft Entra ID (Azure AD) - WordPress OAuth - Add new application
  • Choose your Application from the list of OAuth / OpenID Connect Providers, Here Microsoft Entra ID (Azure AD).
  • Single Sign-On with Microsoft Entra ID (Azure AD) - WordPress OAuth - 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.
  • Single Sign-On with Microsoft Entra ID (Azure AD) - WordPress OAuth - 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 SSO connection.
  • Single Sign-On with Microsoft Entra ID (Azure AD) - WordPress OAuth - 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 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.
    • Single Sign-On with Microsoft Entra ID (Azure AD) - WordPress OAuth - 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.
    • Single Sign-On with Microsoft Entra ID (Azure AD) - WordPress OAuth - 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. Now, Go to the API Permissions tab.
  • Single Sign-On with Microsoft Entra ID (Azure AD) - WordPress OAuth - 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.
  • Single Sign-On with Microsoft Entra ID (Azure AD) - WordPress OAuth - 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.
  • Single Sign-On with Microsoft Entra ID (Azure AD) - WordPress OAuth - Group Membership Claims
  • Now you would be able to get the group's value in the Test configuration window.
  • Single Sign-On with Microsoft Entra ID (Azure AD) - WordPress OAuth - Group Mapping Test Configuration
  • You can follow the role mapping section to map the groups to WordPress users while Microsoft Entra ID (Azure AD) SSO.

Single Sign-On with Microsoft Entra ID (Azure AD) 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)
  • Single Sign-On with Microsoft Entra ID (Azure AD) - WordPress OAuth - 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 Microsoft Entra ID (Azure AD).
    Eg:Groups
  • Single Sign-On with Microsoft Entra ID (Azure AD) - WordPress OAuth - role mapping
  • Assign the WordPress role to the Provider Groups: Based on the Microsoft Entra ID (Azure AD) application, you can allocate the WordPress role to Microsoft Entra ID (Azure AD) Groups. Add the Microsoft Entra ID (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.
  • Single Sign-On with Microsoft Entra ID (Azure AD) - WordPress OAuth - role mapping
  • Once you save the mapping, the Microsoft Entra ID (Azure AD) 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 administrator .

Single Sign-On with Microsoft Entra ID (Azure AD) WordPress OAuth - Microsoft Entra ID (Azure AD) Claim Mapping [Premium]

  • Go to your application in Microsoft Entra ID (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 Azure AD OAuth 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.
  • Single Sign-On with Microsoft Entra ID (Azure AD) - WordPress OAuth - 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.
  • Single Sign-On with Microsoft Entra ID (Azure AD) - WordPress OAuth - 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.
  • Single Sign-On with Microsoft Entra ID (Azure AD) - WordPress OAuth - Select your App
  • Click on Add new claim.
  • Single Sign-On with Microsoft Entra ID (Azure AD) - WordPress OAuth - 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
    Single Sign-On with Microsoft Entra ID (Azure AD) - WordPress OAuth - Select your App
  • Go to your application Manifest, and set "acceptMappedClaims": true
  • Single Sign-On with Microsoft Entra ID (Azure AD) - WordPress OAuth - 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 miniOrange plugin. You'll get a new attribute as shown below:
  • Single Sign-On with Microsoft Entra ID (Azure AD) - WordPress OAuth - Select your App

5. SSO Login button Configuration

  • The settings in Single Sign-On (SSO) Settings tab define the user experience for Azure AD OAuth Single Sign-On (SSO). To add a Microsoft Entra ID (Azure AD) login widget on your WordPress page, you need to follow the below steps.
    • Go to WordPress Left Panel > Appearances > Widgets.
    • Select miniOrange OAuth. Drag and drop to your favourite location and save.
    • Single Sign-On with Microsoft Entra ID (Azure AD) - WordPress OAuth - 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.
    • Single Sign-On with Microsoft Entra ID (Azure AD) - WordPress OAuth - 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)
    • Single Sign-On with Microsoft Entra ID (Azure AD) - WordPress OAuth - WordPress create-newclient login button setting
    • Now, go to your WordPress SSO page. (Eg. https://< your-wordpress-domain >/wp-login.php)
    • You will see an Microsoft Entra ID (Azure AD) SSO login button there. Once you click the login button, you will be able to test the Single Sign-On (SSO) with Microsoft Entra ID (Azure AD).
    • Single Sign-On with Microsoft Entra ID (Azure AD) - WordPress OAuth - WordPress create-newclient login button setting

6. Scope & Endpoints

  • Please refer the below scope & endpoints table to allow Single Sign-On (SSO) from a single Tenant ID into 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 below scope & endpoints table to allow Single Sign-On (SSO) from multiple Tenant IDs into 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, the successful configuration of Microsoft Entra ID (Azure AD) as an OAuth Provider and WordPress as an OAuth Client has resulted in a seamless and secure authentication process for your users. By enabling Entra ID Azure OAuth Single Sign-On (SSO), you can guarantee a reliable and efficient user experience for your WordPress site. This integration allows users to effortlessly access multiple applications using a single set of login credentials. With Azure AD OAuth SSO as the authentication solution, users can confidently log into their WordPress accounts by using their existing Entra ID Azure AD credentials, ensuring utmost security and convenience.


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