令牌到期时为 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);
}
我已经编写了一个基于 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);
}