cesnet / simplesamlphp-module-proxystatistics
SimpleSAMLPHP 统计模块
v8.5.0
2024-03-22 12:23 UTC
Requires
- php: ^7.3 || ^8
- ext-ctype: *
- ext-curl: *
- ext-filter: *
- ext-json: *
- ext-pdo: *
- simplesamlphp/simplesamlphp: ^1.19.2
Suggests
- ext-pdo_mysql: for MySQL database
- ext-pdo_pgsql: for PostgreSQL database
- cesnet/simplesamlphp-module-perun: for logging that a user accessed a service
- dev-main
- v8.5.0
- v8.4.0
- v8.3.0
- v8.2.0
- v8.1.1
- v8.1.0
- v8.0.0
- v7.1.1
- v7.1.0
- v7.0.2
- v7.0.1
- v7.0.0
- v6.0.0
- v5.0.0
- v4.3.x-dev
- v4.3.0
- v4.2.x-dev
- v4.2.2
- v4.2.1
- v4.2.0
- v4.1.x-dev
- 4.1.0
- v4.0.x-dev
- 4.0.0
- v3.2.x-dev
- 3.2.1
- 3.2.0
- v3.1.x-dev
- 3.1.0
- v3.0.x-dev
- 3.0.0
- 2.1.0
- v2.0.x-dev
- 2.0.0
- v1.5.x-dev
- 1.5.0
- v1.4.x-dev
- 1.4.1
- 1.4.0
- v1.3.x-dev
- 1.3.0
- v1.2.x-dev
- 1.2.1
- 1.2.0
- v1.1.x-dev
- 1.1.0
- v1.0.x-dev
- 1.0.0
- dev-github/fork/vyskocilpavel/bootstrap
- dev-dev_api
This package is auto-updated.
Last update: 2024-09-22 13:25:28 UTC
README
该项目已达到生命周期的终点,这意味着将不再添加新功能。安全补丁和重要的错误修复将于2024年结束。请查看RCIAM METRICS。
描述
simpleSAMLphp 的模块,显示代理 IdP/SP 统计数据
贡献
此存储库使用 常规提交。
任何显著更改行为(以向后不兼容的方式)或需要配置更改的更改都必须标记为 BREAKING CHANGE。
可用范围
- 设计
- 身份验证过程过滤器
- 统计
- ...
安装
一旦您安装了 SimpleSAMLphp,安装此模块就非常简单。首先,如果您还没有,需要下载 Composer。安装 Composer 后,只需在 SimpleSAMLphp 安装根目录中执行以下命令:
php composer.phar require cesnet/simplesamlphp-module-proxystatistics
配置
- 安装 MySQL 数据库并创建用于统计和用户的数据库。
- 为此数据库运行脚本以创建表。脚本位于 config-templates/tables.sql。
- 将 config-templates/module_proxystatistics.php 复制到您的配置文件夹并填写它。
- 根据模式进行配置
- PROXY - 收集来自每个身份提供者和访问服务的登录次数数据;对于 PROXY 模式,从 Perun 模块配置 IdPAttribute 过滤器以获取源 IdPName 从 IdP 元数据
50 => [
'class' => 'perun:IdPAttribute',
'attrMap' => [
'name:en' => 'sourceIdPName',
],
],
// where 50 is priority (for example, must not be used for other modules)
- IDP - 收集通过给定身份提供者访问服务的统计数据;对于 IDP 模式,在
module_proxystatistics.php
中配置实体 ID 和名称
'IDP' => [
'id' => '',
'name' => '',
],
- SP - 收集用于访问给定服务的身份提供者的统计数据;对于 SP 模式,在
module_proxystatistics.php
中配置实体 ID 和名称
'SP' => [
'id' => '',
'name' => '',
],
- MULTI_IDP - 与 IDP 模式类似,在一个数据库中存储更多的身份提供者;对于 MULTI_IDP 模式,在从其中获取统计数据的每个
module_proxystatistics.php
中配置实体 ID 和名称
'IDP' => [
'id' => '',
'name' => '',
],
- 配置 proxystatistics 过滤器
50 => [
'class' => 'proxystatistics:Statistics',
],
// where 50 is priority (for example, must not be used for other modules)
- 添加到
config.php
'instance_name' => 'Instance name',
通过 API 编写
配置
添加以下内容(并调整凭据)以通过 API 编写(以下为示例请求)。支持的方法是 POST,PUT
。
'apiWriteEnabled' => true,
'apiWriteUsername' => 'api_writer',
'apiWritePasswordHash' => password_hash('ap1Wr1T3rP@S$'),
示例请求
curl --request POST \
--url https://proxy.com/proxy/module.php/proxystatistics/writeLoginApi.php \
--header 'Authorization: Basic encodedCredentials' \
--header 'Content-Type: application/json' \
--data '{
"userId": "[email protected]",
"serviceIdentifier": "https://service.com/shibboleth",
"serviceName": "TEST_SERVICE",
"idpIdentifier": "https://idp.org/simplesamlphp",
"idpName": "TEST_IDP"
}'