具有 OAuth2(或任何其他 HTTP 标头身份验证)的 Maven 存储库

问题描述 投票:0回答:3

我正在尝试使用 Gitlab 存储库作为我的依赖项的私有 Maven 存储库。部署过程运行良好(类似于 如此处所述),但更加简化)。

不,我正在尝试添加依赖项,但这似乎不起作用。在 Maven 中,这似乎是可能的(如此处所述)。但在 Gradle 中,仅支持 BasicAuth 或 AWS s3 令牌似乎受支持

有什么方法可以将自定义标头添加到 Maven 存储库的请求中吗?或者有什么办法可以使用OAuth2-身份验证吗?

如果没有,你能给我一个提示,从哪里开始实施吗?

maven gradle oauth-2.0
3个回答
2
投票

我能得到的最好的信息是 2 1/2 年前的,它来自 Gradle 核心开发人员:

目前这是不可能的。我们希望有可能支持更多 身份验证方案,但没有计划支持 OAuth2 这次。

还有这个 3 年历史的机密

Gradle Git Repo Plugin 但有一个“大”对应物 :

然而,私人 Maven 存储库无法通过标准轻松访问 maven http接口,或者至少我还没弄清楚如何获取 认证权。这个插件只是克隆了后面的存储库 场景并将其用作本地存储库,因此如果您有权限 克隆存储库,您可以访问它。

所以基本上你被困住了。


2
投票
与此同时,我在 Gradle 中实现了它,并且拉取请求已合并(从前一段时间开始......):

https://docs.gradle.org/current/userguide/declaring_repositories.html#sub:http-标头身份验证

所以现在仅使用 Gradle 就可以做到这一点。


0
投票
要添加您想要的任何标题,您可以在

settings.xml

server
 部分中执行此操作:

<configuration> <httpHeaders> <property> <name>Authorization</name> <!-- this is for reading environment variables; this config is not in "profile" part so cannot read command line args --> <value>Bearer ${env.TOKEN}</value>
    
© www.soinside.com 2019 - 2024. All rights reserved.