在OAuth 2中使用response_type =“ code token”吗?

Jam*_*mes 2 oauth oauth-2.0 openid-connect

OpenID Connect Spec OAuth 2.0多种响应类型编码实践规定可以组合多个response_type,例如response_type="code token"。现在,我想知道请求授权码令牌有什么好处。如果您已经拥有令牌,验证码就不是多余的吗?

Han*_* Z. 5

OAuth 2.0是一个协议框架,可以在此框架之上构建其他协议,而OpenID Connect是此类协议的示例。

特别是对于OpenID Connect,使用组合响应类型是有意义的,因为有两个标记在起作用:access_token和id_token。客户端可以使用“ response_type”请求如何传递每个令牌。

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

这样做的原因可能是,当从正确的TLS保护的令牌端点获取时,作为签名的JWT的id_token不必本地验证,因此客户端代码可以很简单。无论如何,access_token对客户端都是不透明的,并且不能从中受益。