Contents
Add two-factor authentication and flexible security policies to Sakai SAML 2.0 logins with Duo Single Sign-On. Our cloud-hosted SSO identity provider offers 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 Universal Prompt.
Overview
As business applications move from on-premises to cloud hosted solutions, users experience password fatigue due to disparate logons for different applications. Single sign-on (SSO) technologies seek to unify identities across systems and reduce the number of different credentials a user has to remember or input to gain access to resources.
While SSO is convenient for users, it presents new security challenges. If a user's primary password is compromised, attackers may be able to gain access to multiple resources. In addition, as sensitive information makes its way to cloud-hosted services it is even more important to secure access by implementing two-factor authentication and zero-trust policies.
About Duo Single Sign-On
Duo Single Sign-On is our cloud-hosted SSO product which layers Duo's strong authentication and flexible policy engine on top of Sakai logins using Security Assertion Markup Language (SAML) 2.0. Duo Single Sign-On acts as an identity provider (IdP), authenticating Duo-hosted users or users in external authentication sources, like an existing on-premises Active Directory (AD) or any SAML 2.0 IdP. Duo's strong multi-factor authentication further verifies users before permitting access to Sakai.
Duo Single Sign-On is available in Duo Premier, Duo Advantage, and Duo Essentials plans, which also include the ability to define policies that enforce unique controls for each individual SSO application. For example, you can require that Sakai users complete two-factor authentication at every login, but only once every seven days when accessing a different application. Duo checks the user, device, and network against an application's policy before allowing access to the application.
Configure Single Sign-On
Before configuring Sakai with Duo SSO using SAML 2.0 authentication, you'll first need to complete Duo SSO configuration, which may include setting up a working external authentication source if your organization will not store your user identities in Duo.
Once you complete initial Duo SSO configuration, continue to the next step of creating the Sakai application in Duo.
Create the Sakai Application in Duo
-
Log in to the Duo Admin Panel and navigate to Applications → Application Catalog.
-
Locate the entry for Sakai with the "SSO" label in the catalog. Click the + Add button to start configuring Sakai. See Protecting Applications for more information about protecting applications with Duo and additional application options. You'll need the information on the Sakai page under Metadata later.
-
No users can log in to new applications until you grant access. Update the User access setting to grant access to this application to users in selected Duo groups, or to all users. Learn more about user access to applications. If you do not change this setting now, be sure to update it so that your test user has access before you test your setup.
-
Sakai uses the Mail attribute when authenticating. We've mapped the <Email Address> attribute to Duo Single Sign-On supported authentication source attributes as follows:
Attribute Active Directory SAML IdP <Email Address> mail Email If you are using a non-standard email attribute for your authentication source, check the Custom attributes box and enter the name of the attribute you wish to use instead.
-
You can adjust additional settings for your new SAML application at this time — like changing the application's name from the default value, enabling self-service, or assigning a group policy.
-
Keep the Duo Admin Panel tab open. You will come back to it later.
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 |
![]() |
![]() |
The Duo Sakai application supports the Universal Prompt by default, so there's no additional action required on your part to start using the newest authentication experience.
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. Universal Prompt is already activated for new Sakai applications at creation.
The "Universal Prompt" area of the application details page shows that this application's status 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.
The application's Universal Prompt status shows "Activation complete" both here and on the Universal Prompt Update Progress report.
For the time being, you may change this setting to Show traditional prompt to use the legacy experience. Keep in mind that support for the traditional Duo prompt ended for the majority of applications in March 2024. This option will be removed in the future.
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.
Enable Sakai for SSO
Note: After you configure and save the three files listed below, you will need to restart the Sakai server for the configuration to take effect.
Configure the Xlogin Context XML File
-
On your local machine, navigate to the Sakai installation root folder at webapps/sakai-login-tool/WEB-INF.
-
Open the xlogin-context.saml.xml file with a text editor, like Notepad or TextEdit.
-
Scroll down to the bean id metadataGeneratorFilter.
-
On the entityBaseURL line, copy your base URL from Sakai and paste it into the Duo Admin Panel Base URL field, under "Service Provider".
-
In the Duo Admin Panel, scroll down to the bottom of the page and click Save. Keep the Duo Admin Panel tab open. You will come back to it later.
-
Return to the Sakai xlogin-context.saml.xml file. On the entityBaseURL line, type /sakai-login-tool/container at the end of your base URL. See the image below for an example.
-
Scroll down to the bean class org.opensaml.saml2.metadata.provider.HTTPMetadataProvider.
-
Return to the Duo Admin Panel. Under "Metadata", copy the HTTPMetadataProvider URL and paste it into the Sakai java.lang.String line. See the image below for an example.
-
In the Sakai xlogin-context.saml.xml file, scroll down to constructor-arg and paste the HTTPMetadataProvider URL that you copied from Duo earlier into the defaultIDP line. See the image below for an example.
-
If you want to configure HTTPS, go to the "Configure HTTPS" section below. If you do not want to configure HTTPS, save the xlogin-context.saml.xml file and then go to the "Configure the Application Context XML File" section below.
Configure HTTPS
HTTPS is optional. If you want to configure HTTPS, do the following:
-
In the Sakai xlogin-context.saml.xml file, scroll up to the bean id metadataGeneratorFilter.
-
On the entityBaseURL line, change http to https. See the image below for an example.
-
On the signMetadata line, change the value to true. See the image below for an example.
-
Return to the Duo Admin Panel. Under "Service Provider", change http to https in the Base URL field.
-
In the Duo Admin Panel, scroll down to the bottom of the page and click Save.
-
Return to the Sakai xlogin-context.saml.xml file. Scroll up to the comment that contains the bean id keyManager and remove the comment brackets. See the image below for an example.
-
On the classpath line, specify the path to your certificate file. See the image below for an example.
-
Save the xlogin-context.saml.xml file.
Configure the Application Context XML File
-
On your local machine, navigate to the Sakai installation root folder at webapps/sakai-login-tool/WEB-INF.
-
Open the applicationContext.xml file with a text editor, like Notepad or TextEdit.
-
Remove the comment brackets from the import resource line. See the image below for an example.
-
On the import resource line, type xlogin-context.saml.xml See the image below for an example.
-
Save the applicationContext.xml file.
Configure the Sakai Properties File
-
On your local machine, navigate to the Sakai installation root folder at webapps/sakai-login-tool/WEB-INF.
-
Open the sakai.properties file with a text editor, like Notepad or TextEdit.
-
On the top.login line, change the value to false. See the image below for an example.
-
On the container.login line, change the value to true. See the image below for an example.
-
Save the sakai.properties file.
Add a Tile to Duo Central
Duo Central is our cloud-hosted portal which allows users to access all of their applications in one spot. Sakai requires IdP-initiated sign-on, so you must add an application tile for it to Duo Central for your users to access the application. To add a tile for Sakai to Duo Central, do the following:
-
In the Duo Admin Panel, navigate to Single Sign-On → Duo Central.
-
If you have not already enabled Duo Central, review the information on the page and click Get Started. Complete the initial Duo Central configuration before proceeding to the next step.
-
Click Add tile and then click Add application tile.
-
Click the checkbox next to "Sakai - Single Sign-On".
-
Click Add tile.
Using SSO
Log into Duo Central with your custom URL, and then click the Sakai - Single Sign-On tile to be redirected to Duo Single Sign-On to begin authentication.
If you do not know your Duo Central custom URL, you can find it in the Duo Admin Panel by navigating to Single Sign-On → Duo Central. In the upper right corner of the page, click your Duo Central custom URL to access the Sakai tile.
Duo-hosted or Active Directory Login
With Duo or Active Directory as the Duo SSO authentication source, enter the primary username (email address) on the Duo SSO login page and click or tap Next.

