swisscom/simplesamlserviceprovider

Neos Flow 包,包含基于 SimpleSAMLphp 的 SAML 服务提供者。

2.0.1 2023-04-26 13:15 UTC

This package is auto-updated.

Last update: 2024-08-30 08:35:29 UTC


README

Neos Flow SAML 认证包,包含基于 SimpleSAMLphp 的 SAML 服务提供者。

安装

首先,通过 composer 安装此包。这将 simplesamlphp/simplesamlphp 作为依赖项添加。

需要进行几个配置步骤

  1. 创建符号链接 Web/simplesamlphp -> ../Packages/Libraries/simplesamlphp/simplesamlphp/www
  2. 修补 Apache .htaccess 配置,以避免重写 simplesamlphp 并设置 SIMPLESAMLPHP_CONFIG_DIR 环境变量。
  3. 将示例配置结构复制到 SIMPLESAMLPHP_CONFIG_DIR 下的 Configuration/SimpleSamlPhp/

这些步骤可以通过 composer post update 和 install 脚本执行。由于这高度依赖于设置,是否需要执行它,因此不再默认包含在此包中。要启用它,请将以下块添加到您的 composer.json 中

"extra": {
    "neos/flow": {
        "post-install": "Swisscom\\SimpleSamlServiceProvider\\Composer\\InstallerScripts::postUpdateAndInstall",
        "post-update": "Swisscom\\SimpleSamlServiceProvider\\Composer\\InstallerScripts::postUpdateAndInstall"
    }
}

示例设置

作为一个示例和测试目的,无服务器 SAML 身份提供者 Samling 可以配置如下

mkdir Configuration/SimpleSamlPhp/metadata
cp Packages/Libraries/simplesamlphp/simplesamlphp/metadata-templates/saml20-idp-remote.php Configuration/SimpleSamlPhp/metadata/

将以下元数据配置添加到 Configuration/SimpleSamlPhp/metadata/saml20-idp-remote.php

$metadata['https://fujifish.github.io/samling/samling.html'] = array(
    /* Configuration options for the first IdP. */
    'SingleSignOnService' => 'https://fujifish.github.io/samling/samling.html',
    'certificate' => 'samling.pub'
);

证书已从 https://fujifish.github.io/samling/samling.html 复制到证书文件夹(见 config.php 中的 certdir)。

集成

查看包的 Configuration/Settings.yaml 并根据需要配置入口点。

以下设置必须与 SimpleSAMLphp authsources.php 配置文件中配置的认证源匹配

Swisscom:
  SimpleSamlServiceProvider:
    authSource: 'default-sp'