nirou8/laravel5-multiple-saml2

这是一个基于 OneLogin 工具包的 Laravel5 包,用于 Saml2 集成,作为一个基于 SP (服务提供者)

v2.8 2018-12-11 00:34 UTC

This package is auto-updated.

Last update: 2024-09-11 15:02:54 UTC


README

这是一个 Laravel 包,用于 Saml2 集成作为一个 SP(服务提供者),基于 OneLogin 工具包。

该库的目标是尽可能简单。

安装 - Composer

您可以通过 composer 安装此包

composer require nirou8/laravel5-multiple-saml2

如果您使用的是 Laravel 5.5 及以上版本,服务提供者将自动注册。

对于 Laravel 的旧版本(<5.5),您需要在 config/app.php 中添加服务提供者和别名

'providers' => [
        ...
    	Nirou\Saml2\Saml2ServiceProvider::class,
]

'alias' => [
        ...
        'Saml2' => Nirou\Saml2\Facades\Saml2Auth::class,
]

然后使用 php artisan vendor:publish 发布配置文件。这将添加 app/config/saml2_settings.php 文件。此配置几乎直接由 OneLogin 处理,因此您可以在那里找到更多参考,但这里将涵盖真正必要的部分。还有一些关于路由的其他配置您可能需要检查,它们相当简单。

配置

一旦您将 saml2_settings.php 发布到您自己的文件中,您需要配置您的 SP 和 IDP(远程服务器)。此配置与 OneLogin 所使用的配置之间的唯一真正区别是,SP entityId、assertionConsumerService url 和 singleLogoutService URL 都由库注入。它们分别从路由 'saml_metadata'、'saml_acs' 和 'saml_sls' 中获取。

请记住,您不需要实现这些路由,但您需要将它们添加到您的 IDP 配置中。例如,如果您使用 simplesamlphp,请将以下内容添加到 /metadata/sp-remote.php 中

您可以通过实际导航到 'http://laravel_url/saml2/metadata' 来检查该元数据