cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
2497
Views
5
Helpful
5
Replies

WxCC API Acces - unable to generate Access Token - Client ID Invalid

FahimBCG
Level 1
Level 1

We have hit some issues while trying to authenticate using OAuth2.0 to generate the access_token and refresh_token.

 

After logging into the dev portal (https://devportal.wxcc-eu1.cisco.com/) with an admin account, we created a web app.

After that, we tried to authenticate using OAuth 2.0 using postman:

 
 

Postman SettingsPostman Settings

 

But during the authentication, after a successful login we get an error, here’s a screenshot:

FahimBCG_1-1646748672365.png

 

Using the postman controller we managed to extract the error message coming from the APIs:

FahimBCG_2-1646748698149.png

 

The error we get is: Invalid Client – The client identifier provided is invalid, the client failed to authenticate, the client did not include its credentials, provided multiple client credentials, or used unsupported credentials type.

 

However, the clientId matches the one from the dev portal, the same for the clientSecret.

We use the same postman settings for another tenant and that works fine.

 

We don't really know what to do at this stage, could you please help?

If there’s anything else I can provide please let me know.

1 Accepted Solution

Thanks for you time @FahimBCG , I am posting the solution here for the wider team.

 

The organization in question had a special scenario. It was created in the US but contact center was provisioned in the UK.

// Control Hub

122.png

// Contact Center

123.png

 

Ideally we have

US Orgs:

developer.webex-cx.com (app)

api.wxcc-us1.cisco.com (API)

EU orgs:

devportal.wxcc-eu1.cisco.com (app)

api.wxcc-eu1.cisco.com (API)

 

However the solution here was to

Create the App Creds in the US, developer.webex-cx.com (app)

And then use the EU URIs to query. api.wxcc-eu1.cisco.com (API)

 

We are going to enhance this cross datacenter use case / experience in the future with Geo DNS

 

Thanks & Regards,

Arunabh.

View solution in original post

5 Replies 5

FahimBCG
Level 1
Level 1

I've tried with those configs and it's still not working. I've sent you the details via PM.

 

Thanks again for your support!

Fahim

Thanks for you time @FahimBCG , I am posting the solution here for the wider team.

 

The organization in question had a special scenario. It was created in the US but contact center was provisioned in the UK.

// Control Hub

122.png

// Contact Center

123.png

 

Ideally we have

US Orgs:

developer.webex-cx.com (app)

api.wxcc-us1.cisco.com (API)

EU orgs:

devportal.wxcc-eu1.cisco.com (app)

api.wxcc-eu1.cisco.com (API)

 

However the solution here was to

Create the App Creds in the US, developer.webex-cx.com (app)

And then use the EU URIs to query. api.wxcc-eu1.cisco.com (API)

 

We are going to enhance this cross datacenter use case / experience in the future with Geo DNS

 

Thanks & Regards,

Arunabh.

FahimBCG
Level 1
Level 1

Hi @Arunabh Bhattacharjee 

 

thank you very much for looking into this!

 

It's like that in the first screen because I was just testing things to see if I could get it working, I also tried by sending the request in the body but I'm still getting the same error:

 
 

Screenshot 2022-03-08 223722.png

 

Are you signing in (the form on postman) with an Admin user who has a valid WebexCC License?

I noticed that you are requesting for CCAI scopes. You can omit that in the App as well as the Postman. the cjp:ccai scopes are in Beta and will be hidden from the UI soon

 

Keep both (App integration checkboxes) and Postman Scopes as: 

cjp:config cjp:config_read cjp:config_write

 

Let me know if that works.

 

If not, please send me 

Org ID

admin user you are attempting to login to postman

and

which user created the "App Integration"

 

Thanks,

Arunabh.

 

Arunabh Bhattacharjee
Cisco Employee
Cisco Employee

Hello @FahimBCG  good day,

It seems like the issue might be in the 

 

Client Authentication = Send as Request Headers 

 

it should be 

Client Authentication = Send Client Credentials as Request Body since it is www form url encoded as per the documentation.

 

Please follow this example for postman, 

https://app.vidcast.io/share/e2fc878b-9294-4830-86a5-38c77fcc5093 

 

let me know if you have any other queries,

 

If you find this helpful please mark this as a solution,

 

Thanks & Regards,

Arunabh.