REST API:用于身份验证违规的HTTP状态代码

j3d*_*j3d 5 rest http

我正在实现REST API,而auth模块基于JWT.以下是我为其定义的HTTP状态代码:

  • 没有身份验证令牌的请求:401 UNAUTHORIZED
  • 身份验证令牌已过期:410 UNAUTHORIZED
  • 身份验证令牌不包含必需的声明:403 FORBIDDEN
  • Auth违反(即令牌被篡改):???

在令牌篡改的情况下,我应该使用什么HTTP状态代码?401(未经授权或417(EXPECTATION_FAILED)?

Eri*_*ein 3

如何判断令牌是否被篡改?在我看来,只有你才能知道它是正确还是错误。在我看来,有人试图使用无效令牌UNAUTHORIZEDEXPECTATION_FAILED 特指标头Expect,这在这里似乎不合适。

  • JWT 放在标头上并使用密钥进行签名。如果签名不多,则意味着令牌被某种程度的篡改。 (2认同)