TYPO3 12自定义后端OpenID Connect认证服务请求令牌问题咨询
TYPO3 12 后端OpenID Connect认证适配请求令牌机制的最优方案
针对你遇到的TYPO3 12请求令牌校验问题,以下是几种可行方案,按推荐优先级排序:
1. 沿用response_mode=form_post(最优解)
这是OpenID Connect标准支持的响应模式,也是最贴合TYPO3 12安全机制的方案:
- 跳转至中心认证服务器前,先获取TYPO3后端登录页生成的请求令牌
- 将该令牌作为额外参数传递给中心认证服务器
- 中心服务器完成认证后,以POST方式将认证结果(含ID Token)和请求令牌一起提交到TYPO3回调地址,此时请求令牌会被TYPO3从请求体中读取并通过校验
2. 扩展请求令牌校验逻辑(备选,需注意安全)
如果无法修改中心认证服务器的响应模式,可以通过TYPO3的事件机制扩展校验逻辑:
- 创建自定义扩展,注册
\TYPO3\CMS\Core\Authentication\Event\BeforeRequestTokenValidationEvent事件监听器 - 在监听器中从请求的GET参数里提取请求令牌,手动注入到请求的属性中,或直接完成校验逻辑
- 注意:此方式会降低CSRF防护的安全性,仅在无法使用form_post的场景下临时采用,需严格控制GET请求令牌的传输安全
3. 重定向带请求头(不推荐)
浏览器原生重定向无法携带自定义请求头,除非借助JavaScript发起带请求头的POST请求,但这种方式会增加前端复杂度,且用户体验较差,不建议采用
内容的提问来源于stack exchange,提问作者Rudy Gnodde
相关产品推荐
相关产品推荐

