The Atlassian Community Forums are currently in read-only mode. We will be relaunching on a new platform on September 22 (read more here). We apologize for the extended downtime. For concerns or questions, please email communitymanagers@atlassian.com. See you on the other side, on the new Atlassian Community Forums! :)

×

Forums

Articles
Create
cancel
Showing results for 
Search instead for 
Did you mean: 

Error trying to retrieve access_token through OAuth2.0

tommythongsythavong
I'm New Here
I'm New Here
Those new to the Atlassian Community have posted less than three times. Give them a warm welcome!
May 30, 2022

I am trying to get an access token through OAuth2.0 but everytime I try to do it, I just receive the error below.

Error:: "Cannot use client_credentials with a consumer marked as \"public\". Calls for auto generated consumers should use urn:bitbucket:oauth2:jwt instead.", "error": "invalid_grant"}

 

I am trying to send a POST request through HTTPClient but I am not sure what I am doing wrong here.

Code below:

private static async Task<Token> GetEligibleToken()
{
var client = new HttpClient();
string baseAddress = "https://bitbucket.org/site/oauth2/access_token";

string grant_type = "client_credentials";
string client_id = "id";
string client_secret = "secret";

var form = new Dictionary<string, string>
{
{"grant_type", grant_type},
{"client_id", client_id},
{"client_secret", client_secret},
};

HttpResponseMessage tokenResponse = await client.PostAsync(baseAddress, new FormUrlEncodedContent(form));
var jsonContent = await tokenResponse.Content.ReadAsStringAsync();
Token tok = JsonConvert.DeserializeObject<Token>(jsonContent);
Console.WriteLine(tok);
return tok;
}

1 answer

Comments for this post are closed

Community moderators have prevented the ability to post new answers.

Post a new question

0 votes
Mark C
Atlassian Team
Atlassian Team members are employees working across the company in a wide variety of roles.
June 1, 2022

Hi @tommythongsythavong

Welcome to the community.

Based on the error message, I believe you'll need to make your consumer keys private.
You'll need to tick the "This is a private consumer" checkbox similar to the screenshot below:
private_consumer.png
Here are the exact steps:

  1. Go to your workspace - https://bitbucket.org/workspace_id_here/
  2. Click Settings
  3. Click OAuth consumers (Under Apps and Features)
  4. Click the 3-dotted-icon next to your consumer keys > Click Edit
  5. Lastly, tick the "This is a private consumer" checkbox to make it private

Try again after that and let me know how it goes.

Regards,
Mark C

John Marsh
Contributor
January 6, 2023

Hi @Mark C

 

I don't know if that worked for the OP but it has just worked for me.

 

Thanks

 

John

TAGS
AUG Leaders

Atlassian Community Events