【发布时间】:2019-11-08 08:58:45
【问题描述】:
在 ocelot 身份验证之前,我必须对请求的 jwt 进行一些检查,所以我在 PreAuthenticationMiddleware 中进行检查,如下所示:
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();
是否可以返回自定义响应,而不是不调用 next?
我想返回 401 错误
【问题讨论】:
-
它们是两个不同的东西。 Next 调用下一个中间件。如果您想添加到响应中,您应该使用
ctx.HttpContext.Response.WriteAsync(...)写入它并设置状态代码。执行此操作后不调用 next 将导致管道终止。
标签: c# api-gateway asp.net-core-middleware ocelot