Search Results :

×

Auth0 Single Sign-On (SSO) | WordPress Login using Auth0

WordPress OAuth & OpenID Connect Single Sign-On (SSO) plugin enables secure login into WordPress using Auth0 as OAuth and OpenID Connect provider. You can also configure plugin using different custom providers and standard IDPs. It supports advanced Single Sign-On (SSO) features such as user profile Attribute mapping, Role mapping, etc. Here we will go through a guide to configure SSO between WordPress and Auth0. By the end of this guide, users should be able to login to WordPress from Auth0. To know more about other features we provide in WP OAuth Single Sign-On ( OAuth & OpenID Connect Client ) plugin, you can click here.

  • 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.

  • Go to https://auth0.com/auth/login and sign up or login.
  • Go to Applications tab in the left panel and then click on Applications.
  • OAuth/OpenID/OIDC Single Sign-On (SSO),Auth0 SSO Login go to applications
  • click on Create application to create a new application.
  • OAuth/OpenID/OIDC Single Sign-On (SSO),Auth0 SSO Login create application
  • Select Regular web Applications and click on Create button.
  • OAuth/OpenID/OIDC Single Sign-On (SSO),Auth0 SSO Login select regular web app
  • Now go to settings tab.
  • OAuth/OpenID/OIDC Single Sign-On (SSO), Auth0 SSO Login go to setting
  • Scroll down to Applications URI's section and enter the callback url which you will get from plugin. Then, Scroll down and Click on save changes.
  • OAuth/OpenID/OIDC Single Sign-On (SSO), Auth0 SSO Login callback url
  • Copy the Client ID and Client Secret from basic information in setttings tab and save it on your miniOrange OAuth Client plugin Configuration..
  • OAuth/OpenID/OIDC Single Sign-On (SSO),Auth0 SSO Login client credentials
  • Now go to Users tab in the user management from the left panel.
  • OAuth/OpenID/OIDC Single Sign-On (SSO),Auth0 SSO Login go to user
  • Click on Create User to create a new user.
  • OAuth/OpenID/OIDC Single Sign-On (SSO),Auth0 SSO Login create user
  • Enter all the required details and click on Create.
  • OAuth/OpenID/OIDC Single Sign-On (SSO),Auth0 SSO Login fill user requirement

    You have successfully configured Auth0 as OAuth Provider for achieving Auth0 SSO login into your WordPress Site.


  • Go to Configure OAuth tab and click Add New Application to add a new client application into your website.
  • Auth0 Single Sign-On (SSO) - Auth0 OAuth OAuth - Add new application
  • Choose your Application from the list of OAuth / OpenID Connect Providers, Here Auth0
  • Auth0 Single Sign-On (SSO) - Auth0 OAuth 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 Auth0 SSO application.
  • Configure Domain Name found from the Auth0 SSO application. Please refer the below table for configuring the scope & endpoints for Auth0 in the plugin.
  • Note: Once you create the Auth0 account, you'll find the domain Url and you will need to add the same in the below endpoints.


    Scope: openid profile email
    Authorize Endpoint: https://<Auth0-app-domain>/authorize
    Access Token Endpoint: https://<Auth0-app-domain>/oauth/token
    Get User Info Endpoint: https://<Auth0-app-domain>/userinfo

    Auth0 Single Sign-On (SSO) - Auth0 OAuth OAuth - add client credentials
  • Click on Next.
  • After verifying all the details on the summary page, click on Finish to save the configuration as well as test the SSO connection.
  • Auth0 Single Sign-On (SSO) - finish setup

    You have successfully configured WordPress as OAuth Client for achieving Auth0 login into your WordPress Site.

  • Go to Configure OAuth tab and search your application name to add a new client application into your website, Here Auth0.
  • Auth0 Single Sign-On (SSO) - Auth0 OAuth OAuth - Add new application
  • Configure App Name, Client ID, Client Secret from Auth0 SSO application.
  • Please refer the below table for configuring the scope & endpoints for Auth0 in the plugin.

    Note: Once you create the Auth0 account, you'll find the domain url and you will need to add the same in the below endpoints.


    Scope: openid profile
    Authorize Endpoint: https://{your-auth0-domain}/authorize
    Access Token Endpoint: https://{your-auth0-domain}/oauth/token
    Auth0 Single Sign-On (SSO) - Auth0 OAuth OAuth - Add App name, TenantID
  • Choose your Grant Type from the list of options & Click on Save Settings to save the configuration.
  • Auth0 Single Sign-On (SSO) - Auth0 OAuth OAuth - Add Grant Type

    You have successfully configured WordPress as OAuth Client for achieving Auth0 login into your WordPress Site.

  • 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.
    •  Auth0 Single Sign-On (SSO) - Auth0 OAuth - test congifuration
    • 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.
    • Auth0 Single Sign-On (SSO) - Auth0 OAuth - attribute/role mapping

  • 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 client plugin 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 client plugin 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 client plugin 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.

  • Go to https://auth0.com/auth/login to login into your Auth developer account.
  • In the left panel, go to Action -> Flows -> Login.
  • wordpress oauth client plugin sso : test configuration - role mapping
  • Click on Add Action -> Build Custom.
  • wordpress oauth client plugin sso : test configuration - role mapping
  • Enter your desired name and keep the other settings as they are. Click on Create button.
  • wordpress oauth client plugin sso : test configuration - role mapping
  • Write the below code in the code editor. After writing the code, click on Deploy.
  •       
                    
                    Code:
                      exports.onExecutePostLogin = async (event, api) => {
                      const attr_name = "favorite_color";
                      api.idToken.setCustomClaim( attr_name , 'Purple');
                              
                      // ... additional code
                      };
                              
                    Code Description:
                              
                      attr_name: This will be the attribute name which will you want to create (favorite_color in my case)
                              
                      The function api.idToken.setCustomClaim(), expects the key and its value. Here, the key is attr_name, and its value is “Purple”
                    
                    
    wordpress oauth client plugin sso : test configuration - role mapping
  • After clicking on Deploy, go back to Action -> Flows -> Login -> Custom & Drag and drop the action which we created (Add Custom Attributes) between the Start & Complete flow, as shown below:
  • wordpress oauth client plugin sso : test configuration - role mapping
  • After doing this, click on Apply button.
  • Finally, perfrom the Test Configuration in the miniOrange OAuth Single Sign-On plugin to see the custom attribute of the user, as shown below:
  • wordpress oauth client plugin sso : test configuration - role mapping
  • Go to https://auth0.com/auth/login to login into your Auth developer account.
  • In the left panel, go to User Management -> Users.
  • Select the user to which you want to assign the custom attribute.
  • wordpress oauth client plugin sso : test configuration - role mapping
  • After selecting a user, scroll down and go to Metadata. In user_metadata, you will need to add the custom attributes as a key-value pair as shown below:
  • wordpress oauth client plugin sso : test configuration - role mapping
  • In the left panel, go to Action -> Flows -> Login.
  • wordpress oauth client plugin sso : test configuration - role mapping
  • Click on Add Action -> Build Custom.
  • wordpress oauth client plugin sso : test configuration - role mapping
  • Enter your desired name and keep the other settings as they are. Click on Create button.
  • wordpress oauth client plugin sso : test configuration - role mapping
  • Write the below code in the code editor. After writing the code, click on Deploy.
  •               
    
                  Code:
                    exports.onExecutePostLogin = async (event, api) => {
                              
                    const { favorite_color, preferred_contact } = event.user.user_metadata;
                            
                    if (event.authorization) {
                    // Set claims 
                    api.idToken.setCustomClaim('fav_color', favorite_color);
                    api.idToken.setCustomClaim('preferred_contact', preferred_contact);
                    }
                    };
                            
                            
                  Code Description:
                    We’ll add the keys (created in user_metadata) in the const as the parameters.
                            
                    When using the "api.idToken.setCustomClaim() function, you will need to include two parameters. The first parameter is used to specify the desired attribute name, while in the second parameter you will add the key which you want set the attribute value.
                  
                  
    wordpress oauth client plugin sso : test configuration - role mapping
  • After clicking on Deploy, go back to Action -> Flows -> Login -> Custom & Drag and drop the action which we created earlier (Add Custom Attributes) between the Start & Complete flow, as shown below:
  • wordpress oauth client plugin sso : test configuration - role mapping
  • After doing this, click on Apply button.
  • Finally, perfrom the Test Configuration in the miniOrange plugin to see the custom attribute of the user, as shown below:
  • wordpress oauth client plugin sso : test configuration - role mapping

  • Go to WordPress Left Panel > Appearances > Widgets.
  • Select miniOrange OAuth. Drag and drop to your favourite location and save.
  •  Auth0  Single Sign-on (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.
  • Auth0   Single Sign-on (SSO) - WordPress create-newclient login button setting
  • Open your WordPress page and you can see the Auth0 SSO login button there. You can test the Auth0 Single Sign-On (SSO) - Auth0 OAuth now.
  • Make sure the "Show on login page" option is enabled for your application. (Refer to the below image)
  • Auth0 Single Sign-on (SSO) - Auth0 OAuth - WordPress create-newclient login button setting
  • Now, go to your WordPress Login page. (Eg. https://< your-wordpress-domain >/wp-login.php)
  • You will see an Auth0 SSO login button there. Once you click the login button, you will be able to test the Auth0 Single Sign-On (SSO) - Auth0 OAuth.
  • Auth0  Single Sign-on (SSO) - WordPress create-newclient login button setting


ADFS_sso ×
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