Gho*_*ica 5 api-key artifactory gradle maven
我们有一个 JFrog 工件,其中包含 Maven 存储库(和其他元素)。
在我的 gradle 设置中,我定义了:
repositories {
maven {
url = uri("https://eu.artifactory....../whatever/")
credentials {
username = "my-full-user-id"
password = "my-real-password"
}
}
}
Run Code Online (Sandbox Code Playgroud)
工作正常。当我更改密码条目以使用我的 JFrog API KEY时,它也有效。
但是:使用 api 密钥仅在username包含我的真实用户 ID 时才有效。
然而:当“直接”向 JFrog 发出 https 请求时(例如使用 python 脚本),不需要提供用户名:只需在请求标头中包含 API KEY 就足够了。
事实是:在我们的设置中,我们手头有 API 密钥,但没有用户 ID。所以我希望能够在 gradle 中定义一个无需用户名即可工作的 Maven 依赖项。
但当
401 Unauthorized响应问题:是否可以在 gradle 中使用“maven 风格”存储库定义,该定义与 API KEYS 一起使用并且不需要相应的用户 ID?
Artifactory 支持基于标头的身份验证,您可以在标头中提供 API 密钥X-JFrog-Art-Api(请参阅Artifactory REST API)。我手头没有 Artifactory 实例来测试,但 Gradle 的HTTP 标头身份验证应该可以解决问题:
repositories {
maven {
url = uri("http://repo.mycompany.com/maven2")
credentials(HttpHeaderCredentials::class) {
name = "Private-Token"
value = "TOKEN"
}
authentication {
create<HttpHeaderAuthentication>("header")
}
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4471 次 |
| 最近记录: |