ameos / scim
TYPO3 的 SCIM 扩展
Requires
- php: ^8.0
- tmilos/scim-filter-parser: ^1.3
- typo3/cms-core: ^12.4 | dev-master
Requires (Dev)
- typo3/testing-framework: ^8.0
Replaces
- typo3-ter/scim: 1.0.3
README
概述
本 TYPO3 扩展实现了系统跨域身份管理(SCIM)标准。SCIM 通过提供一种在各个平台之间管理用户身份的一致方式,旨在简化基于云的应用和服务中的用户管理。
功能
- 用户配置:自动化用户账户的创建、更新和删除。
- 组管理:管理用户组和成员资格。
- 模式合规性:完全符合 SCIM 2.0 规范。
- 可扩展性:易于扩展和自定义以满足特定需求。
- 安全性:实施强大的安全措施以保护用户数据。
要求
TYPO3 v12 或更高版本 PHP 8.0 或更高版本
安装
使用 Composer
将扩展添加到您的 TYPO3 项目中
composer require ameos/scim
手动安装
下载扩展。
在 TYPO3 扩展管理器中激活扩展。
配置
添加访问权限
在根页面创建 scim 访问记录并复制密钥。此密钥可以用作提供者配置中的 Bearer。
TypoScript 设置
导航到 TYPO3 后端并转到模板模块。
选择您的根页面并单击编辑整个模板记录。
添加静态模板 SCIM 配置。
编辑插件 tx_scim.pid 常量,使用包含前端用户的存储文件夹的 ID。
扩展设置
您可以在扩展设置中激活或停用 SCIM 的后端或前端,并配置 API 路径。
映射配置
扩展自带预配置的映射
您可以通过在 sitepackage ext_localconf.php 文件中指定 Yaml 文件的路径来修改此映射
Configuration::registerConfiguration('EXT:sitepackage/Configuration/Scim/Configuration.yaml');
查看默认映射在配置/映射/Configuration.yaml 中
用法
API 端点
用户端点
GET /Users: Retrieve all users.
GET /Users/{id}: Retrieve a specific user by ID.
POST /Users: Create a new user.
PUT /Users/{id}: Replace an existing user.
PATCH /Users/{id}: Update an existing user.
DELETE /Users/{id}: Delete a user.
组端点
GET /Groups: Retrieve all groups.
GET /Groups/{id}: Retrieve a specific group by ID.
POST /Groups: Create a new group.
PUT /Groups/{id}: Replace an existing group.
PATCH /Groups/{id}: Update an existing group.
DELETE /Groups/{id}: Delete a group.
其他端点
POST /Bulk: Bulk operations
示例请求
创建用户
curl -X POST https://example.com/scim/v2/Users \
-H "Authorization: Bearer your_api_key_here" \
-H "Content-Type: application/json" \
-d '{
"userName": "jdoe",
"name": {
"givenName": "John",
"familyName": "Doe"
},
"emails": [
{
"value": "jdoe@example.com",
"primary": true
}
]
}'
检索用户
curl -X GET https://example.com/scim/v2/Users/{id} \
-H "Authorization: Bearer your_api_key_here"
日志记录
日志记录连接到 scim 通道
查看配置的 TYPO3 配置:[链接](https://docs.typo3.org/m/typo3/reference-coreapi/main/en-us/ApiOverview/Logging/Index.html)
扩展扩展
为了扩展此扩展的功能,您可以
- 使用事件。
- 扩展映射配置。
- 扩展扩展类。
有关详细信息,请参阅 TYPO3 扩展开发文档。
支持
对于支持,请在 GitHub 存储库中打开一个问题或通过 typo3dev@ameos.com 联系我们。
贡献
我们欢迎对这个项目的贡献。请按照以下步骤进行贡献
- 在 GitHub 上分支存储库。
- 创建一个功能分支(git checkout -b feature * your-feature)。
- 提交您的更改(git commit -am 'Add your feature')。
- 将更改推送到分支(git push origin feature/your-feature)。
- 创建一个新的 Pull Request。
许可
本项目采用 MIT 许可。有关更多详细信息,请参阅 LICENSE 文件。
感谢您使用我们的 TYPO3 SCIM 扩展。我们希望它简化了您的用户管理并提高了您的生产力。