为 Artifactrory 用户生成令牌

Generate token for Artifactrory user

我尝试使用以下命令为 Artifactory 用户生成访问令牌:

curl -u<user>:<password> -XPOST https://<server_url>/artifactory/api/security/token

我收到以下错误:

  "errors" : [ {
    "status" : 500,
    "message" : "The @FormParam is utilized when the content type of the request entity is not application/x-www-form-urlencoded"
  } ]
}

我尝试将用户的登录密码、API 密钥和加密密码作为密码。每次我得到相同的结果。

有什么想法是错误的吗?

Here's the documentation。您缺少两个必需参数:

  • 用户名 - 必须是您的用户名,除非您是管理员
  • 范围 - 您请求的权限,例如"scope=member-of-groups:readers"

即你需要:

curl -u<user>:<password> -XPOST https://<server_url>/artifactory/api/security/token
     -d "username=<user>" -d "scope=member-of-groups:readers"

特定错误是因为您根本没有传递任何参数。因此,curl 不会生成请求 body,因此它不会在请求中包含 'Content-Type' header,并且服务器报告它只知道如何将参数传递给 REST API 来自发布的表单。