0x0fbc / simplesamlphp-module-duouniversal
Add support for two-factor authentication with the Duo Universal Prompt (WebSDK v4) to SimpleSAMLphp.
Installs: 176
Dependents: 0
Suggesters: 0
Security: 0
Stars: 3
Watchers: 4
Forks: 7
Type:simplesamlphp-module
pkg:composer/0x0fbc/simplesamlphp-module-duouniversal
Requires
This package is auto-updated.
Last update: 2025-10-18 05:28:29 UTC
README
Two-factor authentication module using Duo Security Universal Prompt for SimpleSAMLphp.
This module is still in development and is not production-ready, use at your own risk!
Installation
cdinto the root of your SimpleSAMLphp installation- run
composer require "0x0fbc\simplesamlphp-module-duouniversal" - Copy
module_duouniversal.phpfrom theconfig-templatesdirectory of this repo to the config directory of your SimpleSAMLphp deployment. - Create (if you haven't already) a Duo Universal WebSDKv4 application in the "applications" section of your Duo deployment's admin console and set the following values in the
defaultDuoAppsection of the config:clientIDto the "Client ID"clientSecretto the "Client Secret"apiHostto the "API hostname"usernameAttributeto the SAML attribute which correlates to usernames in your Duo deployment.
- Add an entry into your authentication processing filter chain with the following contents:
array( 'class' => 'duouniversal:DuoUniversal', ),
This will enable the module for the IdP/SP of your choice (or globally if you insert it into the authproc chain in the SimpleSAML global config.php).
The Duo application config used by a particular SP can be changed from the default by adding additional named entries to the alternateDuoApps section of the config and then mapping SP EntityIDs to application names in spDuoOverrides. Duo can be bypassed per-SP by mapping the SP's EntityID to 'bypass' in the same section. See the comments in the config-templates/module_duouniversal.php file for examples.
Based on the original Duo Security module by Kevin Nastase, as forked by Scott Carlson.