2014-09-23 90 views

回答

0

据我所知,你的问题没有被覆盖的规格,所以下面的答案只反映我在实际执行个人意见。

客户可能合法地请求具有不同范围的多个授权码。你可以争辩说这是否合理(尽管我认为它确实存在),但标准并不禁止它。因此,我认为只有当客户端重新发送请求时(即具有完全相同的请求细节:客户端ID,重定向URI,范围),旧代码才应该被撤销。

对于缺少redirect_uri,服务器应该返回HTTP 400错误请求并在消息正文(和/或适当的HTTP头文件)中包含错误详细信息。

+0

如果我理解正确授权码应该有一个小的TTL。那么,如果每个代码只能存活1-10分钟,那么允许具有不同范围的多个授权代码是没有意义的。在RFC中表示客户应尽快交换Authorization Token的授权码。 – 2014-09-26 19:30:20

+0

短暂的TTL与多个请求不矛盾,它们都可以在短时间内送达。然而,再次想到我认识到授权代码OAuth场景需要明确的用户批准(即用户交互)。由于该方案将用户从客户端webapp重定向到auth服务器,因此在检索到第一个请求的结果之前,客户端无法请求另一个令牌。因此,您应该撤销来自同一客户端的新请求的代码。 – 2014-10-01 14:18:48