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

时间:2014-11-04 20:08:23

标签: oauth oauth-2.0 openid-connect

OpenID Connect Spec OAuth 2.0 Multiple Response Type Encoding Practices声明可以组合多个response_type,例如response_type="code token"。现在我想知道请求授权码令牌有什么好处。如果你已经有令牌,那么auth代码不是多余的吗?

2 个答案:

答案 0 :(得分:4)

OAuth 2.0是一个协议框架,其上可以构建其他协议,OpenID Connect就是这种协议的一个例子。

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

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

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

答案 1 :(得分:2)

我从未见过这在练习中使用过。是的,让令牌已经减少了使用代码流的价值。