In this post we will see how to generate a OAuth token by creating a OAuth client in IDCS:

Step 1.

Create an OAuth client application in IDCS

Step 2.

Get the client ID and secret from the application created in IDCS :

Client ID 119b7b226xxxxxxxxf4e2ad6d41
Client Secret 79a4f254-xxxx-4e0d-xxxx-17401f63c274

119b7b226xxxxxxxxxxf4e2ad6d41:79a4f254-xxxx-4e0d-xxxx-17401f63c274

Step 3.

Convert this to base64 encoded string :

https://www.base64encode.org/
MTE5YjdiMjI2ODVmNGRhNDkwxxxxxxxxxxxxxZkNDE6NzlhNGYyNTQtMzQ2ZS00ZTBkLTk4ZGYtMTc0MDFmNjNjMjc0

Step 4. 

You can generate an access token (using curl) with the following command :

Example :

curl -H “Authorization: Basic MTE5YjdiMjI2ODVmNGRhNDkwxxxxxxxxxxxxxZkNDE6NzlhNGYyNTQtMzQ2ZS00ZTBkLTk4ZGYtMTc0MDFmNjNjMjc0”  -H “Content-Type: application/x-www-form-urlencoded;charset=UTF-8”  –request POST https://idcs-5a78xxxxxxxxxxxx0083f.identity.oraclecloud.com/oauth2/v1/token  -d “grant_type=client_credentials&scope=urn:opc:idm:__myscopes__”

Sample Output :

{“access_token”:”eyJ4NXQjUzI1NiI6IkNvcGtqQWQ1TkNGVGNodlRxcXpURF9UeDBYeTdJTm5YY3RYSEl4aU05SW8iLCJ4NXQiOiJwWWZwOTJBcEc5SjNuYXdod3pnTUxxNDA0ZUkiLCJraWQiOiJTSUdOSU5HX0tFWSIsImFsZyI6IlJTMjU2In0.eyJzdWIiOiIxMTliN2IyMjY4NWY0ZGE0OTBhODkxZjRlMmFkNmQ0MSIsInVzZXIudGVuYW50Lm5hbWUiOiJpZGNzLTVhNzgzNjY0YjVjZTQ0Y2U5OWMxZDNlZDA0ODAwODNmIiwic3ViX21hcHBpbmdhdHRyIjoidXNlck5hbWUiLCJwcmltVGVuYW50Ijp0cnVlLCJpc3MiOiJodHRwczpcL1wvaWRlbnRpdHkub3JhY2xlY2xvdWQuY29tXC8iLCJ0b2tfdHlwZSI6IkFUIiwiY2xpZW50X2lkIjoiMTE5YjdiMjI2ODVmNGRhNDkwxxxxxxxxxxxxZkNDEiLCJjYV9ndWlkIjoiY2FjY3QtMTAyZmE5YTQxMDViNDc5ZDlkYTkwNWIyZjI2MzYxMGYiLCJhdWQiOlsidXJuOm9wYzpsYmFhczpsb2dpY2FsZ3VpZD1pZGNzLTVhNzgzNjY0YjVjZTQ0Y2U5OWMxZDNlZDA0ODAwODNmIiwiaHR0cHM6XC9cL2lkY3MtNWE3ODM2NjRiNWNlNDRjZTk5YzFkM2VkMDQ4MDA4M2YuaWRlbnRpdHkub3JhY2xlY2xvdWQuY29tIl0sInN1Yl90eXBlIjoiY2xpZW50IiwiY2xpZW50QXBwUm9sZXbGxfciB1cm46b3BjOmlkbTp0LnVzZXIuc2VjdXJpdHkgdXJuOm9wYzppZG06dC5hdWRpdF9yIHVybjpvcGM6aWRtOnQuam9iLmFwcCB1cm46b3BjOmlkbTp0Lm9hdXRoY29uc2VudHMgdXJuOm9wYzppZG06dC5zb21pIHVybjpvcGM6aWRtOmcuc2hhcmVkZmlsZXMgdXJuOm9wYzppZG06dC5yZXMuaW1wb3J0ZXhwb3J0IHVybjpvcGM6aWRtOnQuam9iLmlkZW50aXR5IHVybjpvcGM6aWRtOnQuc2FtbCB1cm46b3BjOmlkbTp0Lm1mYSB1cm46b3BjOmlkbTp0LmRiLmFkbWluIHVybjpvcGM6aWRtOnQuc2NoZW1hcyB1cm46b3BjOmlkbTp0Lm1mYS51c2VyYWRtaW4gdXJuOm9wYzppZG06dC5vYXV0aCB1cm46b3BjOmlkbTp0Lmdyb3VwcyB1cm46b3BjOmlkbTp0LmpvYi5pbXBvcnRleHBvcnQgdXJuOm9wYzppZG06dC5pZGJyaWRnZS51bm1hcHBlZC5pZGNzYXR0cmlidXRlcyB1cm46b3BjOmlkbTp0LmtyYi5hZG1pbiB1cm46b3BjOmlkbTp0Lm5hbWVkYXBwYWRtaW4gdXJuOm9wYzppZG06dC5ibGtycHRzIHVybjpvcGM6aWRtOnQuc2VsZnJlZ2lzdHJhdGlvbnByb2ZpbGUgdXJuOm9wYzppZG06dC51c2VyLmF1dGhlbnRpY2F0ZSB1cm46b3BjOmlkbTp0LmdyYW50cyB1cm46b3BjOmlkbTDQwYWM5ZmVkMmI4YWQwNzI2MDFiIiwiY2xpZW50X25hbWUiOiJQdW5lZXRoX09UZXN0IiwidGVuYW50IjoiaWRjcy01YTc4MzY2NGI1Y2U0NGNlOTljMWQzZWQwNDgwMDgzZiIsImp0aSI6IjEwMmIwOWNmLWVkZTAtNDhjYy04OTVhLTMyODc3MmI0OTkxZCJ9.G_gPKDPkYgtn9LB_LuvUpDEqB4sTRURDDBKyTHZBOoX1FifFuLqEsBodRTAI-s5J8gOCGhAiswzbD1LuJ9z7SDnbWuHC8NkUsE8nS0ZVbx2geU5iD30C6s1EA4C-5rcWbJygXOplKGNYCqYuD5Thnjqa2Ld6gl_fdmoQkjWq2mOkUmaoknHoFVSJRSD0P4En-Fe3zK2MFz1BYUBCTno8Ap34WDYA63Yc-ys5MNwmT7uzlzo7f4Q_CE5ycSsfLj5gCOCNdT8wrKemOzpb1xD3VIVFhmUOgWb5fchIc6q03gGjMRw7ABUPoDjVeQyEK1c9XO6zzFVDTx0KH_FG6YG74A”,”token_type”:”Bearer”,”expires_in”:3600}
 

