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

This widget could not be displayed.

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

This widget could not be displayed.

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
Posted Monday in Confluence

Why start from scratch? Introducing four new templates for Confluence Cloud

Hi my Community friends!  For those who don't know me, I'm a product marketer on the Confluence Cloud team - nice to meet you! For those of you who do, you know that I've been all up in your Co...

317 views 2 5
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