I want to get data from cloud foundry using curl, but I\'m not able to authenticate (oauth against CF). Please, could someone point me to and example how to get oauth token?
Try this. I found it in the Cloud Foundry docs: https://github.com/cloudfoundry/uaa/blob/master/docs/UAA-APIs.rst#oauth2-token-endpoint
curl -v -XPOST -H"Application/json" -u "cf:" --data "username=<username>&password=<password>&client_id=cf&grant_type=password&response_type=token" https://login.run.pivotal.io/oauth/token
If you have already logged in using cf
, you will find that the authorization token is stored in ~/.cf/config.json under they key "AccessToken". You can easily pull it out of there.
If you need to get the Authorization bearer token yourself without using the cf
CLI you can follow the instructions at https://www.ng.bluemix.net/docs/#services/AppUserRegistry/index.html#appuserregistry . You can also export CF_TRACE=true
and then do a cf login
yourself and watch the REST dance the CLI does with the server to get the authorization token.
This isn't exactly what you asked for, but if a recent cf cli is installed you can login as normal and then use the cf curl
command to run raw requests.
For example
$ cf login (or cf auth for non-interactive login)
$ cf curl /v2/spaces/c4e73f65-4dbc-47dc-9d21-e8c566c40587/summary
To use actual curl
, again using the cf cli, retrieve the bearer token with:
$ cf oauth-token
Then execute your curl command with an Authorization header:
$ curl --header 'Authorization: bearer ...' https://api.example.com/v2/spaces/c4e73f65-4dbc-47dc-9d21-e8c566c40587/summary