Duo's WordPress plugin enables two-factor authentication for WordPress logins, complete with inline self-service enrollment and Duo Prompt. The code is open-source and available on GitHub.
The security of your Duo application is tied to the security of your secret key (skey). Secure it as you would any sensitive credential. Don't share it with unauthorized individuals or email it to anyone under any circumstances!
Duo's next-generation authentication experience, the Universal Prompt, is coming to web-based applications that display the current Duo Prompt in browsers.
Migration to Universal Prompt for your WordPress application is a two-step process:
You'll need to update WordPress to support the Universal Prompt when it's ready, but the update isn't available yet. The "Universal Prompt" section reflects this status as "Waiting on App Provider". Please contact Duo Support to request Universal Prompt support for WordPress.
After Duo makes the necessary software update software update available and you've installed it, you'll later return to the settings on this page to activate the Universal Prompt for your WordPress users once we've released it.
Click the See Update Progress link to view the Universal Prompt Update Progress report. This report shows the update availability and migration progress for all your Duo applications in-scope for Universal Prompt support.
Read the Universal Prompt Update Guide for more information about the update process to support the new prompt, and watch the Duo Blog for future updates about the Duo Universal Prompt.
Log in to your WordPress Dashboard as an administrator.
Navigate to Plugins → Add New in the left navigation bar. Then search for "Duo Security" and click Install Now for the Duo Two-Factor Authentication plugin.
To install the Duo two-factor plugin without using the WordPress Plugin directory, first download the Duo plugin as a zipped package from WordPress.
In the WordPress console go to Plugins → Add New and click the Upload Plugin button.
Click Choose File and select the duo_wordpress.zip package you downloaded. Click Install Now to upload Duo's plugin to your WordPress site.
Click Activate Plugin after installing the Duo plugin:
After activation, click Settings to configure the plugin.
Copy and paste your integration key, secret key, and API hostname from the Duo WordPress application you created earlier. You may select which WordPress user roles need to authenticate using Duo. For example, you may only require those users with the "Administrator" role to use two-factor authentication, or require all roles to use two-factor.
To fully secure your WordPress site Duo recommends that you disable XML-RPC. However, this will prevent use of offline Weblog clients and the WordPress mobile app.
Click Save Changes to complete configuration.
Open a new browser (or incognito window) and try to log in to your WordPress account. You should be prompted to set up your two-factor authentication. Complete the enrollment process.
If you plan to permit use of WebAuthn authentication methods (security keys, U2F tokens, or Touch ID), Duo recommends enabling hostname whitelisting for this application and any others that show the inline Duo Prompt before onboarding your end-users.
To update an existing Duo plugin install to the most recent version:
Log into your WordPress Dashboard as an administrator.
If a newer version of the Duo plugin exists then you'll see a notification icon under both Home - Updates and Plugins. Click either one to view the available update.
WordPress lists the available plugin updates. Check the box next to the Duo Two-Factor Authentication plugin to select it, and then click the Update Plugins button (if you clicked the Updates navigational link in step #2), or click the update now link in the Duo plugin description (if you clicked the Plugins navigational link in step #2).
WordPress updates the Duo plugin and reports status when complete.
Need some help? Take a look at the WordPress Frequently Asked Questions (FAQ) page or try searching our WordPress Knowledge Base articles or Community discussions. For further assistance, contact Support.