首页 > 解决方案 > 使用 KONG 进行 Base64 编码的 JWT 令牌验证

问题描述

我有一个使用 Jwts.builder() 生成 JWT 令牌的 java 代码。然而,生成的令牌然后再次使用 Base64 编码器进行编码,例如

Base64.getEncoder().encodeToString(token.getBytes())

我已经能够设置 kong 来验证生成的 JWT 令牌,但我找不到验证令牌的 Base64 编码版本的方法。

您能否建议是否有办法处理这种情况。

亲切的问候,

标签: kongkong-plugin

解决方案


我不知道有现成的解决方案,但是您可以:

  • 克隆原始jwt 插件并调整代码,以便您可以处理 base64 编码的字符串
  • 或编写自己的插件base64 decoder以正确解码,然后使用原始 jwt-plugin。您可以控制执行顺序,以便您的自定义插件在 jwt 插件之前运行,并将原始的双编码令牌替换为单编码(正常)jwt 令牌

为了接近原始插件并避免代码重复,我推荐第二种方式。


推荐阅读