OIDC response_mode=form_post支持的response_types范围咨询
OIDC
response_mode=form_post 支持的 response_type 取值范围 首先明确核心结论:form_post 模式不存在针对特定 response_type 的规范级适配限制,你提到的 response_type=id_token token 场景完全可以正常使用该响应模式。
全量支持的取值清单
结合OIDC核心规范的定义,该响应模式可适配的全部response_type取值包括:
code:授权码流程场景,服务端将授权码、状态值等参数通过POST表单提交到回调地址,是生产环境最常用的适配组合id_token:隐式流程下仅返回身份令牌的场景id_token token:隐式流程下同时返回身份令牌、访问令牌的组合场景code id_token:混合流程下同时返回授权码、身份令牌的场景code token:混合流程下同时返回授权码、访问令牌的场景code id_token token:混合流程下同时返回授权码、身份令牌、访问令牌的全量组合场景
常见认知偏差说明
你之前了解到的“仅code、id_token适配form_post”的结论,本质是对早期落地实践的片面总结:
早期隐式流程场景默认使用
fragment模式把参数拼接在URL哈希值中传递,才给人形成了form_post仅适配授权码流程的印象。实际上form_post模式通过POST请求体传递响应参数,不会在浏览器历史、代理日志中留存敏感参数,反而比fragment模式更适合传递access_token这类敏感凭证。
仅需要注意:部分早期版本的身份提供方存在实现缺陷,硬编码了仅在response_type=code、response_type=id_token场景下触发form_post响应逻辑,这类问题属于服务端实现不完整,不是规范层面的不兼容。
内容的提问来源于stack exchange,提问作者SJB
相关产品推荐
相关产品推荐

