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(5mo ago)6132.3k—7.7%28[9 issues](https://github.com/silverstripe/silverstripe-saml/issues)[1 PRs](https://github.com/silverstripe/silverstripe-saml/pulls)1BSD-3-ClausePHP

Since Nov 5Pushed 5mo ago9 watchersCompare

[ Source](https://github.com/silverstripe/silverstripe-saml)[ Packagist](https://packagist.org/packages/silverstripe/saml)[ RSS](/packages/silverstripe-saml/feed)WikiDiscussions main Synced 1mo 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

52

—

FairBetter than 96% of packages

Maintenance52

Moderate activity, may be stable

Popularity43

Moderate usage in the ecosystem

Community35

Small or concentrated contributor base

Maturity70

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

159d 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

[onelogin/php-saml

PHP SAML Toolkit

1.3k44.0M107](/packages/onelogin-php-saml)[hslavich/oneloginsaml-bundle

OneLogin SAML Bundle for Symfony

1482.5M1](/packages/hslavich-oneloginsaml-bundle)[codegreencreative/laravel-samlidp

Make your PHP Laravel application an Identification Provider using SAML 2.0. This package allows you to implement your own Identification Provider (idP) using the SAML 2.0 standard to be used with supporting SAML 2.0 Service Providers (SP).

263763.5k1](/packages/codegreencreative-laravel-samlidp)[humanmade/wp-simple-saml

WordPress Simple SAML plugin

124284.7k2](/packages/humanmade-wp-simple-saml)[scaler-tech/laravel-saml2

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

2737.5k](/packages/scaler-tech-laravel-saml2)[nbgrp/onelogin-saml-bundle

OneLogin SAML Symfony Bundle

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

PHPackages © 2026

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