根据请求正文和标题过滤请求(Spring Cloud Gateway)

时间:2018-10-29 15:32:56

标签: java jwt spring-webflux project-reactor spring-cloud-gateway

我正在使用Spring Cloud Gateway 2.1.0.M1(和Spring Security 5.1.0.RC2)。

问题是:如何实现GlobalFilter(对于POST请求,要在调用后端之前执行),该方法读取请求正文和标头,并据此决定执行以下操作之一:

  • 通过向后端发送不变的请求来继续进行交换,
  • 拒绝请求并返回HTTP 401。

我尚不清楚如何正确获取完整的请求正文,然后再获取return chain.filter(...)exchange.getResponse.setStatusCode(401)return exchange.getResponse().setComplete()

对于更高级别的上下文,目标是验证分离的JWS 签名,其中请求正文为 payload 分离的签名位于标题之一中。如果签名有效,则网关应将请求继续传递。否则它将失败。

除了实现Spring Cloud Gateway过滤器之外,我对解决方案也很满意。

0 个答案:

没有答案