kingstarter/invoiceplane-saml

InvoicePlane 1.5的SAML插件

1.1.0 2019-10-07 08:13 UTC

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'
); 

贡献者