【发布时间】:2014-07-20 15:14:11
【问题描述】:
如果资源所有者拒绝访问请求,或者请求因重定向 URI 丢失或无效以外的原因而失败,授权服务器会通过在 fragment 组件中添加以下参数来通知客户端重定向URI
如果资源所有者拒绝访问请求,或者请求因重定向 URI 丢失或无效以外的原因而失败,授权服务器通过在 查询组件 的 查询组件 中添加以下参数来通知客户端重定向URI
前者适用于对授权端点的隐式授权流请求;后者适用于对授权端点的授权码流请求。区别由客户端发送给授权端点的response_type参数表示; token 表示隐式流,code 表示授权码流。因此,如果发生错误,逻辑如下:
if response_type == 'token'
error response in fragment
else if response_type == 'code'
error response in query string
else
????????????????????
end
规范似乎在最后的“其他”中保留了要做什么。一个可能的客户端错误是包含一个response_type 参数,其值不是code 或token。这可能不符合不可重定向错误的标准,因此授权服务器应尽可能重定向到redirect_uri,并提供适当的错误响应(error=invalid_request 或error=unsupported_response_type)。
但是那个错误参数到哪里去了?查询组件还是片段?两个都?这是否应该被视为一个不可重定向的错误,比如无效的redirect_uri?
【问题讨论】: