响应类型的用法=";代码令牌“;在OAuth 2中?

响应类型的用法=";代码令牌“;在OAuth 2中?,oauth,oauth-2.0,openid-connect,Oauth,Oauth 2.0,Openid Connect,OpenID Connect规范规定可以组合多个响应类型,例如response\u type=“code token”。现在我想知道请求授权码和令牌有什么好处。如果您已经有了令牌,那么身份验证代码不是多余的吗?我从未见过在实践中使用过这种方法。是的,已经有了令牌会降低使用代码流的价值。OAuth 2.0是一个协议框架,可以在其上构建其他协议,OpenID Connect就是这样一个协议的示例 尤其是对于OpenID Connect,使用组合响应类型是有意义的,因为有两个令牌在起作用:访问令牌和i

OpenID Connect规范规定可以组合多个响应类型,例如
response\u type=“code token”
。现在我想知道请求授权码和令牌有什么好处。如果您已经有了令牌,那么身份验证代码不是多余的吗?

我从未见过在实践中使用过这种方法。是的,已经有了令牌会降低使用代码流的价值。

OAuth 2.0是一个协议框架,可以在其上构建其他协议,OpenID Connect就是这样一个协议的示例

尤其是对于OpenID Connect,使用组合响应类型是有意义的,因为有两个令牌在起作用:访问令牌和id令牌。使用“response_type”,客户机可以请求如何传递每个令牌

在您给出的示例中,access_令牌将作为身份验证响应的一部分通过前端通道传递,但id_令牌将在反向通道调用中在令牌端点处交换id_令牌的“代码”时传递

这样做的一个原因可能是,当从适当的受TLS保护的令牌端点获取id_令牌(签名JWT)时,不必在本地进行验证,因此客户端代码可以很简单。access_令牌对客户端来说无论如何都是不透明的,并且不会从中受益