This is a worked example showing how a consumer can authenticate and use the consumer API on a v10 Reserved Instance
First you need a consumer, for example by signing up at the Developer Portal.
Log in to API Manager, and click on the Download Toolkit tile:
Then click the Download link in Step 2 for "Toolkit credentials"
which will download a
credentials.json
file that looks like this:
> cat credentials.json
{
"cloud_id": "146fcd3e-6761-43cc-a11d-cc08478176c6",
"toolkit": {
"endpoint": "https://api.ef29-e2b74a2d.us-east.apiconnect.cloud.ibm.com/api",
"client_id": "871ed1dc-6f80-41ab-8552-db1ba552b1b5",
"client_secret": "REDACTED"
},
"consumer_toolkit": {
"endpoint": "https://consumer.ef29-e2b74a2d.us-east.apiconnect.cloud.ibm.com/consumer-api",
"client_id": "6cb156cc-ab6e-46ca-a7f0-62f6874309a4",
"client_secret": "REDACTED"
}
}
The lower block shows the consumer endpoint to use, and also the client_id and client_secret to use in the next step.
Then you get a bearer token, here we are using example values of:
provider org = myporg
catalog = sandbox
> curl -X POST https://consumer.ef29-e2b74a2d.us-east.apiconnect.cloud.ibm.com/consumer-api/token \
-d '{"username":"me@uk.ibm.com", "password":"REDACTED", "realm":"consumer:myporg:sandbox/sandbox-idp", "client_id":"client-id-value-from-earlier","client_secret":"client-secret-from-earlier","grant_type":"password"}' \
-H "Content-Type:application/json" \
-H "Accept:application/json" \
-H "X-IBM-Consumer-Context:myporg.sandbox"
{
"access_token": "LONG-REDACTED-TOKEN",
"token_type": "Bearer",
"expires_in": 28800
}
The value for realm key takes the format:
consumer:<<provider-org>>:<<catalog>>/<<catalog>>-idp
Now you can make a call to the consumer API, for example
curl https://consumer.ef29-e2b74a2d.us-east.apiconnect.cloud.ibm.com/consumer-api/orgs -H "Authorization:Bearer LONG-REDACTED-TOKEN" -H "Content-Type:application/json" -H "Accept:application/json" -H "X-IBM-Consumer-Context:myporg.sandbox"
{
"total_results": 1,
"results": [
{
"type": "org",
"api_version": "2.0.0",
"id": "b6e74bea-b622-4344-ae4c-REDACTED",
"name": "captain-america",
"title": "Captain America",
"summary": "Captain America",
"state": "enabled",
"owner_url": "https://consumer.ef29-e2b74a2d.us-east.apiconnect.cloud.ibm.com/consumer-api/user-registries/0765dbbc-b685-4897-b422-REDACTED/users/ebe701cd-ccdd-4710-a4a1-REDACTED",
"created_at": "2022-02-14T15:39:04.000Z",
"updated_at": "2022-02-14T15:39:04.000Z",
"url": "https://consumer.ef29-e2b74a2d.us-east.apiconnect.cloud.ibm.com/consumer-api/orgs/b6e74bea-b622-4344-ae4c-REDACTED",
"group_urls": []
}
]
}
#APIConnect#Integration#v10