Authenticating Confluence using Basic authentication

Abilash G August 8, 2016

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
Abilash G August 9, 2016

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

0 votes
TõnisO
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
August 8, 2016

Are you (really) sure you are:

  • using proper credentials
  • encoding the credentials correctly
  • setting the Authorization header properly
Abilash G August 9, 2016

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;
TõnisO
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
August 9, 2016

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..

Abilash G August 9, 2016

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

TõnisO
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
August 9, 2016

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.

Abilash G August 9, 2016

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

Son Nguyen June 7, 2017

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?

Abilash G June 7, 2017

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

 

Cauvery Guda April 18, 2019

I am having similar issue and I dont see username assigned for my account.

Suggest an answer

Log in or Sign up to answer
TAGS
AUG Leaders

Atlassian Community Events