Step 5. 

Make a call to service using the access token :

curl -X GET -H “Content-Type:application/scim+json” -H “Authorization: Bearer eyJ4NXQjUzI1NiI6IkNvcGtqQWQ1TkNGVGNodlRxcXpURF9UeDBYeTdJTm5YY3RYSEl4aU05SW8iLCJ4NXQiOiJwWWZwOTJBcEc5SjNuYXdod3pnTUxxNDA0ZUkiLCJraWQiOiJTSUdOSU5HX0tFWSIsImFsZyI6IlJTMjU2In0.eyJzdWIiOiIxMTliN2IyMjY4NWY0ZGE0OTBhODkxZjRlMmFkNmQ0MSIsInVzZXIudGVuYW50Lm5hbWUiOiJpZGNzLTVhNzgzNjY0YjVjZTQ0Y2U5OWMxZDNlZDA0ODAwODNmIiwic3ViX21hcHBpbmdhdHRyIjoidXNlck5hbWUiLCJwcmltVGVuYW50Ijp0cnVlLCJpc3MiOiJodHRwczpcL1wvaWRlbnRpdHkub3JhY2xlY2xvdWQuY29tXC8iLCJ0b2tfdHlwZSI6IkFUIiwiY2xpZW50X2lkIjoiMTE5YjdiMjI2ODVmNGRhNDkwxxxxxxxxxxZkNDEiLCJjYV9ndWlkIjoiY2FjY3QtMTAyZmE5YTQxMDViNDc5ZDlkYTkwNWIyZjI2MzYxMGYiLCJhdWQiOlsidXJuOm9wYzpsYmFhczpsb2dpY2FsZ3VpZD1pZGNzLTVhNzgzNjY0YjVjZTQ0Y2U5OWMxZDNlZDA0ODAwODNmIiwiaHR0cHM6XC9cL2lkY3MtNWE3ODM2NjRiNWNlNDRjZTk5YzFkM2VkMDQ4MDA4M2YuaWRlbnRpdHkub3JhY2xlY2xvdWQuY29tIl0sInN1Yl90eXBlIjoiY2xpZW50IiwiY2xpZW50QXBwUm9sZXbGxfciB1cm46b3BjOmlkbTp0LnVzZXIuc2VjdXJpdHkgdXJuOm9wYzppZG06dC5hdWRpdF9yIHVybjpvcGM6aWRtOnQuam9iLmFwcCB1cm46b3BjOmlkbTp0Lm9hdXRoY29uc2VudHMgdXJuOm9wYzppZG06dC5zb21pIHVybjpvcGM6aWRtOmcuc2hhcmVkZmlsZXMgdXJuOm9wYzppZG06dC5yZXMuaW1wb3J0ZXhwb3J0IHVybjpvcGM6aWRtOnQuam9iLmlkZW50aXR5IHVybjpvcGM6aWRtOnQuc2FtbCB1cm46b3BjOmlkbTp0Lm1mYSB1cm46b3BjOmlkbTp0LmRiLmFkbWluIHVybjpvcGM6aWRtOnQuc2NoZW1hcyB1cm46b3BjOmlkbTp0Lm1mYS51c2VyYWRtaW4gdXJuOm9wYzppZG06dC5vYXV0aCB1cm46b3BjOmlkbTp0Lmdyb3VwcyB1cm46b3BjOmlkbTp0LmpvYi5pbXBvcnRleHBvcnQgdXJuOm9wYzppZG06dC5pZGJyaWRnZS51bm1hcHBlZC5pZGNzYXR0cmlidXRlcyB1cm46b3BjOmlkbTp0LmtyYi5hZG1pbiB1cm46b3BjOmlkbTp0Lm5hbWVkYXBwYWRtaW4gdXJuOm9wYzppZG06dC5ibGtycHRzIHVybjpvcGM6aWRtOnQuc2VsZnJlZ2lzdHJhdGlvbnByb2ZpbGUgdXJuOm9wYzppZG06dC51c2VyLmF1dGhlbnRpY2F0ZSB1cm46b3BjOmlkbTp0LmdyYW50cyB1cm46b3BjOmlkbTDQwYWM5ZmVkMmI4YWQwNzI2MDFiIiwiY2xpZW50X25hbWUiOiJQdW5lZXRoX09UZXN0IiwidGVuYW50IjoiaWRjcy01YTc4MzY2NGI1Y2U0NGNlOTljMWQzZWQwNDgwMDgzZiIsImp0aSI6IjEwMmIwOWNmLWVkZTAtNDhjYy04OTVhLTMyODc3MmI0OTkxZCJ9.G_gPKDPkYgtn9LB_LuvUpDEqB4sTRURDDBKyTHZBOoX1FifFuLqEsBodRTAI-s5J8gOCGhAiswzbD1LuJ9z7SDnbWuHC8NkUsE8nS0ZVbx2geU5iD30C6s1EA4C-5rcWbJygXOplKGNYCqYuD5Thnjqa2Ld6gl_fdmoQkjWq2mOkUmaoknHoFVSJRSD0P4En-Fe3zK2MFz1BYUBCTno8Ap34WDYA63Yc-ys5MNwmT7uzlzo7f4Q_CE5ycSsfLj5gCOCNdT8wrKemOzpb1xD3VIVFhmUOgWb5fchIc6q03gGjMRw7ABUPoDjVeQyEK1c9XO6zzFVDTx0KH_FG6YG74A” https://idcs-5a78xxxxxxxxxxxx0083f.identity.oraclecloud.com/admin/v1/Users?filter=userName+co+%22puneeth%22

