我们有一个JFrog artifactory,它包含一个maven repo(和其他元素)。
在我的Gradle设置中,我定义了以下内容:
repositories {
maven {
url = uri("https://eu.artifactory....../whatever/")
credentials {
username = "my-full-user-id"
password = "my-real-password"
}
}
}
工作正常。当我更改密码输入以使用我的JFrog API KEY时,它也工作。
但是:只有当username
包含我的真实的用户id时,使用API密钥才有效。
然而:当“直接”向JFrog发出https请求时(例如使用python脚本),不需要提供用户名:只需在请求头中包含API KEY即可。
问题是:在我们的设置中,我们手头有API密钥,但没有用户ID。所以我希望能够在gradle中定义一个maven依赖项,它可以在没有用户名的情况下工作。
但是什么时候
- 我在gradle设置中将用户名留空,gradle抱怨它为null。
- 我尝试了除真实的用户ID以外的任何其他操作,得到了
401 Unauthorized
响应
问:是否可以在gradle中使用“maven style”存储库定义,它与API KEYS一起工作,并且不需要相应的用户ID?
2条答案
按热度按时间5lhxktic1#
Artifactory支持基于头的身份验证,在头中提供API密钥
X-JFrog-Art-Api
(参见Artifactory REST API)。我手头没有Artifactory示例来测试,但Gradle的HTTP头认证应该可以做到这一点:raogr8fs2#
使用“Private-Token”的答案对我来说不适用于Artifactory 7.41。
相反,这是什么工作: