PHPackages                             0x0fbc/simplesamlphp-module-duouniversal - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Authentication &amp; Authorization](/categories/authentication)
4. /
5. 0x0fbc/simplesamlphp-module-duouniversal

ActiveSimplesamlphp-module[Authentication &amp; Authorization](/categories/authentication)

0x0fbc/simplesamlphp-module-duouniversal
========================================

Add support for two-factor authentication with the Duo Universal Prompt (WebSDK v4) to SimpleSAMLphp.

1.0.0(3y ago)32202[2 PRs](https://github.com/0x0fbc/simplesamlphp-module-duouniversal/pulls)MITPHP

Since Oct 5Pushed 2mo ago3 watchersCompare

[ Source](https://github.com/0x0fbc/simplesamlphp-module-duouniversal)[ Packagist](https://packagist.org/packages/0x0fbc/simplesamlphp-module-duouniversal)[ Docs](https://github.com/0x0fbc/simplesamlphp-module-duouniversal)[ RSS](/packages/0x0fbc-simplesamlphp-module-duouniversal/feed)WikiDiscussions master Synced 1mo ago

READMEChangelogDependencies (2)Versions (3)Used By (0)

simplesamlphp-module-duouniversal
=================================

[](#simplesamlphp-module-duouniversal)

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!

[](#this-module-is-still-in-development-and-is-not-production-ready-use-at-your-own-risk)

Installation
============

[](#installation)

1. `cd` into the root of your SimpleSAMLphp installation
2. run `composer require "0x0fbc\simplesamlphp-module-duouniversal"`
3. Copy `module_duouniversal.php` from the `config-templates` directory of this repo to the config directory of your SimpleSAMLphp deployment.
4. 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 `defaultDuoApp` section of the config:
    1. `clientID` to the "Client ID"
    2. `clientSecret` to the "Client Secret"
    3. `apiHost` to the "API hostname"
    4. `usernameAttribute` to the SAML attribute which correlates to usernames in your Duo deployment.
5. 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.

-
-

###  Health Score

36

—

LowBetter than 82% of packages

Maintenance57

Moderate activity, may be stable

Popularity18

Limited adoption so far

Community14

Small or concentrated contributor base

Maturity48

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 80.6% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Unknown

Total

1

Last Release

1321d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/d31d2595338c20c86bdccc597529db4b8464a23b7da09583613e241f02e9159a?d=identicon)[0x0fbc](/maintainers/0x0fbc)

---

Top Contributors

[![0x0fbc](https://avatars.githubusercontent.com/u/10455804?v=4)](https://github.com/0x0fbc "0x0fbc (25 commits)")[![knastase](https://avatars.githubusercontent.com/u/3866404?v=4)](https://github.com/knastase "knastase (4 commits)")[![mschwager](https://avatars.githubusercontent.com/u/1724818?v=4)](https://github.com/mschwager "mschwager (1 commits)")[![scottcarlson](https://avatars.githubusercontent.com/u/1489998?v=4)](https://github.com/scottcarlson "scottcarlson (1 commits)")

---

Tags

simplesamlphpDuo

### Embed Badge

![Health badge](/badges/0x0fbc-simplesamlphp-module-duouniversal/health.svg)

```
[![Health](https://phpackages.com/badges/0x0fbc-simplesamlphp-module-duouniversal/health.svg)](https://phpackages.com/packages/0x0fbc-simplesamlphp-module-duouniversal)
```

###  Alternatives

[drupalauth/simplesamlphp-module-drupalauth

A SimpleSAMLphp module adding support for Drupal as the authentication source.

25305.4k1](/packages/drupalauth-simplesamlphp-module-drupalauth)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
