PHPackages                             kleinweb/saml-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. kleinweb/saml-auth

ActiveLibrary[Authentication &amp; Authorization](/categories/authentication)

kleinweb/saml-auth
==================

The source code for Kleinweb SAML Auth

6.0.2(4mo ago)1245[7 issues](https://github.com/kleinweb/saml-auth/issues)[10 PRs](https://github.com/kleinweb/saml-auth/pulls)GPL-3.0-or-laterPHPPHP ^8.3

Since Sep 24Pushed 2mo ago2 watchersCompare

[ Source](https://github.com/kleinweb/saml-auth)[ Packagist](https://packagist.org/packages/kleinweb/saml-auth)[ Docs](https://github.com/kleinweb/saml-auth)[ RSS](/packages/kleinweb-saml-auth/feed)WikiDiscussions main Synced 1mo ago

READMEChangelogDependencies (19)Versions (47)Used By (0)

Kleinweb SAML Authentication
============================

[](#kleinweb-saml-authentication)

A WordPress SAML 2.0 authentication package for Klein College sites. Built as an [Acorn](https://roots.io/acorn/) service provider, it wraps [wp-saml-auth](https://github.com/pantheon-systems/wp-saml-auth)with custom login page modifications, managed user provisioning, and bulk user import capabilities.

Features
--------

[](#features)

- SAML 2.0 Single Sign-On via institutional Identity Provider
- Custom WordPress login page with IdP toggle
- Managed user accounts with SAML attribute mapping
- Bulk user import from CSV
- SP metadata endpoint at `/sp/metadata`

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

[](#requirements)

- PHP 8.3+
- WordPress with [Acorn](https://roots.io/acorn/) 5.0+
- [wp-saml-auth](https://github.com/pantheon-systems/wp-saml-auth) plugin

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

[](#installation)

```
composer require kleinweb/saml-auth
```

The service provider is auto-discovered via Acorn. Configure in `config/kleinweb-auth.php`.

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

[](#configuration)

X.509 certificates should be placed in `.config/x509/`:

- `.config/x509/keys/.key` - Private key
- `.config/x509/certs/.crt` - Certificate

Key config options in `config/kleinweb-auth.php`:

- `allow_local_login` - Enable/disable WordPress password login (default: `true`)
- `auto_provision` - Auto-create accounts for new IdP users (default: `false`)
- `default_role` - Role assigned to provisioned users

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

[](#development)

```
just check    # Run all QA checks
just fix      # Apply formatters and fixers
just build    # Build frontend assets
just dev      # Watch mode
```

Tools
-----

[](#tools)

-

References
----------

[](#references)

### SAML Specifications

[](#saml-specifications)

- [Assertions and Protocols for the OASIS Security Assertion Markup Language (SAML) V2.0](http://docs.oasis-open.org/security/saml/v2.0/saml-core-2.0-os.pdf)
- [Glossary for the OASIS Security Assertion Markup Language (SAML) V2.0](http://docs.oasis-open.org/security/saml/v2.0/saml-glossary-2.0-os.pdf)
- [Metadata for the OASIS Security Assertion Markup Language (SAML) V2.0](http://docs.oasis-open.org/security/saml/v2.0/saml-metadata-2.0-os.pdf)
- [Profiles for the OASIS Security Assertion Markup Language (SAML) V2.0](http://docs.oasis-open.org/security/saml/v2.0/saml-profiles-2.0-os.pdf)

### SAML Attribute Naming Conventions

[](#saml-attribute-naming-conventions)

- [SAML V2.0 X.500/LDAP Attribute Profile](http://docs.oasis-open.org/security/saml/Post2.0/sstc-saml-attribute-x500.pdf)
- [Attribute Naming - Shibboleth Concepts](https://shibboleth.atlassian.net/wiki/spaces/CONCEPT/pages/928645306/AttributeNaming#AttributeNaming-SAMLNamingConventions)
- [eduPerson Object Class Specification (20220208) v4.4.0](https://github.com/REFEDS/eduperson/blob/master/eduperson-202208.md)
- [`eduPersonDisplayPronouns`](https://wiki.refeds.org/display/STAN/eduPersonDisplayPronouns)

#### Background

[](#background)

-
-
-

###  Health Score

41

—

FairBetter than 89% of packages

Maintenance60

Regular maintenance activity

Popularity13

Limited adoption so far

Community10

Small or concentrated contributor base

Maturity67

Established project with proven stability

 Bus Factor1

Top contributor holds 98.3% 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 ~16 days

Recently: every ~60 days

Total

27

Last Release

124d ago

Major Versions

1.0.0 → 2.0.0-alpha.12024-12-04

2.0.0-rc.1 → 3.0.02025-04-01

3.1.0 → 4.0.02025-04-03

4.1.0 → 5.0.0-beta.12025-04-12

5.2.0 → 6.0.02026-01-13

PHP version history (2 changes)1.0.0-rc.1PHP ^8.2

6.0.0PHP ^8.3

### Community

Maintainers

![](https://www.gravatar.com/avatar/d14eb8a5d34e840d980cc5f0f4a6172968c47a20ba5aa3af2e7ccb964acbf06d?d=identicon)[montchr](/maintainers/montchr)

---

Top Contributors

[![astratagem](https://avatars.githubusercontent.com/u/1757914?v=4)](https://github.com/astratagem "astratagem (118 commits)")[![renovate[bot]](https://avatars.githubusercontent.com/in/2740?v=4)](https://github.com/renovate[bot] "renovate[bot] (2 commits)")

###  Code Quality

Code StylePHP CS Fixer

### Embed Badge

![Health badge](/badges/kleinweb-saml-auth/health.svg)

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

###  Alternatives

[symfony/security-bundle

Provides a tight integration of the Security component into the Symfony full-stack framework

2.5k172.9M1.8k](/packages/symfony-security-bundle)[symfony/security-http

Symfony Security Component - HTTP Integration

1.7k164.3M234](/packages/symfony-security-http)[simplesamlphp/simplesamlphp

A PHP implementation of a SAML 2.0 service provider and identity provider.

1.1k12.4M193](/packages/simplesamlphp-simplesamlphp)[gesdinet/jwt-refresh-token-bundle

Implements a refresh token system over Json Web Tokens in Symfony

70516.4M35](/packages/gesdinet-jwt-refresh-token-bundle)[scheb/2fa

Two-factor authentication for Symfony applications (please use scheb/2fa-bundle to install)

578630.7k1](/packages/scheb-2fa)[litesaml/lightsaml

SAML 2.0 PHP library

1055.5M18](/packages/litesaml-lightsaml)

PHPackages © 2026

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