首页 > 解决方案 > 如何在 light-4j 中自定义 JWT 验证

问题描述

我们正在使用带有 openapi3 的 light-4j 代理服务,其中一种 api 方法需要多个范围。使用 jwt 的 enableVerifyScope,如果其中一个 jwtScopes 与任何 specsScopes 匹配,我们将获得成功。有没有一种方法可以验证所有必需的范围,而不仅仅是一个。谢谢!

标签: light-4j

解决方案


您有一个非常独特的用例。通常,您可以为端点定义多个范围,范围验证将确保传入的 JWT 具有至少一个匹配的范围以继续进行。看起来您希望确保 JWT 包含所有范围,以便授予对端点的访问权限。这不是标准实现;但是,很容易自定义https://github.com/networknt/light-rest-4j/blob/master/openapi-security/src/main/java/com/networknt/openapi/JwtVerifyHandler.java并替换handler.yml 文件中的内置处理程序。在 light-4j 中,所有中间件处理程序都可以是插件的,因此许多客户都有自己定制的处理程序,尤其是业务领域内的处理程序。如果您对如何将处理程序注入应用程序有疑问,请告诉我。


推荐阅读