PHPackages                             marshallu/mu-auth - 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. marshallu/mu-auth

ActiveWordpress-plugin[Authentication &amp; Authorization](/categories/authentication)

marshallu/mu-auth
=================

MU Auth is a WordPress plugin that provides a simple way to authenticate users against the Marshall University SSO.

v1.1.5(3w ago)072MITPHPPHP &gt;=8.3

Since Jul 11Pushed 3w ago1 watchersCompare

[ Source](https://github.com/marshallu/mu-auth)[ Packagist](https://packagist.org/packages/marshallu/mu-auth)[ RSS](/packages/marshallu-mu-auth/feed)WikiDiscussions main Synced 1w ago

READMEChangelogDependencies (25)Versions (10)Used By (0)

MU Auth
=======

[](#mu-auth)

A WordPress plugin that provides Single Sign-On (SSO) authentication for Marshall University via CAS (Central Authentication Service).

Requirements
------------

[](#requirements)

- WordPress
- ACF Pro
- Gravity Forms (optional, required for the Gravity Forms Viewer role)

Installation
------------

[](#installation)

Install via Composer:

```
composer require marshallu/mu-auth
```

Or place the plugin in your `wp-content/plugins/` directory and activate it.

Configuration
-------------

[](#configuration)

CAS authentication activates automatically on supported hosts:

- **WordPress VIP** — when the platform-defined `VIP_GO_APP_ENVIRONMENT` constant is present (all environment types, including `local`)
- **Pantheon** — when `PANTHEON_ENVIRONMENT` is set in the environment

On any other host, enable it with an environment variable:

```
MU_AUTH_ENABLE=true
```

Note that this only gates the CAS login redirect. The custom roles, their admin restrictions, the settings page, and the logout redirect are always registered.

Once active, configure access via the **Settings &gt; MU Auth Settings** page in the WordPress admin. This requires ACF Pro.

### Auth Users

[](#auth-users)

Add MU Net IDs and assign each a permissions level:

Permissions LevelWordPress RoleAdministratoradministratorEditoreditorFormsgravity\_forms\_viewerProfilesprofiles\_manager### Site Visibility

[](#site-visibility)

- **Public** - Site accessible to all visitors
- **Admins** - Only users listed in Auth Users
- **Extras** - Admins plus additional view-only users

### Super Users

[](#super-users)

To grant certain MU Net IDs unconditional access across all sites without storing them in version control, add a filter in a mu-plugin (e.g. `wp-content/mu-plugins/super-users.php`):

```
add_filter( 'mu_auth_super_users', function( $users ) {
    return array( 'netid1', 'netid2' );
} );
```

### Forcing CAS On or Off

[](#forcing-cas-on-or-off)

To override host auto-detection — for example to turn CAS off on a specific environment, or on for a host the plugin does not detect — add a filter in a mu-plugin:

```
add_filter( 'mu_auth_enabled', function( $enabled ) {
    return false;
} );
```

Custom Roles
------------

[](#custom-roles)

### Gravity Forms Viewer

[](#gravity-forms-viewer)

Can view, export, and annotate Gravity Forms entries. Restricted to Gravity Forms pages only in the admin.

### Profiles Manager

[](#profiles-manager)

Can create and edit Employee posts and Department taxonomy terms. Restricted to those post types in the admin.

Development
-----------

[](#development)

```
composer lint      # Check coding standards
composer format    # Auto-fix formatting
composer analyse   # Run PHPStan static analysis
```

###  Health Score

46

—

FairBetter than 92% of packages

Maintenance95

Actively maintained with recent releases

Popularity10

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity62

Established project with proven stability

 Bus Factor1

Top contributor holds 100% 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

Every ~106 days

Recently: every ~34 days

Total

8

Last Release

22d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/34515c639712e2e66d9e7e60f2d3eb4cebc1a048b645b82458d553964f125c26?d=identicon)[mccomaschris](/maintainers/mccomaschris)

---

Top Contributors

[![mccomaschris](https://avatars.githubusercontent.com/u/26128?v=4)](https://github.com/mccomaschris "mccomaschris (49 commits)")

---

Tags

pluginwordpress

###  Code Quality

Static AnalysisPHPStan

Code StylePHP\_CodeSniffer

Type Coverage Yes

### Embed Badge

![Health badge](/badges/marshallu-mu-auth/health.svg)

```
[![Health](https://phpackages.com/badges/marshallu-mu-auth/health.svg)](https://phpackages.com/packages/marshallu-mu-auth)
```

PHPackages © 2026

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