Enter the Duo or AD primary password and click or tap Log in to continue.

When using Duo Passwordless you won't need to enter a password, and will proceed directly to Duo authentication.
SAML Login
The SAML login experience depends on your Duo SSO routing rules configuration.
With another SAML identity provider as the only enabled Duo SSO authentication source and the default routing rule in place, Duo SSO immediately redirects the login attempt to that SAML IdP for primary authentication. Users do not see the Duo SSO primary login screen.
If you have multiple enabled SAML authentication sources or custom routing rules in place, then users enter their primary username (email address) on the Duo SSO login page and then will be redirected to the correct external SAML identity provider.
Duo Authentication
Successful verification of your primary credentials by Duo, Active Directory, or a SAML IdP redirects back to Duo. Complete Duo two-factor authentication when prompted and then you'll return to Sakai to complete the login process.

* Universal Prompt experience shown.
Congratulations! Your Sakai users now authenticate using Duo Single Sign-On.
See the full user login experience, including expired password reset (available for Active Directory authentication sources) in the Duo End User Guide for SSO.
Grant Access to Users
If you did not already grant user access to the Duo users you want to use this application be sure to do that before inviting or requiring them to log in with Duo.
Enable Remembered Devices
To minimize additional Duo two-factor prompts when switching between Sakai and your other Duo Single Sign-On SAML applications, be sure to apply a shared "Remembered Devices" policy to your SAML applications.
Troubleshooting
Need some help? Try searching our Knowledge Base articles or Community discussions. For further assistance, contact Support.