2014-03-24 32 views
4

我正在实现REST API,并且身份验证模块基于JWT。这里是下面我为它定义的HTTP状态代码:REST API:身份验证违规的HTTP状态代码

  • 请求没有身份验证令牌:401未经授权
  • 身份验证令牌过期:410未经授权
  • 验证令牌不包含所需的声明:403 FORBIDDEN
  • 身份验证违规(即令牌被篡改):???

如果令牌被篡改,应该使用什么HTTP状态码? 401(UNAUTHORIZED或417(EXPECTATION_FAILED)?

回答

3

如何判断令牌是否被篡改?在我看来,你只能知道它是正确还是不正确。有人试图使用无效令牌在我看来要UNAUTHORIZEDEXPECTATION _FAILED专指Expect头,它似乎并不适用于本案。

+2

JWT是放在头和它与密钥签名。如果签名不太多,那么就意味着令牌被篡改了。 – j3d