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

ActiveSilverstripe-vendormodule[Authentication &amp; Authorization](/categories/authentication)

silverstripe/saml
=================

Adds SSO/SAML authentication support to SilverStripe

4.1.0(6mo ago)6146.5k↓39.7%28[10 issues](https://github.com/silverstripe/silverstripe-saml/issues)[1 PRs](https://github.com/silverstripe/silverstripe-saml/pulls)1BSD-3-ClausePHPCI failing

Since Nov 5Pushed 6mo ago9 watchersCompare

[ Source](https://github.com/silverstripe/silverstripe-saml)[ Packagist](https://packagist.org/packages/silverstripe/saml)[ RSS](/packages/silverstripe-saml/feed)WikiDiscussions main Synced 3d ago

READMEChangelog (9)Dependencies (4)Versions (21)Used By (1)

Silverstripe SAML module
========================

[](#silverstripe-saml-module)

[![Build Status](https://github.com/silverstripe/silverstripe-saml/actions/workflows/ci.yml/badge.svg)](https://github.com/silverstripe/silverstripe-saml/actions/workflows/ci.yml)[![Scrutinizer Code Quality](https://camo.githubusercontent.com/c549a3cf167f49c93c1d6fa902dff2f85633577cc2d5e96aafd0cdb4b4bb1ca0/68747470733a2f2f7363727574696e697a65722d63692e636f6d2f672f73696c7665727374726970652f73696c7665727374726970652d73616d6c2f6261646765732f7175616c6974792d73636f72652e706e67)](https://scrutinizer-ci.com/g/silverstripe/silverstripe-saml/)[![codecov](https://camo.githubusercontent.com/a366434991eca01e068dce613b7369a4491556a9cd9c06e8fbb053f55c5cbdb1/68747470733a2f2f636f6465636f762e696f2f67682f73696c7665727374726970652f73696c7665727374726970652d73616d6c2f6272616e63682f6d61737465722f67726170682f62616467652e737667)](https://codecov.io/gh/silverstripe/silverstripe-saml)

Table of Contents
-----------------

[](#table-of-contents)

- [Introduction](#introduction)
- [Requirements](#requirements)
- [Overview](#overview)
- [Security](#security)
- [In-depth guides](#in-depth-guides)
    - [For Silverstripe developers](#for-silverstripe-developers)
    - [For identity provider administrators](#for-identity-provider-administrators)
- [Changelog](#changelog)

Introduction
------------

[](#introduction)

This Silverstripe module provides single sign-on authentication integration with a SAML provider.

This component can also be used alongside the default Silverstripe authentication scheme.

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

[](#requirements)

- PHP 8+ with extensions: openssl, dom
- Silverstripe CMS 6 (see `2` branch for Silverstripe 4)
- Active Directory Federation Services 2.0 or greater (ADFS)
- HTTPS endpoint on Silverstripe site
- HTTPS endpoint on ADFS

This module has previously been tested on the following configurations, but is now untested:

- Windows Server 2008 R2 with ADFS 2.0
- Windows Server 2012 R2 with ADFS 3.0

**Note:** For LDAP only Active Directory integration, please see [silverstripe-ldap](https://github.com/silverstripe/silverstripe-ldap).

Overview
--------

[](#overview)

[![](docs/en/img/saml_ad_integration.png)](docs/en/img/saml_ad_integration.png)*(Image) Typical authentication and authorisation flow for this module*

[Security Assertion Markup Language (SAML)](http://en.wikipedia.org/wiki/Security_Assertion_Markup_Language) is an XML-based, open-standard data format for exchanging authentication and authorization data between parties. The single most important requirement that SAML addresses is web browser single sign-on (SSO).

With this module, Silverstripe site is able to act as a SAML Service Provider (SP) entity, and thus allows users to perform a single sign-on against a centralised user directory (an Identity Provider - IdP).

The intended counterparty for this module is the [Active Directory Federation Services (ADFS)](http://en.wikipedia.org/wiki/Active_Directory_Federation_Services). ADFS is a software component developed by Microsoft that can be installed on Windows Server operating systems to provide users with single sign-on access to systems and applications located across organizational boundaries.

ADFS uses a claims-based access control authorization model to maintain application security and implement federated identity. We rely on this mechanism for authentication, and for automated synchronisation of some basic personal details into Silverstripe.

This module doesn't allow you to store additional user attributes. If this is desired, you can optionally install the [silverstripe-ldap](https://github.com/silverstripe/silverstripe-ldap) module and run alongside to synchronise custom user attributes from an Active Directory server.

Security
--------

[](#security)

With appropriate configuration, this module provides a secure means of authentication and authorisation.

For secure communication over the internet during the SAML authentication process, users must communicate with Silverstripe and ADFS using HTTPS. Similarly, for AD authentication to be secure users must access the Silverstripe site using HTTPS.

Silverstripe trusts ADFS responses based on pre-shared X509 certificates. These certificates are exchanged between the Identity Provider (ADFS) and the Service Provider (Silverstripe site) during the initial configuration phase.

In-depth guides
---------------

[](#in-depth-guides)

### For Silverstripe developers

[](#for-silverstripe-developers)

- [Developer guide](docs/en/developer.md) - configure your Silverstripe site
- [Troubleshooting](docs/en/troubleshooting.md) - common problems

### For identity provider administrators

[](#for-identity-provider-administrators)

These guides will help you prepare your identity provider and configure it to work with the module correctly.

- [ADFS administrator guide](docs/en/adfs.md)
- [Azure AD administrator guide](docs/en/azure-ad.md)

Changelog
---------

[](#changelog)

Please see the [GitHub releases](https://github.com/silverstripe/silverstripe-saml/releases) for changes.

###  Health Score

50

—

FairBetter than 95% of packages

Maintenance46

Moderate activity, may be stable

Popularity41

Moderate usage in the ecosystem

Community35

Small or concentrated contributor base

Maturity71

Established project with proven stability

 Bus Factor3

3 contributors hold 50%+ of commits

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 ~136 days

Recently: every ~39 days

Total

20

Last Release

205d ago

Major Versions

1.0.0 → 2.0.02019-05-20

2.1.2 → 3.0.02023-08-08

2.3.0 → 3.1.02024-02-12

2.4.0 → 3.2.02024-08-28

3.3.0 → 4.0.02025-07-10

PHP version history (2 changes)1.0.0PHP &gt;=5.6

2.1.1PHP &gt;=7.4

### Community

Maintainers

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

![](https://avatars.githubusercontent.com/u/111025?v=4)[Ingo Schommer](/maintainers/chillu)[@chillu](https://github.com/chillu)

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

![](https://www.gravatar.com/avatar/afbb3dcc9ef29c1a6eedd6addcae5fce9ab1271915a85a4c349301b71237368d?d=identicon)[silverstripe-machine01](/maintainers/silverstripe-machine01)

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

![](https://avatars.githubusercontent.com/u/1168676?v=4)[Maxime Rainville](/maintainers/maxime-rainville)[@maxime-rainville](https://github.com/maxime-rainville)

---

Top Contributors

[![mateusz](https://avatars.githubusercontent.com/u/118653?v=4)](https://github.com/mateusz "mateusz (44 commits)")[![robbieaverill](https://avatars.githubusercontent.com/u/5170590?v=4)](https://github.com/robbieaverill "robbieaverill (19 commits)")[![dhensby](https://avatars.githubusercontent.com/u/563596?v=4)](https://github.com/dhensby "dhensby (15 commits)")[![JakubDolba](https://avatars.githubusercontent.com/u/45079648?v=4)](https://github.com/JakubDolba "JakubDolba (8 commits)")[![madmatt](https://avatars.githubusercontent.com/u/893117?v=4)](https://github.com/madmatt "madmatt (8 commits)")[![wilr](https://avatars.githubusercontent.com/u/101629?v=4)](https://github.com/wilr "wilr (7 commits)")[![ishannz](https://avatars.githubusercontent.com/u/20032948?v=4)](https://github.com/ishannz "ishannz (6 commits)")[![satrun77](https://avatars.githubusercontent.com/u/166450?v=4)](https://github.com/satrun77 "satrun77 (5 commits)")[![NightJar](https://avatars.githubusercontent.com/u/778003?v=4)](https://github.com/NightJar "NightJar (4 commits)")[![UndefinedOffset](https://avatars.githubusercontent.com/u/1391558?v=4)](https://github.com/UndefinedOffset "UndefinedOffset (4 commits)")[![josephlewisnz](https://avatars.githubusercontent.com/u/57464168?v=4)](https://github.com/josephlewisnz "josephlewisnz (3 commits)")[![axllent](https://avatars.githubusercontent.com/u/1463435?v=4)](https://github.com/axllent "axllent (2 commits)")[![fspringveldt](https://avatars.githubusercontent.com/u/10938392?v=4)](https://github.com/fspringveldt "fspringveldt (2 commits)")[![micschk](https://avatars.githubusercontent.com/u/1005986?v=4)](https://github.com/micschk "micschk (2 commits)")[![jules0x](https://avatars.githubusercontent.com/u/8979741?v=4)](https://github.com/jules0x "jules0x (1 commits)")[![LiamKearn](https://avatars.githubusercontent.com/u/76269376?v=4)](https://github.com/LiamKearn "LiamKearn (1 commits)")[![halkyon](https://avatars.githubusercontent.com/u/138450?v=4)](https://github.com/halkyon "halkyon (1 commits)")[![GuySartorelli](https://avatars.githubusercontent.com/u/36352093?v=4)](https://github.com/GuySartorelli "GuySartorelli (1 commits)")[![micmania1](https://avatars.githubusercontent.com/u/881537?v=4)](https://github.com/micmania1 "micmania1 (1 commits)")[![blueo](https://avatars.githubusercontent.com/u/948122?v=4)](https://github.com/blueo "blueo (1 commits)")

---

Tags

silverstripeSSOsamldirectoryadactive

###  Code Quality

TestsPHPUnit

Code StylePHP\_CodeSniffer

### Embed Badge

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

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

###  Alternatives

[scaler-tech/laravel-saml2

SAML2 Service Provider integration for Laravel applications, based on OneLogin toolkit

282109.9k](/packages/scaler-tech-laravel-saml2)[hslavich/oneloginsaml-bundle

OneLogin SAML Bundle for Symfony

1482.5M1](/packages/hslavich-oneloginsaml-bundle)[humanmade/wp-simple-saml

WordPress Simple SAML plugin

123305.2k5](/packages/humanmade-wp-simple-saml)[nbgrp/onelogin-saml-bundle

OneLogin SAML Symfony Bundle

551.4M](/packages/nbgrp-onelogin-saml-bundle)

PHPackages © 2026

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