Skip navigation
Documentation

Duo for Shibboleth Identity Provider

Last Updated: July 29th, 2021

Duo Security's two-factor authentication secures Shibboleth identity provider logins, complete with self-service enrollment and Duo Prompt.

Shibboleth versions 3.3 and later include a supported Duo authentication plugin (DuoAuthnConfiguration). Shibboleth 4.1 and later use a new plugin mechanism, with an updated Duo plugin (DuoOIDCAuthnConfiguration) available which supports the Duo Universal Prompt.

The Duo Shibboleth authentication plugin performs a second factor authentication after primary authentication, so you will need a working service provider configured with Shibboleth before continuing.

Connectivity Requirements

This application communicates with Duo's service on TCP port 443. Firewall configurations that restrict outbound access to Duo's service with rules using destination IP addresses or IP address ranges aren't recommended, since these may change over time to maintain our service's high availability. If your organization requires IP-based rules, please review this Duo KB article.

First Steps

Before starting:

  1. Sign up for a Duo account.
  2. Log in to the Duo Admin Panel and navigate to Applications.
  3. Click Protect an Application and locate the entry for Shibboleth in the applications list. Click Protect to the far-right to configure the application. and get your Client ID, Client secret, and API hostname. You'll need this information to complete your setup. See Protecting Applications for more information about protecting applications in Duo and additional application options.

    Previously, the Client ID was called the "Integration key" and the Client secret was called the "Secret key".

Treat your secret key like a password

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 Universal Prompt

The new Universal Prompt provides a simplified and accessible Duo login experience for web-based applications, offering a redesigned visual interface with security and usability enhancements.

Universal Prompt Traditional Prompt
 Duo Push in Universal Prompt  Duo Push in Traditional Prompt

Migration to Universal Prompt for your Shibboleth application is a two-step process:

  • Install an update for the Shibboleth application to support the Universal Prompt.
  • Activate the Universal Prompt experience for users of that Duo Shibboleth application.

Before you activate the Universal Prompt for your application, it's a good idea to read the Universal Prompt Update Guide for more information about the update process and the new login experience for users.

New Shibboleth Applications

When you install the latest version of Shibboleth you're ready to use the Universal Prompt. If you're configuring Shibboleth now, proceed with the installation instructions in this document.

The "Universal Prompt" area of the application details page shows that this application is "New Prompt Ready", with these activation control options:

  • Show traditional prompt: (Default) Your users experience Duo's traditional prompt when logging in to this application.
  • Show new Universal Prompt: Your users experience the Universal Prompt when logging in to this application.

Universal Prompt Info - Application Ready for Universal Prompt

Existing Shibboleth Applications

Shibboleth needs a software update installed to support the Universal Prompt. The "Universal Prompt" section of your existing Shibboleth application reflects this status as "App Update Ready". To update Shibboleth application to a newer version, follow the update directions below.

Universal Prompt Info - Update Available

Once a user authenticates to Shibboleth via the updated Duo application, the "Universal Prompt" section of the Shibboleth application page reflects this status as "New Prompt Ready", with these activation control options:

  • Show traditional prompt: (Default) Your users experience Duo's traditional prompt when logging in to this application.
  • Show new Universal Prompt: Your users experience the Universal Prompt when logging in to this application.

Universal Prompt Info - Application Ready for Universal Prompt

In addition, the "Integration key" and "Secret key" property labels for the application update to "Client ID" and "Client secret" respectively. The values for these properties remain the same.

Activate Universal Prompt

Activation of the Universal Prompt is a per-application change. Activating it for one application does not change the login experience for your other Duo applications.

Enable the Universal Prompt experience by selecting Show new Universal Prompt, and then scrolling to the bottom of the page to click Save.

Once you activate the Universal Prompt, the application's Universal Prompt status shows "Update Complete" here and on the Universal Prompt Update Progress report.

Universal Prompt Info - Universal Prompt Activation Complete

Should you ever want to roll back to the traditional prompt, you can return to this setting and change it back to Show traditional prompt.

Universal Update Progress

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. You can also activate the new prompt experience for multiple supported applications from the report page instead of visiting the individual details pages for each application.

Configure Shibboleth

Shibboleth 4.1 is the first release with support for Duo Universal Prompt. After installing Shibboleth 4.1 or later, configure the DuoOIDCAuthnConfiguration authentication plugin within Shibboleth, using the application information from the First Steps instructions above.

Update Shibboleth

If you are running Shibboleth versions below 4.1, you'll need to upgrade your Shibboleth installation to version 4.1 or later to be able to use the Universal Prompt. Consult the Shibboleth upgrade documentation for more information about planning your upgrade, and use the DuoOIDCAuthnConfiguration authentication plugin instructions to configure Duo after your Shibboleth upgrade.

Network Diagram

Duo Shibboleth Network Diagram

  1. Application or Service connection initiated
  2. Primary authentication
  3. Client connection established to Duo Security over TCP port 443
  4. Secondary authentication via Duo Security’s service
  5. Shibboleth client receives authentication response.
  6. Application or Service session logged in