You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何为Spring Cloud Contract的@AutoConfigureStubRunner配置认证?

在Spring Cloud Contract中为@AutoConfigureStubRunner配置认证

你可以通过以下几种方式为远程仓库配置认证信息:

1. 直接在注解中指定用户名和密码

新版本的Spring Cloud Contract Stub Runner扩展了@AutoConfigureStubRunner注解,支持直接添加username和password属性传递认证信息。修改你的代码如下:

@AutoConfigureStubRunner(
    stubsMode = StubRunnerProperties.StubsMode.REMOTE,
    ids = {"some-stub-id"},
    repositoryRoot = "https://jfrog.myrepo.com/artifactory/public-maven",
    username = "你的仓库用户名",
    password = "你的仓库密码"
)

如果需要从环境变量或配置文件注入认证信息,可结合@Value注解使用:

@AutoConfigureStubRunner(
    stubsMode = StubRunnerProperties.StubsMode.REMOTE,
    ids = {"some-stub-id"},
    repositoryRoot = "https://jfrog.myrepo.com/artifactory/public-maven",
    username = @Value("${stub.repo.username}"),
    password = @Value("${stub.repo.password}")
)

2. 通过Spring Boot配置文件全局配置

更推荐的方式是在配置文件中统一配置Stub Runner的认证参数,无需在每个测试类的注解中重复编写:

application.properties

# Stub Runner基础配置
stubrunner.stubs-mode=REMOTE
stubrunner.ids=some-stub-id
stubrunner.repository-root=https://jfrog.myrepo.com/artifactory/public-maven
# 仓库认证信息
stubrunner.username=你的仓库用户名
stubrunner.password=你的仓库密码

application.yml

stubrunner:
  stubs-mode: REMOTE
  ids: some-stub-id
  repository-root: https://jfrog.myrepo.com/artifactory/public-maven
  username: 你的仓库用户名
  password: 你的仓库密码

这种方式更灵活,也便于通过环境变量、配置中心等管理敏感认证信息,避免硬编码。

3. 在仓库URL中嵌入认证信息(不推荐)

你也可以将用户名和密码直接拼接在仓库URL中,格式为https://用户名:密码@仓库地址,示例:

@AutoConfigureStubRunner(
    stubsMode = StubRunnerProperties.StubsMode.REMOTE,
    ids = {"some-stub-id"},
    repositoryRoot = "https://你的仓库用户名:你的仓库密码@jfrog.myrepo.com/artifactory/public-maven"
)

注意:这种方式存在安全隐患,认证信息会明文暴露在代码或配置中,仅建议在本地测试等非敏感场景临时使用。

内容的提问来源于stack exchange,提问作者Lukasz G.

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.01 19:20:08