为 SilverStripe 添加 SSO/SAML 认证支持

安装次数: 61,637

依赖: 1

建议者: 0

安全: 0

星标: 6

关注者: 12

分支: 27

开放问题: 9

类型:silverstripe-vendormodule

3.2.0 2024-08-28 22:27 UTC

This package is auto-updated.

Last update: 2024-08-28 22:29:22 UTC


README

Build Status Scrutinizer Code Quality codecov

目录

简介

此 SilverStripe 模块提供了与 SAML 提供程序的单一登录认证集成。

此组件还可以与默认的 SilverStripe 认证方案一起使用。

要求

  • PHP 8+,带有扩展:openssl,dom
  • SilverStripe 5+(查看 2 分支以获取 SilverStripe 4)
  • Active Directory 联邦服务 2.0 或更高版本(ADFS)
  • SilverStripe 网站上的 HTTPS 终端
  • ADFS 上的 HTTPS 终端

此模块已以前在以下配置上进行过测试,但现在未进行测试

  • Windows Server 2008 R2 与 ADFS 2.0
  • Windows Server 2012 R2 与 ADFS 3.0

注意:有关仅 Active Directory 集成的 LDAP,请参阅 silverstripe-ldap

概述

(图像)此模块典型的认证和授权流程

安全断言标记语言(SAML) 是一种基于 XML 的开放标准数据格式,用于在各方之间交换认证和授权数据。SAML 解决的最重要问题之一是网页浏览器单一登录(SSO)。

使用此模块,SilverStripe 网站能够作为 SAML 服务提供商(SP)实体,从而允许用户针对集中式用户目录(身份提供程序 - IdP)执行单一登录。

此模块的目标对应方是 Active Directory 联邦服务(ADFS)。ADFS 是微软开发的一种软件组件,可以在 Windows Server 操作系统上安装,为用户提供跨组织边界的系统和应用程序的单一登录访问。

ADFS 使用基于声明的访问控制授权模型来维护应用程序安全并实现联合身份。我们依赖此机制进行认证,并将一些基本个人信息自动同步到 SilverStripe。

此模块不允许您存储其他用户属性。如果需要,您可以安装 silverstripe-ldap 模块,并与其一起运行以从 Active Directory 服务器同步自定义用户属性。

安全

通过适当的配置,此模块提供了一种安全的认证和授权方式。

在 SAML 认证过程中通过互联网进行安全通信时,用户必须使用 HTTPS 与 SilverStripe 和 ADFS 进行通信。同样,为了确保 AD 认证的安全性,用户必须使用 HTTPS 访问 SilverStripe 网站。

SilverStripe 根据预先共享的 X509 证书信任 ADFS 响应。这些证书在身份提供程序(ADFS)和服务提供程序(SilverStripe 网站)的初始配置阶段之间交换。

深入指南

针对 SilverStripe 开发者

针对身份提供者管理员

这些指南将帮助您准备您的身份提供者,并将其正确配置以与模块一起使用。

变更日志

有关更改,请参阅GitHub发行版