You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

禁用授权隐式流是否符合OIDC标准?动态OpenID Provider相关疑问

关于OpenID Provider动态模式与响应类型规范的疑问解答

问题背景

我打算禁用隐式流(当前已不推荐使用该流),这意味着不再支持id_token和id_token token响应类型。但根据OpenID连接发现端点的规范:

response_types_supported:必填项。包含此OP支持的OAuth 2.0 response_type值的JSON数组。动态OpenID提供者必须支持code、id_token和id_token token响应类型值。

我有两个疑问:

  1. 什么是动态OpenID Provider?
  2. 不在发现端点声明id_token和id_token token是否违规?

解答

1. 什么是动态OpenID Provider?

  • 动态OpenID Provider(简称动态OP)是指支持OpenID Connect动态客户端注册协议的身份提供者。核心特征是:
    • 提供标准化的发现端点(通常是/.well-known/openid-configuration),暴露自身的元数据(如支持的响应类型、端点地址等),让客户端可以自动获取这些信息,无需手动配置。
    • 允许客户端通过API请求完成自动注册,程序化获取客户端ID、密钥等凭证,无需人工审核或手动创建。
  • 与之相对的是静态OpenID Provider:客户端必须手动配置OP的所有关键参数(如授权端点、令牌端点地址),且不支持自动注册流程。

2. 不声明id_token和id_token token是否违规?

这取决于你的OP属于动态还是静态模式:

  • 如果是动态OP:根据OpenID Connect发现规范的强制要求,必须支持code、id_token、id_token token这三种响应类型,不声明就属于违规。这一要求是为了兼容仍依赖隐式流的旧客户端。
  • 如果是静态OP:规范没有强制要求支持这些响应类型,你完全可以只在response_types_supported中声明实际支持的类型(比如仅code),只要客户端是通过手动配置适配你的服务能力,就不存在合规问题。
  • 补充建议:如果你的服务仅面向新开发的客户端(均使用授权码流+PKCE,不再依赖隐式流),可以考虑切换为静态OP模式,这样就能合法禁用隐式流相关的响应类型,同时规避动态OP的强制规范限制。

内容的提问来源于stack exchange,提问作者jazzman

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.01 00:21:10