我試圖將API調用返回的JWT值與JMeter中預期的有效值進行比較。爲此,我需要在預處理器(BSF預處理器或Bean外殼預處理器)中生成預期值,然後將其與從呼叫響應值中提取的值進行比較。 有沒有人創建過類似的東西? 我目前使用http://jwt.io/來手動生成期望值,但想要在JMeter中動態生成這些值。JMeter的JSON Web令牌生成器
4
A
回答
1
不幸的是,目前還沒有在JMeter中處理JWT簽名請求的開箱即用解決方案。
看起來至少有以下選項:
嘗試使用gatling,而不是JMeter的。加特林已經爲這個有效載荷實現了擴展 - gatling-jwt - 但似乎它目前只支持GET請求。
也許你可以嘗試使用任何java implementation of JWT智威湯遜簽署延長標準的HTTP請求取樣器或定製REST Sampler - 就像它在OAuth Sampler插件的OAuth有效載荷的完成。
但它可能看起來相當複雜,需要一點開發經驗以及不會容易出錯 - 執行不準確可能會導致性能下降並影響測試結果。處理前後處理器的JWT簽名和響應驗證您提到的問題似乎是合理的妥協。
當我遇到同樣的問題時,我的第一個也是相當成功的方法,也是使用Pre和PostProcessors的。
幾點需要注意:- 使用JSR233(包括PreProcessor和PostProcessor)+ Groovy的,而不是BeanShell的性能方面的原因(詳情你可以看看this article);
- 從list of available中選擇任何穩定的java實現JWT;
我已經使用jjwt,並發現它很好,使用起來也很簡單; - 在PreProcessor中執行請求主體JWT簽名,將簽名主體存儲到變量中,將其與HTTP請求一起作爲Body Data發送並在PostProcessor中解碼響應;
HTTP Request// your http call Body Data = ${jwtSignedBody} // variable with request body already signed in pre-processor JSR233 PreProcessor// sign here your body data and put into variable JSR233 PostProcessor// decode JWT-signed response
- 它可以是用於調試和進一步處理中PostProcessor中響應體像在上面的腳本解碼響應於更新極爲有用。
相關問題
- 1. 生成JSON Web令牌
- 2. Jmeter- Web服務 - 在Jmeter中生成令牌密鑰
- 3. 將SQL令牌生成器更改爲Java令牌生成器
- 4. Json Web令牌JWT
- 5. 令牌生成
- 6. JSON Web令牌和OAuth
- 7. 銷燬JSON Web令牌
- 8. JSON Web令牌(JWT)安全
- 9. 解碼JSON Web令牌(Xamarin.Android)
- 10. JSON Web令牌到期
- 11. CSRF令牌生成
- 12. 生成LTPA令牌?
- 13. Flask令牌生成
- 14. Symfony2獨特的令牌生成器
- 15. 生成令牌的動作
- 16. Jmeter JSON格式後處理器中斷令牌檢索
- 17. Jmeter JSON提取器在響應體內獲得令牌值
- 18. 創建instagram訪問令牌生成器
- 19. 在控制器中生成令牌
- 20. 使用JWT(JSON Web令牌)設置令牌的RESTful API過期
- 21. 使用Json Web令牌的Node-Restful
- 22. 令牌生成和表達
- 23. ASP.NET身份 - 生成令牌
- 24. 生成LinkedIn訪問令牌
- 25. ASP.Net - 生成安全令牌
- 26. ejabberd否認生成令牌
- 27. 如何生成oauth令牌?
- 28. Firebase令牌不生成
- 29. Pinterest生成的令牌生存時間
- 30. jmeter - 多個令牌提取