Authenticating Confluence using Basic authentication

How to do REST calls to confluence using Basic authentication? I always get this exception

"StatusCode: 401, ReasonPhrase: 'Unauthorized', X-Seraph-LoginReason: AUTHENTICATION_DENIED....."

This happens to come even if user name and password are correct. I some where read it happens when CAPTCHA  is triggered. I am not even able to disable captcha from settings. This is troubling a lot, I appreciate any suggestion or solution to the above mentioned issue. I am using C# to do web requests.

Thanks,

Abilash

2 answers

1 accepted

0 votes
Answer accepted

Resolved: For login name I was using complete email address, it should be the username not email address.

Are you (really) sure you are:

  • using proper credentials
  • encoding the credentials correctly
  • setting the Authorization header properly

Yes, I have used proper credentials, indeed I used the C# REST library for trying to connect.

This is the code it has connecting:

HttpClient client = new HttpClient();
client.BaseAddress = new Uri(url);
client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); client.DefaultRequestHeaders.Add("Authorization""Basic " + Convert.ToBase64String(Encoding.Default.GetBytes(ConfigurationManager.AppSettings["username"] + ":" + ConfigurationManager.AppSettings["password"])));  HttpResponseMessage response = client.GetAsync(urlParameters).Result;

Yeah, I looked at the library source. On first glance everything looks OK and functional but have you looked at the actual requests your application is sending, with Wireshark or maybe even by just logging it out in your application? Does the header actually exist in the Request object? Maybe the library silently fails somehow and doesn't add the header..

Ya, I used Fiddler and saw that the headers were set properly.

Okay, just to make sure we've tried everything: let's eliminate that framework and use a simple REST client (Postman or something similar, cURL even) to make a call to your Confluence instance with the appropriate headers to check if it goes through or not.

No luck, I get the same error there too!!

me too, Sometime result return correct, sometime return "HTTP Status 401 - Basic Authentication Failure - Reason : AUTHENTICATION_DENIED". I think API work unstable(Postman same)

I had used API : https://instance-name.atlassian.net/wiki/rest/api/content/pageId?expand=body.storage

 

I had double with curl, restclient but both of them cannot get correct result

My ruby code :

authen = "Basic "+Base64.encode64( 'email:pass')
data = RestClient::Request.execute(:method => :get, :url => result_url, :headers => {"Authorization" => authen, "Accept" => "application/json, text/plain, */*"})

Anything I missing?

I think you are using email to authenticate, rather you should use username.

 

Suggest an answer

Log in or Sign up to answer
Community showcase
Published Mar 12, 2019 in Confluence

Confluence Admin Certification now $150 for Community Members

More and more people are building their careers with Atlassian, and we want you to be at the front of this wave! Important Dates Start the Certification Prep Course by 2 April 2019 Take your e...

292 views 2 12
Read article

Atlassian User Groups

Connect with like-minded Atlassian users at free events near you!

Find a group

Connect with like-minded Atlassian users at free events near you!

Find my local user group

Unfortunately there are no AUG chapters near you at the moment.

Start an AUG

You're one step closer to meeting fellow Atlassian users at your local meet up. Learn more about AUGs

Groups near you