我想使用Nexus 3 api来更改管理员默认密码以及使用groovy的电子邮件地址。但我不明白如何使用groovy设置密码。有人能提供一个如何做到这一点的例子吗?
发布于 2016-08-15 17:38:30
我一开始以为changePassword不受欢迎,但我错了。下面是一个更新管理电子邮件地址和更改密码的示例:
def user = security.securitySystem.getUser('admin')
user.setEmailAddress('admin@mycompany.com')
security.securitySystem.updateUser(user)
security.securitySystem.changePassword('admin','admin456')发布于 2020-08-17 22:12:38
摘要
您可以使用REST更新用户信息和更改他们的密码。这包括管理用户。
Nexus :更新用户信息
我的实例中默认的管理用户-data.json如下所示:
{
"userId": "admin",
"firstName": "Administrator",
"lastName": "User",
"emailAddress": "admin@example.org",
"source": "default",
"status": "active",
"readOnly": false,
"roles": [
"nx-admin"
],
"externalRoles": []
}将user-data.json更新到所需的值,并与REST一起使用curl。
NX_PASSWORD="admin user password"
curl -ifu admin:"${NX_PASSWORD}" \
-XPUT -H 'Content-Type: application/json' \
--data "$(< user-data.json)" \
<nexus base URL>/service/rest/v1/security/users/adminNexus :更改密码
您将需要使用安全管理API。
OLD_PASSWORD="nexus admin password"
NEW_PASSWORD="your new password"
curl -ifu admin:"${OLD_PASSWORD}" \
-XPUT -H 'Content-Type: text/plain' \
--data "${NEW_PASSWORD}" \
<nexus base URL>/service/rest/v1/security/users/admin/change-passwordNexus文档截图
此文档仅在正在运行的Nexus实例上可用。可以在自己运行的Nexus实例上查看此API,方法是访问:

旧方法:在初次入职时更改密码
这只在初次入职时起作用。您应该绝对不使用此方法。只是为了完整的记录。
本节用于在入职期间更改初始密码。
参考Nexus源
您可以使用单个admin命令更改curl用户密码。
OLD_PASSWORD="initial nexus password"
NEW_PASSWORD="somepass"
curl -ifu admin:"${OLD_PASSWORD}" \
-XPUT -H 'Content-Type: text/plain' \
--data "${NEW_PASSWORD}" \
<nexus base URL>/service/rest/internal/ui/onboarding/change-admin-password发布于 2020-02-25 20:42:33
Sonatype Nexus有更改管理密码的内部api来更新管理密码,但它不是直接使用,而是使用与/service/rapture/会话端点一起创建的会话id。
curl -v 'https://<hostname>/service/rapture/session' --data 'username=<base64 username>&password=<base64 password>'
curl -v -X PUT 'https://<hostname>/service/rest/internal/ui/onboarding/change-admin-password' -H 'cookie: <NXSESSIONID form the above response>' --data '<plain text password>'
https://stackoverflow.com/questions/38938131
复制相似问题