Sample Output:

{“schemas”:[“urn:ietf:params:scim:api:messages:2.0:ListResponse”],”totalResults”:1,”Resources”:[{“idcsCreatedBy”:{“type”:”User”,”display”:”Puneeth”,”value”:”434a54e34404419289eeb9ae2577ea94″,”$ref”:”https://idcs-5a78xxxxxxxxxxxxxx0083f.identity.oraclecloud.com/admin/v1/Users/434a54e34404419289eeb9ae2577ea94″},”id”:”2e50a1ed04ff4402b34817f0f09ee4ee”,”meta”:{“created”:”2019-02-05T09:35:41.959Z”,”lastModified”:”2019-12-31T05:25:09.640Z”,”resourceType”:”User”,”location”:”https://idcs-5a78xxxxxxxxxxxxxx0083f.identity.oraclecloud.com/admin/v1/Users/2e50a1ed04ff4402b34817f0f09ee4ee”},”active”:true,”displayName”:”Puneeth P”,”idcsLastModifiedBy”:{“value”:”03bc445679a74ddd8a369bfa9be0870c”,”display”:”idcssso”,”type”:”App”,”$ref”:”https://idcs-5a78xxxxxxxxxxxxxxx0083f.identity.oraclecloud.com/admin/v1/Apps/03bc445679a74ddd8a369bfa9be0870c”},”userName”:”pxxxxxx@oracle.com”,”urn:ietf:params:scim:schemas:oracle:idcs:extension:user:User”:{“isFederatedUser”:true},”urn:ietf:params:scim:schemas:oracle:idcs:extension:userState:User”:{“locked”:{“on”:false}},”name”:{“givenName”:”Puneeth”,”familyName”:”P”,”formatted”:”Puneeth P”},”emails”:[{“primary”:false,”secondary”:false,”value”:”pxxxxxx@oracle.com”,”type”:”recovery”,”verified”:true},{“primary”:true,”secondary”:false,”value”:”pxxxxxxx@oracle.com”,”type”:”work”,”verified”:true}],”schemas”:[“urn:ietf:params:scim:schemas:core:2.0:User”,”urn:ietf:params:scim:schemas:oracle:idcs:extension:userState:User”,”urn:ietf:params:scim:schemas:oracle:idcs:extension:user:User”]}],”startIndex”:1,”itemsPerPage”:50}