【发布时间】:2014-12-31 20:53:31
【问题描述】:
OpenID Connect Spec OAuth 2.0 Multiple Response Type Encoding Practices 声明可以组合多个 response_type,例如response_type="code token"。现在我想知道请求授权代码和令牌有什么好处。如果您已经拥有令牌,验证码不是多余的吗?
【问题讨论】:
标签: oauth oauth-2.0 openid-connect
OpenID Connect Spec OAuth 2.0 Multiple Response Type Encoding Practices 声明可以组合多个 response_type,例如response_type="code token"。现在我想知道请求授权代码和令牌有什么好处。如果您已经拥有令牌,验证码不是多余的吗?
【问题讨论】:
标签: oauth oauth-2.0 openid-connect
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 对客户端是不透明的,并且不会从中受益。
【讨论】:
我从未见过在实践中使用它。是的,拥有令牌会降低使用代码流的价值。
【讨论】: