【问题标题】:How to test a REST service that uses JWT in SoapUI?如何在 SoapUI 中测试使用 JWT 的 REST 服务?
【发布时间】:2016-02-05 17:20:01
【问题描述】:

我正在实施一些 REST 服务。我所有的测试都是使用 SoapUI 进行的。 最近我决定采用 JSON Web Token (JWT) 进行身份验证,但我在 SoapUI 上找不到任何支持(本机安装或插件,什么都没有)。

我发现了一些在线生成器,例如 http://jwtbuilder.jamiekurtz.com/,但填写了所有字段,在 SoapUI 上一次又一次地复制/粘贴,因为每个测试用例根本没有生产力。

我想知道是否有办法在 SoapUI 中测试 JWT 内容,或者我是否需要其他工具。有什么建议吗?

谢谢!

【问题讨论】:

    标签: rest soapui jwt


    【解决方案1】:

    我找到了一种半自动的方法,可以使用包含令牌的外部文件在 TestCases 中保留有效的 JWT 令牌,而不会浪费太多时间。

    1. 使用外部工具将有效的 JWT 令牌生成到文件中。
    2. 在 SoapUI 中打开您的项目并添加一个带有值的 jwt 变量 ${=new File('/path/to/token_file.txt').text}

    3. 在您的请求中,将您的变量作为 JWT 标头引用,其值为 ${#Project#jwt}

    当令牌过期时,只需重新启动生成器脚本,SoapUI 会自动加载新令牌。

    【讨论】:

      【解决方案2】:

      SoapUI 将调用您的身份验证服务器并获取令牌,然后它会自动将该令牌放入授权标头 (Bearer <token>)。

      Add new authorization>OAuth 2>Resource owner password credential grant
      

      然后将您的用户名和密码添加到客户端和资源部分。最后,将您的令牌端点作为访问令牌 url 并保存授权配置文件以在其他测试用例中使用。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2017-05-23
        • 1970-01-01
        • 1970-01-01
        • 2011-01-02
        • 2013-01-10
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多