2 votes

Gatling Vérification du jeton JWT décodé

J'essaie de décoder un jeton JWT renvoyé, et de vérifier la sous-revendication pour voir si elle correspond au nom d'utilisateur. Mais je n'arrive pas à trouver la syntaxe pour le faire.

...
      .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"))

J'obtiens des erreurs parce qu'il attend un HttpCheck, existe-t-il un HTTPCheck pour ce type ?

Remerciements

2voto

James Warr Points 753

C'est à peu près exactement ce à quoi sert .transform. Vous extrayez le token avec jsonPath, faites une transformation pour obtenir le sub, et ensuite affirmez qu'il correspond au nom d'utilisateur.

(Je n'ai pas essayé l'extraction / la validation jwt)

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

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X