使用wso2am-2.1.0我们希望使用REST服务创建API,例如
/api/am/publisher/v0.11/apis
要使用服务来搜索,创建和发布API,访问令牌需要范围apim:api_view apim:api_createapim:api_publish
看到publisher-api.yaml
似乎需要完整的管理员角色来访问这些服务。
我们不想使用服务所使用的主admin
用户冒着遭受所有权限的用户帐户危害,主要是admin
用户。
将其他用户分配给管理员角色似乎不起作用,创建的令牌不会保留必要的请求范围(对发布者服务的子序列调用会导致401未经身份验证的请求)。我错过了什么?
答案 0 :(得分:2)
它应该工作。我刚刚做了,这是输出。
bhathiya@bhathiya-x1:/data/products/am/resources$ curl -X POST -H "Authorization: Basic YWRtaW46YWRtaW4=" -H "Content-Type: application/json" -d @payload.json https://localhost:9443/client-registration/v0.11/register -k
{"clientId":"ryUqrib4UAiKtbEt8_HxadTcubYa","clientName":"admin_rest_api_publisher","callBackURL":"www.google.lk","clientSecret":"Q1sTqqd175da8fLaESY6z9h5nuca","isSaasApplication":true,"appOwner":"admin","jsonString":"{\"grant_types\":\"password refresh_token\",\"redirect_uris\":\"www.google.lk\",\"client_name\":\"admin_rest_api_publisher\"}"}
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 22:29:11
bhathiya@bhathiya-x1:/data/products/am/resources$ curl -k -d "grant_type=password&username=bhathiya&password=admins&scope=apim:api_view apim:api_create" -u ryUqrib4UAiKtbEt8_HxadTcubYa:Q1sTqqd175da8fLaESY6z9h5nuca https://localhost:8243/token
{"access_token":"1e3f7460-e186-3ded-b4d9-c093e1ceb9df","refresh_token":"be66fe42-2d34-3a34-8576-f7e24388be00","scope":"apim:api_create apim:api_view","token_type":"Bearer","expires_in":3600}
您还可以在publisher-api.yaml
中更改角色。