假设我们有一个带有jwt Auth机制的REST / HTTP API,即有
- 服务GET /令牌,用于在成功进行基本身份验证时提供jwt令牌,并且一天到期,比如说
- 一个中间件,用于根据机密验证对所有其他服务的传入请求。秘密存在于应用程序中。
现在我们在项目中内置了一个测试套件,包括API调用(通过某些模式系统定义)来进行集成测试。我们显然不希望将令牌硬编码到测试套件的配置中。测试套件应该经常在构建管道中运行(例如,在每次提交时)。
如何正确分解"获取令牌"部分来自测试套件?
我能想到的选项:
- 生成一个具有很长期限的令牌(对于每个用户)并对其进行硬编码
- 专门为测试套件构建API服务,以技术用户身份使用auth接收令牌。然后需要以某种方式限制服务的使用以测试范围
- 构建如上所述的服务,但不要将其包含在项目中