Documentation
Duo Two-Factor Authentication for Shibboleth Identity Provider
Last Updated: October 31st, 2024Contents
Duo Security's two-factor authentication secures Shibboleth identity provider logins, offering inline user enrollment, self-service device management, and support for a variety of authentication methods — such as passkeys and security keys, Duo Push, or Verified Duo Push — in the Duo Universal 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.
This application communicates with Duo's service on SSL 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 Duo Knowledge Base article 1337.
Effective June 30, 2023, Duo no longer supports TLS 1.0 or 1.1 connections or insecure TLS/SSL cipher suites. See Duo Knowledge Base article 7546 for additional guidance.
First Steps
Before starting:
- Sign up for a Duo account.
- Log in to the Duo Admin Panel and navigate to Applications → Protect an Application.
-
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 with Duo and additional application options.
Previously, the Client ID was called the "Integration key" and the Client secret was called the "Secret key".
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 Duo 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 |
For Shibboleth applications created before March 2024, migration to Universal Prompt is a three-step process:
- Install an update for the Shibboleth application, which implements a redirect to Duo during authentication to support the Universal Prompt.
- Authenticate with Duo 2FA using the updated application so that Duo makes the Universal Prompt activation setting available in the Admin Panel. This first authentication after updating shows the traditional Duo prompt in a redirect instead of an iframe.
- From the Duo Admin Panel, activate the Universal Prompt experience for users of that Duo Shibboleth application if the traditional prompt is still selected. Once activated, all users of the application see the Duo Universal Prompt in a redirect.
If you created your Shibboleth application before March 2024, 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, before you activate the Universal Prompt for your application.
New Shibboleth Applications
When you install the latest version of Shibboleth you're ready to use the Universal Prompt. Shibboleth applications created after March 2024 have the Universal Prompt activated by default. 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 "Activation complete", with these activation control options:
- Show traditional prompt: Your users experience Duo's traditional prompt via redirect when logging in to this application.
- Show new Universal Prompt: (Default) Your users experience the Universal Prompt via redirect when logging in to this application.
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 "Update required". To update Shibboleth application to a newer version, follow the update directions below.
Once a user authenticates to Shibboleth via the updated Duo application, the "Universal Prompt" section of the Shibboleth application page reflects this status as "Ready to activate", with these activation control options:
- Show traditional prompt: (Default) Your users experience Duo's traditional prompt via redirect when logging in to this application.
- Show new Universal Prompt: Your users experience the Universal Prompt via redirect when logging in to this application.
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 "Activation Complete" here and on the Universal Prompt Update Progress report.
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. However, this will still deliver the Duo prompt via redirect, not in an iframe. Keep in mind that support for the traditional Duo prompt ended for the majority of applications in March 2024.
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. 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.
After upgrading, authenticate once with the DuoOIDCAuthnConfiguration authentication plugin, which will show the traditional Duo Prompt in a redirect instead of the iframe. After that you can activate Universal Prompt for your application.
Troubleshooting
Need some help? Take a look at the Shibboleth Frequently Asked Questions (FAQ) page or try searching our Shibboleth Knowledge Base articles or Community discussions. For further assistance, contact Support.
Network Diagram
- Application or Service connection initiated
- Primary authentication
- Client connection established to Duo Security over TCP port 443
- Secondary authentication via Duo Security’s service
- Shibboleth client receives authentication response.
- Application or Service session logged in