If you want users to login to your WordPress site using their WSO2 credentials, you can simply do it using our WP OAuth Single Sign On (OAuth Client) plugin. Once you configure the WSO2 with WordPress plugin, you can allow users to SSO to your WordPress site using WSO2. Similarly, you can map your WordPress roles based on your WSO2 attributes/groups. To know more about other features we provide in WP OAuth Client plugin, you can click here.
You can download OAuth Client plugin using the following link.
Download And Installation
Log into your WordPress instance as an admin.
Go to the WordPress Dashboard -> Plugins and click on Add New.
Seach for a WordPress OAuth Single Sign On plugin and click on Install Now.
Once installed click on Activate.
Step 1: Setup WSO2 as OAuth Provider
First, let’s register this Consumer App in WSO2 IS. Download and start WSO2 IS.
Once logged in, go to Main -> Service Provider and click on Add.
Enter the Service Provider Name and Description and click on Register.
Now go to the Service Provider->List and edit the Service Provider you have created.
Scroll down and select Inbound Authentication Configuration and then select OAuth/OpenID Connect Configuration and click on Configure.
Select the OAuth Version 2.0 and enter the Redirect/Callback URL from the plugin in Callback URL field. Click on Add.
When the app has been added, Client ID and Client Secret are generated for the application. Configure the WordPress OAuth SSO plugin with Client ID, Client Secret, Authentication and Access Token, Get User Info Endpoint of WSO2. Endpoints are provided at the bottom of this guide.
Attribute Mapping: To get attributes from WSO2 you have to add following Claim URIs in your WSO2 application.
Go to Service Provider->Claim Configuration.
Select https://wso2.org/claims/emailaddress from Subject Claim URI dropdown.
Add following URIs in Service Provider Claim Dialect:
You have successfully completed your WSO2 Server side configurations.
Go to Configure OAuth tab and configure App Name, Client ID, Client Secret from provided Endpoints.
openid is already filled but if it doesn't work then configure scope as User.Read and for fetching group info use scope is Directory.read.all.
Click on Save Settings to save the configuration.
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.
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.
Step 4: Login Settings / Sign In Settings.
The settings in SSO Settings tab define the user experience for Single Sign On. To add a login widget on your WordPress page, you need to follow below steps.
Sign In Settings
Go to WordPress Left Panel > Appearances > Widgets.
Select miniOrange OAuth. Drag and drop to your favourite location and save.
Open your WordPress page and you can see the login button there. You can test the SSO now.