kingstarter / invoiceplane-saml
InvoicePlane 1.5的SAML插件
Requires
- php: >=7.2
- onelogin/php-saml: ^3.0
This package is not auto-updated.
Last update: 2024-09-29 03:41:49 UTC
README
本包计划作为插件将SAML集成到InvoicePlane 1。使用本包可以让InvoicePlane充当SAML SP(服务提供商)。目前没有计划集成IDP。
描述
SAML通常在不同的Web应用程序之间实现单点登录(SSO)和单点登出(SLO)。本包允许实现单点登录。尽管提供了单点登出的配置,但SLO部分尚未经过测试,可能因此无法正常工作。
还添加了自动账户创建功能。当通过IDP使用未知账户登录时,将创建一个管理员用户,使用给定的姓名和电子邮件以及一些标准配置。
安装和配置
本包的基础不是网站上的zip包,而是来自GitHub的开发堆栈。首先从GitHub加载git master分支。然后使用composer
安装本包
git clone https://github.com/InvoicePlane/InvoicePlane.git
cd InvoicePlane
composer install
npm install
grunt build
composer require "kingstarter/laravel-saml":"dev-master"
基本上要做的就是调用安装脚本,并配置SP和IDP进行SAML身份验证。插件安装脚本将修改InvoicePlane以支持SAML
cd {ip-root-path}/
perl vendor/kingstarter/invoiceplane-saml/install-plugin.pl -v
配置InvoicePlane为SP
运行安装脚本后,通用设置已追加SAML条目。登录InvoicePlane,在系统设置中进入SAML设置。提供了一些示例设置。保存所有设置后,将所有设置添加到数据库。不需要元数据文件。
配置IDP
可以使用页面地址作为实体ID/发行者
,例如https://invoiceplane.example.com
。SAML响应消费者URL(SP登录目标)是samlauth端点
https://invoiceplane.example.com/index.php/sessions/samlauth
证书
可以使用集成设置添加证书。或者它们应放置在/var/ip_certs
目录中。
- SP证书:
/var/ip_certs/ip-sp.crt
- SP密钥:
/var/ip_certs/ip-sp.crt
- IDP证书:存储在数据库中,使用配置页面。
故障排除
关于CSRF保护的通知
在application/config/config.php
中,需要在csrf_exclude_uris
数组中添加samlauth API端点(安装脚本应自动执行)。如果IP以403禁止错误阻止,可能需要检查配置条目
$config['csrf_exclude_uris'] = array(
'sessions/samlauth'
);
贡献者
- 本包是根据Trajches Kanboard SAMLAuth Plugin的分支重新设计的。