我正在尝试解码返回的 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/