Authenticating Confluence using Basic authentication
Asked by Abilash G:

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


Answers:
author: Abilash G
body: Resolved: For login name I was using complete email address, it should be the username not email address.


author: T?nisO
body: Are you (really) sure you are:

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

comments: author: Abilash G
body: Yes, I have used proper credentials, indeed I used the [C# REST](https://github.com/althunt/ConfluenceRestClient) 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;
```


author: T?nisO
body: 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..


author: Abilash G
body: Ya, I used Fiddler and saw that the headers were set properly.


author: T?nisO
body: 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.


author: Abilash G
body: No luck, I get the same error there too!!


author: Son Nguyen
body: 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?


author: Abilash G
body: I think you are using email to authenticate, rather you should use username.


author: Cauvery Guda
body: I am having similar issue and I dont see username assigned for my account.


Tags: cloud

confluence-cloud