java - 加特林验证解码的 JWT token

标签 java scala gatling

我正在尝试解码返回的 JWT token ,并检查子声明是否与用户名匹配。但我似乎找不到这样做的语法。

...
      .check(status.is(HttpResponseStatus.OK.code()))
      .check(jsonPath("$.access_token").saveAs("access_token"))
      .check(jsonPath("$.refresh_token").exists)
      .check(JWSObject.parse("${access_token}").getPayload.toJSONObject.get("sub").toString.substring("$username"))

我在等待 HttpCheck 时遇到错误,是否有这种类型的 HTTPCheck?

谢谢

最佳答案

这几乎正是 .transform 的用途。 您使用 jsonPath 提取 token ,进行转换以获取子项,然后断言它与用户名匹配。

(我还没有尝试过实际的 jwt 提取/验证)

.check(jsonPath("$.access_token").transform(jwt => JWT.decode(jwt).getClaim("sub").asString()).is("${username}")

关于java - 加特林验证解码的 JWT token ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59304437/

相关文章:

java - 如何在框架中查找组件

java - 如何使用socket向服务器发送和接收消息?

scala - 如何在加特林的两个场景之间传递值?

斯卡拉 :- Gatling :- Concatenation of two Maps stores last value only and ignores all other values

scala - 用Gradle构建可执行的Jar以进行加特林

java 创建用于分发的库

java - 我可以使用来自另一个 Controller 的 POST 参数作为方法来调用 Controller 操作吗?

mysql - Playframework 2.5 Slick + DI

scala - 使用 Scala ARM 库读取简单文件

ScalaTest自己的匹配器,使用not这个词