ACCESS -使用创建令牌REST API创建的访问令牌不能用于事件REST API,如何克服这一点?
注意:本文在Artifactory版本7.12.x之前有效
类创建的访问令牌创建令牌工件v7.9及以上版本的REST API不能用于基于事件的REST API调用。
为了克服这个问题,
1.为基于事件的REST API调用使用Access令牌,您可以创建Admin访问令牌从UI。
2.有时,使用REST API为属于管理组的用户的基于事件的REST API调用生成访问令牌成为一种用例,使用用于基于事件的REST API的访问令牌的唯一可能方法是从Create token REST API生成访问令牌,然后生成访问管理令牌,然后生成事件令牌。以下是步骤
- 使用如下所示的创建令牌REST API创建令牌,
curl -uadmin:password -XPOSThttp://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 -XGEThttp://myart/artifactory/api/system/service_id输出:jfrt@1 ewj90zeyqwerytu5ez0fxx
- 使用下面的REST API创建Access admin令牌,传递步骤2输出中突出显示的部分。此步骤将生成可用于事件REST API的访问令牌。
curl -H "Authorization: Bearer" -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 "Authorization: Bearer" -XPOSThttp://myart/access/api/v1/oauth/token-d 'username=testuser' -d 'scope=applied-permissions/admin' -d 'audience=jfevt@*' -d 'refreshable=true' -d 'grant_type=client_credentials'
- 使用步骤4中的令牌使用下面的事件REST API,它将按预期工作,
curl -H "Authorization: Bearer" -XGET "http://myart/event/api/v1/subscriptions"
