在OIDC认证流程中是否可以同时请求OAuth 2.0的scope?
关于OIDC流程中混合传入OIDC scope与OAuth2 scope的问题解答
核心结论
完全可以同时传入,该用法属于OIDC协议明确支持的标准实践,对应的令牌能力也符合你的预期。
具体规则说明
- scope混合传入的合法性:OIDC是OAuth2.0的身份层扩展协议,仅新增了
openid作为OIDC流程的标识性强制scope,其余scope字段没有类型限制,可自由组合OIDC标准scope(如profile、name、email)和业务自定义的OAuth2 scope(如read-api、admin),你举例的openid name read-api write-api admin属于完全合法的请求参数。 - 令牌的scope携带规则:
- ID Token:仅会注入和OIDC身份scope对应的声明,业务类的OAuth2 scope不会写入ID Token,这符合ID Token作为身份凭证的定位,仅用于客户端验证用户身份,不承载业务权限信息。
- Access Token:会携带所有请求通过、用户同意授权的scope(包含OIDC scope和业务OAuth scope),因此该Access Token既可以携带OIDC scope调用
/userinfo接口获取用户身份信息,也可以携带业务scope访问对应权限的业务资源接口。
- 实践通用性:这种混合申请scope的方式是生产环境的常用方案,几乎所有主流身份提供商(IdP)都原生支持该能力,无需额外特殊适配。
内容的提问来源于stack exchange,提问作者Jack
相关产品推荐
相关产品推荐

