如何访问WSO2 API Manager的Store API?

时间:2016-04-14 13:45:36

标签: wso2 wso2-am

我正在阅读他们Store API的WSO2 APIM文档。但是,我无法弄清楚如何使用此API进行身份验证。

根据我从本页的理解,我需要通过/ token API获取特殊标记。但是这个例子表明他们提供某种身份验证来获取这个令牌,我无法弄清楚它是哪一个。

所以我想我的问题是: - 如何获取WSO API Manager的新Store API的访问令牌?

1 个答案:

答案 0 :(得分:1)

以下是访问权限(Reference)。

1.使用动态客户端注册API

注册您的oauth应用程序
curl -X POST -H "Authorization: Basic YWRtaW46YWRtaW4=" -H "Content-Type: application/json" -d @payload.json http://localhost:9763/client-registration/v0.9/register

示例有效负载:

{
    "callbackUrl": "www.google.lk",
    "clientName": "rest_api_store",
    "tokenScope": "Production",
    "owner": "admin",
    "grantType": "password refresh_token",
    "saasApp": true
}

这里它使用基本身份验证。您需要在Authrization标头中提供base 64编码的用户名:password(例如:admin:admin)。

示例回复。

{
    "callBackURL": "www.google.lk",
    "jsonString":
    "{
    "username":"admin",
    "redirect_uris":"www.google.lk",
    "tokenScope":[Ljava.lang.String;@3a73796a,
    "client_name":"admin_rest_api_store",
    "grant_types":"authorization_code password refresh_token iwa:ntlm
    urn:ietf:params:oauth:grant-type:saml2-bearer client_credentialsimplicit"
    }",
    "clientName": null,
    "clientId": "HfEl1jJPdg5tbtrxhAwybN05QGoa",
    "clientSecret": "l6c0aoLcWR3fwezHhc7XoGOht5Aa"
}

2.使用令牌API获取oauth访问令牌

curl -k -d "grant_type=password&username=admin&password=admin&scope=apim:subscribe" -H "Authorization: Basic SGZFbDFqSlBkZzV0YnRyeGhBd3liTjA1UUdvYTpsNmMwYW9MY1dSM2Z3ZXpIaGM3WG9HT2h0NUFh" https://127.0.0.1:8243/toke

这里基本的auth参数是base 64编码的clientId:ClientSecret

现在您有一个访问令牌来调用商店API