netlogix / nxkeycloak
TYPO3 扩展,用于通过 Keycloak 登录 TYPO3 后端
1.0.0
2022-05-27 06:10 UTC
Requires
- php: ^7.4 || ^8.0 || ^8.1
- league/oauth2-client: ^2.6
- typo3/cms-beuser: ^11.5
- typo3/cms-core: ^11.5
Requires (Dev)
- ext-sqlite3: *
- nimut/phpunit-merger: ^1.1
- nimut/testing-framework: ^6.0
- phpunit/phpcov: ^8.2
README
此扩展允许使用 Keycloak 服务器进行后端登录。
功能
- 通过可配置的 Keycloak 服务器进行登录
- 为新用户创建后端用户记录(目前仅限管理员)
- 如果电子邮件地址匹配,则登录现有(非 Keycloak)用户
缺少的功能
- 在 TYPO3 注销时终止 Keycloak 会话
- 定期检查 Keycloak 会话是否仍然活跃(如果不活跃,则终止 TYPO3 会话)
- 从 Keycloak 获取组配置以创建非管理员用户
- 获取额外的用户数据以决定用户是否可以登录特定的 TYPO3 应用程序
配置
Keycloak
此扩展需要在 Keycloak 中配置一个客户端。前往您想要的领域,并使用以下配置值创建一个新的客户端
- 客户端 ID:创建一个 ID 并记下以供以后使用(例如使用
typo3
) - 客户端协议:
openid-connect
- 访问类型:
confidential
- 启用
标准流程
- 添加以下重定向 URL
https://<TYPO3-domain>/typo3/*
保存客户端后,转到 凭证
并复制密钥以供以后使用。
TYPO3
此扩展需要在安装工具中设置以下配置值
- clientId:在 Keycloak 中创建的客户端的 ID
- clientSecret:用于验证客户端的密钥
- host:Keycloak 服务器的地址。必须包括协议和端口(例如
https://keycloak.netlogix.de:8080
) - realm:包含此应用程序用户数据的领域
注意:客户端ID 和客户端密钥也可以使用环境变量(NXKEYCLOAK_CLIENTID
和 NXKEYCLOAK_CLIENTSECRET
)设置。在任何情况下,都会优先使用在安装工具中设置的值。