在ocelot身份验证之前,我必须对请求的jwt进行一些检查,因此我正在PreAuthenticationMiddleware内进行如下检查:
UnsupportedOperationException
是否可以返回自定义响应,而不是不调用var config = new OcelotPipelineConfiguration
{
PreAuthenticationMiddleware = async (ctx, next) =>
{
var jwt = ctx.HttpContext.Request.Headers["Authorization"];
if (jwtIsOk(jwt)) next.Invoke();
// else ...
}
};
app.UseOcelot(config).Wait();
?
我想返回401错误
答案 0 :(得分:0)
我认为这就是您想要的:
var configuration = new OcelotPipelineConfiguration
{
PreAuthenticationMiddleware = async (ctx, next) =>
{
if (xxxxxx)
{
ctx.Errors.Add(new UnauthenticatedError("Your message"));
return;
}
await next.Invoke();
}
};
在这种情况下,我使用UnauthenticatedError(Ocelot的类),它将以401结尾。还有更多类似的内容。您还可以创建一个继承自Ocelot.Errors.Error的对象。