nirou8 / laravel5-multiple-saml2
这是一个基于 OneLogin 工具包的 Laravel5 包,用于 Saml2 集成,作为一个基于 SP (服务提供者)
Requires
- php: >=5.4.0
- ext-openssl: *
- illuminate/support: >=5.0.0
- nirou8/php-multiple-saml: 1.4
Requires (Dev)
- mockery/mockery: 0.9.*
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' 来检查该元数据