400是OAuth验证错误(http)的相应错误代码吗?

时间:2012-01-02 15:38:23

标签: http facebook-graph-api oauth response

大家好:对于一个请求,正确的http响应代码应该是什么,虽然格式正确但包含无效的oauth令牌?

错误代码400似乎具有误导性,,因为我认为无效的oauth不是格式错误的请求。

奇怪的是,facebook oauth令牌(如果无效)会导致api返回结果返回400响应代码....

2 个答案:

答案 0 :(得分:5)

来自http://oauth.net/core/1.0a/#http_codes

HTTP 400 Bad Request
    Unsupported parameter
    Unsupported signature method
    Missing required parameter
    Duplicated OAuth Protocol Parameter
HTTP 401 Unauthorized
    Invalid Consumer Key
    Invalid / expired Token
    Invalid signature
    Invalid / used nonce

所以401是对的。

答案 1 :(得分:3)

正确。

401 Unauthorized应该是示例中响应状态代码的主要选择。

修改

我花了一些时间浏览OAuth2草案,看起来他们在客户端身份验证失败时指定了以下内容:

  • 通常必须回复400 Bad Request,但
  • 可以回复401 Unauthorized
  • 如果使用401 Unauthorized请求标头尝试进行身份验证,则必须使用Authorization进行响应。如果是这样,它还必须在响应中包含WWW-Authenticate