Expand my Community achievements bar.

Enhance your AEM Assets & Boost Your Development: [AEM Gems | June 19, 2024] Improving the Developer Experience with New APIs and Events

Unsupported Grant Type while hitting Authentication-Service

Avatar

Level 2

Hi,

I'm trying to follow this doc (https://helpx.adobe.com/digital-publishing-solution/help/shared-content-api.html​) to create a shared entity. Now when I try to hit

https://pecs.publish.adobe.io/publication/{publication_id}/sharedContent/{shared_entity_title}​ I only always get 401 Unauthorized.

{

"error_code": "401013"

"message": "Oauth token is not valid"

}

I realized that I'll have to run the Authentication service first to get Access Token and get authenticated. Now, I run https://ims-na1.adobelogin.com/ims/token/v1

passing all the necessary params,

client_id: <client_id>

client_secret: <client_secret>

scope: AdobeID,openid

device_id: <device_id>

device_token: <device_token>

grant_type: device

However, I always get 400 Bad request saying unsupported grant type.

{

"error": "unsupported_grant_type"

}

I'm not able to figure out where I'm going wrong! Please help!

PS: I'm hitting these URL's from Google Chrome's Advance REST Client.

6 Replies

Avatar

Employee

Hi,

Can you please generate another device id and device token using the AEX tool (https://aex.aemmobile.adobe.com/index.html ) and with the new values, remake the  authentication call ?

Thanks,

Andrei

Avatar

Level 2

I just tried that. But no luck! I still get the same error.

{

"error": "unsupported_grant_type"

}

Should I give any other grant type?

Avatar

Employee

The grant_type should be device.

Example of the POST method call :

https://ims-na1.adobelogin.com/ims/token/v1?grant_type=device&client_id=your_client_ID&client_secret=your_client_secret&scope=AdobeID,openid&device_token=your_device_token&device_id=your_device_id

Can you please check if before or after the device string, you have an extra space ?

Thanks,

Andrei

Avatar

Level 2

Thanks. I got it right now. I now get Access token. Basically I was passing the params in header but it should have been in payload. However, I'm still getting the Oauth error when I try creating the Shared Entity.

{

"error_code": "401013"

"message": "Oauth token is not valid"

}

How should I use the obtained Access Token in the subsequent calls?

Avatar

Employee

Hi,

Use the new Access token and remake the call.

Note that an Access token is  only available for 24 hours.

More details regarding shared content using the API, please consult the article :  Work with shared content using the On-Demand Services API

Avatar

Level 1

Hi

I am trying to fetch the access token with this https://ims-na1.adobelogin.com/ims/token/v3

 

let base64Secret = Buffer.from(process.env.PHOTOSHOP_CLIENT_ID + ":" + process.env.PHOTOSHOP_CLIENT_SECRET).toString('base64');

  const data = qs.stringify({
    grant_type: 'authorization_code',
    client_id: process.env.PHOTOSHOP_CLIENT_ID,
    client_secret: process.env.PHOTOSHOP_CLIENT_SECRET,
    authorization_code: code,
    redirect_uri: redirectUri,
  })

  const client_id = process.env.PHOTOSHOP_CLIENT_ID
  const client_secret = process.env.PHOTOSHOP_CLIENT_SECRET

  const formdata = new FormData();
  formdata.append("grant_type", "authorization_code")
  formdata.append("client_id", process.env.PHOTOSHOP_CLIENT_ID)
  formdata.append("client_secret", process.env.PHOTOSHOP_CLIENT_SECRET)
  formdata.append("authorization_code", code)
  formdata.append("redirect_uri", redirectUri)

  let config = {
    method: "POST",
    url: `https://ims-na1.adobelogin.com/ims/token/v3`, //?grant_type=authorization_code&client_id=${client_id}&client_secret=${client_secret}&authorization_code=${code}`,
    headers : {
      'Authorization': `Basic ${base64Secret}`,
      "Content-Type": "application/x-www-form-urlencoded"
    },
    data: formdata
  }
  
  let tokenData = {}
  try {
    const resp = await axios(config)
  catch(error){}

 

But when I hit the API I am getting this error

{ error: 'unsupported_grant_type' }

Could Anybody please help