Oauth 2.0 在OIDC中,/token调用是否不需要scope=openid?

Oauth 2.0 在OIDC中,/token调用是否不需要scope=openid?,oauth-2.0,openid-connect,Oauth 2.0,Openid Connect,当我发送一个/token请求,然后是一个/authorize请求打开Id连接服务器时,我知道需要为/authorize调用设置scope=openid。我的问题是,/token呼叫也需要它吗 里面什么也没说 3.1.3.1。令牌请求 客户机通过提供其授权授予来发出令牌请求 (以授权码的形式)使用 授权类型值授权代码,如本规范第4.1.3节所述 OAuth 2.0[RFC6749]。如果客户是保密客户,那么 必须使用身份验证对令牌终结点进行身份验证 方法为其客户机id注册,如第9节所述 客户端使用

当我发送一个
/token
请求,然后是一个
/authorize
请求打开Id连接服务器时,我知道需要为
/authorize
调用设置
scope=openid
。我的问题是,
/token
呼叫也需要它吗

里面什么也没说

3.1.3.1。令牌请求

客户机通过提供其授权授予来发出令牌请求 (以授权码的形式)使用 授权类型值授权代码,如本规范第4.1.3节所述 OAuth 2.0[RFC6749]。如果客户是保密客户,那么 必须使用身份验证对令牌终结点进行身份验证 方法为其客户机id注册,如第9节所述

客户端使用HTTP将参数发送到令牌端点 POST方法和表单序列化,如第13.2节所述 在OAuth 2.0[RFC6749]第4.1.3节中

如果是这样的话,
/token
端点实现如何实现请求是ODIC还是OAuth2?它如何知道是否应该发送
id\u令牌

In 第3.1.2.1节身份验证请求

OpenID Connect使用以下OAuth 2.0请求参数 授权代码流:

所需范围。OpenID连接请求必须包含OpenID范围 价值如果openid范围值不存在,则行为为 完全没有说明。可能存在其他范围值。范围值 应该忽略实现不理解的已使用的。 参见第5.4节和第11节,了解本规范定义的其他范围值 规格

“必须包含openid范围值”,这是决定这是一个openid连接请求的因素

令牌请求中没有与OAuth 2.0不同的内容。身份验证请求是授权端点的第一个调用,其作用域=openid,返回的授权代码是获取访问令牌和ID令牌的授权。如3.1.3.3所述。成功的令牌响应


从客户端接收并验证有效的授权令牌请求后,授权服务器返回一个成功的响应,其中包括一个ID令牌和一个访问令牌。

令牌请求通过客户端需要提供的所谓授权完成,通常(在您的情况下)是一个授权代码。授权是在特定上下文中发出的,授权服务器跟踪该上下文


在您的情况下,授权服务器将跟踪以下事实:代码是在包含“openid”范围的授权请求上发布的,并且该范围是由用户授予的。因此,当在令牌端点兑换代码时,响应中会包含一个
id\u令牌。

问题不是身份验证请求,而是令牌请求。明白了。谢谢