首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Nexus 3 API更改管理密码

使用Nexus 3 API更改管理密码
EN

Stack Overflow用户
提问于 2016-08-14 00:25:53
回答 4查看 5.8K关注 0票数 3

我想使用Nexus 3 api来更改管理员默认密码以及使用groovy的电子邮件地址。但我不明白如何使用groovy设置密码。有人能提供一个如何做到这一点的例子吗?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2016-08-15 17:38:30

我一开始以为changePassword不受欢迎,但我错了。下面是一个更新管理电子邮件地址和更改密码的示例:

代码语言:javascript
复制
def user = security.securitySystem.getUser('admin')
user.setEmailAddress('admin@mycompany.com')
security.securitySystem.updateUser(user)
security.securitySystem.changePassword('admin','admin456')
票数 1
EN

Stack Overflow用户

发布于 2020-08-17 22:12:38

摘要

您可以使用REST更新用户信息和更改他们的密码。这包括管理用户。

Nexus :更新用户信息

我的实例中默认的管理用户-data.json如下所示:

代码语言:javascript
复制
{
  "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

代码语言:javascript
复制
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/admin

Nexus :更改密码

您将需要使用安全管理API

Nexus 3后端源代码

代码语言:javascript
复制
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-password

Nexus文档截图

此文档仅在正在运行的Nexus实例上可用。可以在自己运行的Nexus实例上查看此API,方法是访问:

  • 菜单:系统配置>系统> API。

旧方法:在初次入职时更改密码

这只在初次入职时起作用。您应该绝对不使用此方法。只是为了完整的记录。

本节用于在入职期间更改初始密码。

参考Nexus源

您可以使用单个admin命令更改curl用户密码。

代码语言:javascript
复制
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
票数 2
EN

Stack Overflow用户

发布于 2020-02-25 20:42:33

Sonatype Nexus有更改管理密码的内部api来更新管理密码,但它不是直接使用,而是使用与/service/rapture/会话端点一起创建的会话id。

代码语言:javascript
复制
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://github.com/sonatype/nexus-public/blob/9b177ab50bd7f8470b08247b146da459170ecc8f/plugins/nexus-onboarding-plugin/src/main/resources/static/rapture/NX/onboarding/step/ChangeAdminPasswordStep.js#L50

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38938131

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档