如果需要重新验证,则为HTTP状态

时间:2015-01-29 11:29:18

标签: http authentication access-token http-status-codes http-status-code-401

假设您使用基于令牌的身份验证,您将在此方案中使用哪个状态代码:

  1. 客户端有一个令牌,并向服务器发出请求
  2. 令牌已过期服务器发送 401 未经授权。
  3. 客户端发送 刷新令牌
  4. 令牌无效,服务器以XXX响应?
  5. 用例将是一个应用程序,它会自动捕获401并使用刷新令牌发出请求。如果此令牌无效,服务器将使用401响应,则客户端将尝试永久请求具有刷新令牌的新访问令牌。但它应告诉客户,它应该使用其凭据(例如电子邮件和密码)重新进行身份验证。

    我只是想知道哪种状态代码最适合这种情况,因为规范说如果403 Forbidden"授权无效"。

1 个答案:

答案 0 :(得分:1)

我不会使访问和刷新令牌可互换:使用Access-Tokens访问受保护资源并使用Refresh-Token从特殊端点获取新的Access-Token。 OpenID Connect以这种方式工作。

你会有一个HTTP请求更多,但HTTP代码不会有问题,在我看来,你会得到一个更干净的代码。