0
我不能确定oAuth 2.0服务器是否应该在请求新代码时撤销旧的授权码(而不是授权令牌)?此外,我无法弄清楚oAuth服务器应该显示错误的格式,如果有效的redirect_uri参数未指定既没有注册应用程序设置。oAuth 2.0是否应该撤销旧的授权码
感谢您帮助我理解此RFC。
http://tools.ietf.org/html/rfc6749
我不能确定oAuth 2.0服务器是否应该在请求新代码时撤销旧的授权码(而不是授权令牌)?此外,我无法弄清楚oAuth服务器应该显示错误的格式,如果有效的redirect_uri参数未指定既没有注册应用程序设置。oAuth 2.0是否应该撤销旧的授权码
感谢您帮助我理解此RFC。
http://tools.ietf.org/html/rfc6749
据我所知,你的问题没有被覆盖的规格,所以下面的答案只反映我在实际执行个人意见。
客户可能合法地请求具有不同范围的多个授权码。你可以争辩说这是否合理(尽管我认为它确实存在),但标准并不禁止它。因此,我认为只有当客户端重新发送请求时(即具有完全相同的请求细节:客户端ID,重定向URI,范围),旧代码才应该被撤销。
对于缺少redirect_uri,服务器应该返回HTTP 400错误请求并在消息正文(和/或适当的HTTP头文件)中包含错误详细信息。
如果我理解正确授权码应该有一个小的TTL。那么,如果每个代码只能存活1-10分钟,那么允许具有不同范围的多个授权代码是没有意义的。在RFC中表示客户应尽快交换Authorization Token的授权码。 – 2014-09-26 19:30:20
短暂的TTL与多个请求不矛盾,它们都可以在短时间内送达。然而,再次想到我认识到授权代码OAuth场景需要明确的用户批准(即用户交互)。由于该方案将用户从客户端webapp重定向到auth服务器,因此在检索到第一个请求的结果之前,客户端无法请求另一个令牌。因此,您应该撤销来自同一客户端的新请求的代码。 – 2014-10-01 14:18:48