RESTful API是否会返回不同的状态码或令牌过期和未经授权的错误消息?

我正在开发一个使用authentication令牌的RESTful API。

工作stream程简单; 客户端执行一个/ getAuth请求,发送用户凭证,为用户返回一个令牌。

然后,用户将以下所有请求中的令牌作为标头传递给API。 经过一段时间/呼叫次数(由服务器决定)令牌到期。 当头中有一个过期令牌的请求到达服务器时,响应状态是401 Unauthorized 。 在这种情况下,用户必须使用/ getAuth 请求另一个标记 ,依此类推。

我面对的问题是,当一个请求未经授权的任何其他原因(访问未经授权的资源),该API还返回401未经授权。 此时,客户端无法知道它是否尝试访问他无法访问的内容,或者其用户令牌是否已过期。 没有任何方式知道,它会再次要求一个令牌,并重播相同的请求,从而再次得到一个401等等。

所以我的问题是: 对于过期的令牌,如果RESTful API返回一个不同的状态码或错误消息,而不是返回未经授权的请求的状态和错误,或者客户端是否应该find某种方法来pipe理它

我发现客户端的解决scheme将是保存每个请求的URL,而不是重试一个请求失败与一个新的(刚收到)令牌。 但我觉得它很肮脏。

令牌过期后,客户端不再被授权,因此返回401 Unauthorized头是有意义的。

我面对的问题是,当一个请求未经授权的任何其他原因(访问未经授权的资源),该API还返回401未经授权。 此时,客户端无法知道它是否尝试访问他无法访问的内容,或者其用户令牌是否已过期。

如果( 授权 )客户端尝试访问资源并且没有适当的权限,则应该返回403 Forbidden