令牌到期时为 200 - 正确吗?

200 on a token expiry - correct?

我已经编写了一个基于 JWT 的授权器的实现。如果没有 JWT,它会按预期工作并抛出 401。

我有一个基于 :

的自定义提供程序
AuthProvider, IAuthWithRequest, IAuthPlugin.

TokenException 被正确抛出,但从中冒出的响应是 200,正文为

Error: TokenException: Token has expired

不是 401。

我是不是实施不正确,或者这是要 returned 的预期状态代码?如果有意,在我的实现中是否有任何方法可以将其更改为 401 return?

找到了罪魁祸首。正在修改未处理错误异常的 httpres。删除这个重写解决了这个问题并再次抛出 401。

    private void UnhandledExceptionsLogging(IRequest httpreq, IResponse httpres, string operationname, Exception ex)
        {
            ...
            httpres.Write($"Error: {ex.GetType().Name}: {ex.Message}");
            httpres.EndRequest(skipHeaders: true);
        }