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

如何在不使用未加密本地密码的情况下与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​​密钥(也称为身份验证令牌)。

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

    在Nexus中生成API密钥

    在Nexus中生成API密钥

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

摘要

使用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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/358534.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ASP.NET web.config中customErrors节点说明

customErrors>节点用于定义一些自定义错误信息的信息。此节点有Mode和defaultRedirect两个属性,其中defaultRedirect属性是一个可选属性,表示应用程序发生错误时重定向到的默认URL,如果没有指定该属性则显示一般性错误。Mode属性是一个必选…

教你玩转CSS 伪类

目录 语法 anchor伪类 伪类和CSS类 CSS :first-child 伪类 匹配第一个 元素 匹配所有

docker部署nessus+awvs

镜像使用方法 搜索镜像sudo docker search awvs-nessus 然后没有latest标签的镜像,拉取镜像需要使用sudo docker pull leishianquan/awvs-nessus:v03 下载时间有点长,下载后,查看镜像sudo docker images leishianquan/awvs-nessus:v03 盘…

如何取消计算机用户名,Win10如何取消登录界面显示用户名?

Win10如何取消登录界面显示用户名?求之不得,梦寐思服。得到之后,不过尔尔!不知道您为什么求Win10取消登录界面显示用户名的操作方法,个人感觉,结果很令人不习惯。还不如改成直接登陆系统呢!既然搜索,必然有用&#xf…

教你玩转CSS 伪元素

目录 CSS 伪元素 语法 :first-line 伪元素 :first-letter 伪元素 伪元素和CSS类 多个伪元素 CSS - :before 伪元素

闰秒对数据库和linux的影响

xiangzhenggui(向正贵) 07-01 17:52:36从日志情况看,这次zookeeper,hadoop出现异常确实与2015年7月1号8:00闰秒有关系xiangzhenggui(向正贵) 07-01 17:59:06DataInputStream.java:370) at org.apache.jute.BinaryInputArchive.readInt(Bin…

sqlmap (--os-shell)的使用

文章目录 第一步 搭建存在sql注入的网站第二步 扫描注入点第三步 选择网站的语言第四步 输入网站的绝对路径第五步 查看权限 第一步 搭建存在sql注入的网站 第二步 扫描注入点 python sqlmap.py -u "http://192.168.232.129/cms/show.php?id33" --os-shell第三步…

西北大学计算机转专业,西北大学可以转专业吗,西北大学新生转专业政策

一、西北大学可以转专业吗学生在校学习期间,有下列情况之一的,可以转专业:(一)学生确有特长,转专业、转学更能发挥其特长的; 这种情况一般要求你大一第一学期绩点高,成绩好。学校会有转专业机会&#xff0c…

__macosx_在5分钟内在MacOSX Lion中设置JAVA_HOME,MAVEN_HOME,ANT_HOME

__macosx人们一直试图通过Mac上的Java开发世界来解决这个问题,这一直是我一直遇到的问题。 他们必须解决的第一件事就是设置适当的工具和环境。 幸运的是,足够多的MacOSX (Lion或以前的版本)仍然具有许多重要的Java开发工具&#…

教你玩转CSS 导航栏

目录 CSS 导航栏 导航栏 导航栏=链接列表 垂直导航栏 垂直导航条实例 激活/当前导航条实例 创建链接并添加边框

FOFA网络空间搜索引擎使用教程

FOFA网络空间搜索引擎使用教程 FOFA是白帽汇推出的一款网络空间搜索引擎,它通过进行网络空间测绘,能够帮助研究人员或者企业迅速进行网络资产匹配,例如进行漏洞影响范围分析、应用分布统计、应用流行度排名统计等。 官网:https:…

hdoj 1247 Hat’s Words(字典树)

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid1247 思路分析:题目要求找出在输入字符串中的满足要求(该字符串由输入的字符串中的两个字符串拼接而成)的字符串。 对于长度为LEN的字符串,其可能由LEN种可能的拼…

html5拖动的面板 panel,基于jQuery UI的Bootstrap Panel面板功能增强插件

LobiPanel是一款基于jQuery UI的Bootstrap Panel面板功能增强插件。通过该插件可以为Bootstrap的原生Panel面板增加编辑标题,最大化,最小化,面板拖动关闭面板等功能。使用方法使用该Bootstrap面板功能增强插件需要引入jquery,jque…

教你玩转CSS 下拉菜单

目录 基本下拉菜单 实例解析 下拉菜单 下拉内容对齐方式 使用 CSS 创建一个鼠标移动上去后显示下拉菜单的效果。 基本下拉菜单 当鼠标移动到指定元素上时,会出现下拉菜单。 <style>.dropdown {position: relative;display: inline-block;}.dropdown-content {disp…

使线程转储智能化

很久以前&#xff0c;我了解了一个称为Log MDC的东西&#xff0c;我对此非常感兴趣。 我突然能够理解日志文件中发生的所有事情&#xff0c;并指出特定的日志条目&#xff0c;并找出对错&#xff0c;特别是在调试生产中的错误时。 在2013年&#xff0c;我受委托从事一个项目&a…

sqlmap --tamper 绕过WAF脚本分类整理

每当注入的时候看到这个贱贱的提示框&#xff0c;内心有千万只草泥马在奔腾。 但很多时候还是得静下来分析过滤系统到底过滤了哪些参数&#xff0c;该如何绕过。 sqlmap中的tamper给我们带来了很多防过滤的脚本&#xff0c;非常实用&#xff0c;可能有的朋友还不知道怎样才能最…

linux shell if 参数

shell 编程中使用到得if语句内判断参数 –b 当file存在并且是块文件时返回真 -c 当file存在并且是字符文件时返回真 -d 当pathname存在并且是一个目录时返回真 -e 当pathname指定的文件或目录存在时返回真 -f 当file存在并且是正规文件时返回真 -g 当由pathname指定的文件或目录…

计算机算法知识总结,移动笔试知识点之--计算机类-数据结构与算法知识点总结.pdf...

12345612int Push (SeqStackSeqStackSeqStack *s*s*s datatypedatatypedatatype x)x)x){ if s->top MAXLEN>top MAXLEN>top MAXLEN–1–1–1return 0 // 0 datatype Pop SeqStack *selse { s->top { datatype x;s->data[s->top]x>top]x>top]x // x if …

教你玩转CSS 提示工具(Tooltip)

如何使用 HTML 与 CSS 来创建提示工具。 提示工具在鼠标移动到指定元素后触发 基础提示框(Tooltip) 提示框在鼠标移动到指定元素上显示: <style>/* Tooltip 容器 */.tooltip {position: relative;display: inline-block;border-bottom: 1px dotted black; /* 悬停元素…

table 首先冻结_首先记录异常的根本原因

table 首先冻结Logback日志库的0.9.30版本带来了一个很棒的新功能&#xff1a;从根&#xff08;最内部&#xff09;异常而不是最外部异常开始记录堆栈跟踪。 当然&#xff0c;我的激动与我贡献了此功能无关。 用塞西尔德米勒&#xff08;Cecil B. de Mille&#xff09; 的话来形…