欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

eap aka_使用API​​密钥(aka身份验证令牌)部署到Maven Central

发布时间:2023/12/3 编程问答 47 豆豆
生活随笔 收集整理的这篇文章主要介绍了 eap aka_使用API​​密钥(aka身份验证令牌)部署到Maven Central 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

eap aka

如何在不使用未加密本地密码的情况下与Maven Central / Nexus通信(尤其是使用Gradle,但不仅限于此)。

基本原理

不幸的是,Gradle(和许多其他构建工具)没有提供任何机制来本地加密密码(或至少编码)。 没有这种简单的活动,例如向同事显示您的全局Gradle配置( ~/.gradle/gradle.properties ),就很难受,更不用说以明文形式将密码存储在磁盘上带来更大的风险了(请参阅以及Sony Pictures Entertainment hack )。 它是Gradle,因此在所有Groovy魔术的支持下,可以在Linux上实现与系统密钥环的集成以获取密码,但是我不知道有任何现有的插件/机制可以这样做,我宁愿宁愿不写它。

另一个问题是,如今,在无处不在的自动化和云环境中,通常使用允许执行给定操作的API密钥。 但是,其丢失不会给攻击者提供劫持该帐户的可能性(例如,令牌既不能用于登录管理面板,也不能用于更改电子邮件或密码,而这需要额外的身份验证)。

如果需要在CI服务器上保留有效的凭据以进行自动甚至连续发布,这一点非常重要。 由于有了gradle-nexus-staging-plugin ,因此无需在Nexus GUI中执行任何手动步骤即可将工件升级到Maven Central,因此,这是我要在Codearte中处理我的私人项目和FOSS项目的下一个问题。

Nexus API密钥生成

互联网搜索“ Maven中央api密钥”并没有帮助,因此我开始研究Nexus REST API文档,发现实际上有一种(未知的)方式可以生成和使用API​​密钥(又名身份验证令牌)。

  • 登录Nexus托管Sonatype OSS存储库托管 (或您自己的Nexus实例)。
  • 单击右上角的登录名,然后选择“配置文件”。
  • 从带有“摘要”文本的下拉列表中选择“用户令牌”。
  • 点击“访问用户令牌”。

    在Nexus中生成API密钥

  • 输入密码
  • 复制并粘贴您的API用户名和API密钥(到〜/ .gradle / gradle.properties或CI服务器配置中)。
  • 像往常一样以更安全的方式工作。
  • 摘要

    使用API​​密钥可以将工件部署到Maven Central / Nexus很好,并且设置起来非常容易。 有人可能会争辩说,许可策略是粗粒度的(除了密码/电子邮件更改外,什么也不做,或所有其他操作),但在我看来,这对于工件存储库系统类来说似乎足够了。 另外,这种方法也应与Sbt,Ivy,Leiningen以及其他尝试将工件上载到Maven Central的其他方法一起使用(包括通过使用settings-security.xml消除主密码加密的限制来包括Maven本身)。 希望该帖子将使其广为人知。

    翻译自: https://www.javacodegeeks.com/2015/09/deploy-to-maven-central-using-api-key-aka-auth-token.html

    eap aka

    总结

    以上是生活随笔为你收集整理的eap aka_使用API​​密钥(aka身份验证令牌)部署到Maven Central的全部内容,希望文章能够帮你解决所遇到的问题。

    如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。