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

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
Atlassian Community Anniversary

Happy Anniversary, Atlassian Community!

This community is celebrating its one-year anniversary and Atlassian co-founder Mike Cannon-Brookes has all the feels.

Read more
Community showcase
Kesha Thillainayagam
Posted Apr 13, 2018 in Confluence

We want to hear how your non-technical teams are using Confluence!

Hi Community! Kesha (kay-sha) from the Confluence marketing team here! Can you share stories with us on how your non-technical (think Marketing, Sales, HR, legal, etc.) teams are using Confluen...

366 views 20 10
Join discussion

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