ACCESS -使用创建令牌REST API创建的访问令牌不能用于事件REST API,如何克服这一点?

穆罕默德Kashif
2023-01-22 11:07

注意:本文在Artifactory 7.12.x版本之前有效

方法创建的访问令牌创建令牌来自Artiafctory v7.9及以上版本的REST API不能用于基于事件的REST API调用。
为了克服这个问题,

1.对于基于事件的REST API调用使用Access令牌,您可以创建Admin访问令牌从用户界面。

2.有时,使用REST API为属于管理组的用户的基于事件的REST API调用生成访问令牌成为一种用例,而将访问令牌用于基于事件的REST API的唯一可能方法是从创建令牌REST API生成访问令牌,然后生成访问管理令牌,然后生成事件令牌。以下是步骤

  • 使用Create令牌REST API创建令牌,如下所示:
curl -uadmin:密码-XPOST "http://myart/artifactory/api/security/token" -d "username=testuser" -d "scope=member-of-groups:admingroup"
  • 使用Get service_id REST API获取Artifactory service_id,
curl -uadmin:password -XGET "http://myart/artifactory/api/system/service_id输出:jfrt@1 ewj90zeyqwerytu5ez0fxx
  • 使用下面的REST API创建Access管理令牌,从步骤2的输出中传递突出显示的部分。此步骤将生成可用于事件REST API的访问令牌。
curl -H "Authorization: holder " -XPOST "http:/myart/artifactory/api/security/access/admin/token" -H "Content-Type: application/json" -d '{"service_id": "jfac@1ewj90zeyqwerytu5ez0fxx“}”
  • 使用下面的curl命令创建Access令牌,它将访问基于事件的REST API,
curl -H "授权:承载者" -XPOSThttp://myart/access/api/v1/oauth/token-d 'username=testuser' -d 'scope= application -permissions/admin' -d 'audience=jfevt@*' -d 'refreshable=true' -d 'grant_type=client_credentials'
  • 使用下面的事件REST API,使用步骤4中的令牌,它将按预期工作,
curl -H "授权:承载者" -XGET "http://myart/event/api/v1/subscriptions