首页 > 解决方案 > 如何使用 RSA 256 私钥在 JMETER 上生成 JWT 令牌所需的库或 jar 文件?

问题描述

目前,我正在对 API 进行性能测试,需要RSA 256 private key的动态 JWT 令牌。我没有找到任何解决方案。谁能给我提供任何 JWT jar 文件和凹槽代码

标签: jmeterjwtrsajmeter-plugins

解决方案


我相信您需要为此使用Groovy脚本

  1. 获取一个JWT 客户端库,例如这个家伙将是一个不错的选择并将其放到JMeter 类路径中(确保包含所有依赖项

  2. 重新启动 JMeter 以获取 .jar

  3. JSR223 采样器添加到您的测试计划中

  4. 示例代码将类似于:

    def keyPayr = io.jsonwebtoken.security.Keys.keyPairFor(io.jsonwebtoken.SignatureAlgorithm.RS256)
    
    def now = java.time.Instant.now()
    
    def clientId = 'foo'
    
    def jwt = io.jsonwebtoken.Jwts.builder()
            .setAudience('https://example.com')
            .setIssuedAt(Date.from(now))
            .setExpiration(Date.from(now.plus(5L, java.time.temporal.ChronoUnit.MINUTES)))
            .setIssuer(clientId)
            .setSubject(clientId)
            .setId(UUID.randomUUID().toString())
            .signWith(keyPayr.private)
            .compact()
    
    log.info('Token: ' + jwt)
    

演示:

在此处输入图像描述


推荐阅读