Thingsboard - Authentication error on REST API (FROM Curl command and ASP.NET)
up vote
0
down vote
favorite
I'm able to login to Thingsboard website using my credentials, however when I try to connect the same using CURL command I get "Authentication Failed" error.
curl -X POST "https://cloud.thingsboard.io/api/auth/login" -d "{"username":"XYZPQR@ABCDLMN.com", "password":"Q@34&pwn"}" --header "Content-Type: application/json" --header "Accept: application/json"
Error Code
{"status":401,"message":"Authentication failed","errorCode":10,"timestamp":1542893993515}
However when I use the same user id and Password in my ASP.NET Application to fetch the authorization token, I do get the JWT token, but using the same token I'm unable to make any REST API call from Thingsboard.
ASP.NET CORE CODE
var response = new HttpResponseMessage();
var client = new HttpClient();
UserModel model = new UserModel { username = "XYZPQR@ABCDLMN.com", password = "Q@34&pwn" };
var content = new StringContent(JsonConvert.SerializeObject(model), Encoding.UTF8, "application/json");
response = await client.PostAsync("https://cloud.thingsboard.io/api/auth/login", content);
string data = await response.Content.ReadAsStringAsync();
var userToken = JsonConvert.DeserializeObject<UserToken>(data);
MediaTypeWithQualityHeaderValue contentType = new MediaTypeWithQualityHeaderValue("application/json");
client.DefaultRequestHeaders.Accept.Add(contentType);
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", userToken.token);
Uri url = new Uri("https://cloud.thingsboard.io/api/plugins/telemetry/DEVICE/431be6e0-e8ca-11e8-9e5c-3d544ba4fdfc/values/timeseries?keys=Electricity");
response = await client.GetAsync(url);
Model Class
public class UserModel {
public string username { get; set; }
public string password { get; set; }
}
public class UserToken
{
public string token { get; set; }
public string refreshToken { get; set; }
}
Please suggest, how to get the telemetry values from Thingsboard REST API.
thingsboard
add a comment |
up vote
0
down vote
favorite
I'm able to login to Thingsboard website using my credentials, however when I try to connect the same using CURL command I get "Authentication Failed" error.
curl -X POST "https://cloud.thingsboard.io/api/auth/login" -d "{"username":"XYZPQR@ABCDLMN.com", "password":"Q@34&pwn"}" --header "Content-Type: application/json" --header "Accept: application/json"
Error Code
{"status":401,"message":"Authentication failed","errorCode":10,"timestamp":1542893993515}
However when I use the same user id and Password in my ASP.NET Application to fetch the authorization token, I do get the JWT token, but using the same token I'm unable to make any REST API call from Thingsboard.
ASP.NET CORE CODE
var response = new HttpResponseMessage();
var client = new HttpClient();
UserModel model = new UserModel { username = "XYZPQR@ABCDLMN.com", password = "Q@34&pwn" };
var content = new StringContent(JsonConvert.SerializeObject(model), Encoding.UTF8, "application/json");
response = await client.PostAsync("https://cloud.thingsboard.io/api/auth/login", content);
string data = await response.Content.ReadAsStringAsync();
var userToken = JsonConvert.DeserializeObject<UserToken>(data);
MediaTypeWithQualityHeaderValue contentType = new MediaTypeWithQualityHeaderValue("application/json");
client.DefaultRequestHeaders.Accept.Add(contentType);
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", userToken.token);
Uri url = new Uri("https://cloud.thingsboard.io/api/plugins/telemetry/DEVICE/431be6e0-e8ca-11e8-9e5c-3d544ba4fdfc/values/timeseries?keys=Electricity");
response = await client.GetAsync(url);
Model Class
public class UserModel {
public string username { get; set; }
public string password { get; set; }
}
public class UserToken
{
public string token { get; set; }
public string refreshToken { get; set; }
}
Please suggest, how to get the telemetry values from Thingsboard REST API.
thingsboard
add a comment |
up vote
0
down vote
favorite
up vote
0
down vote
favorite
I'm able to login to Thingsboard website using my credentials, however when I try to connect the same using CURL command I get "Authentication Failed" error.
curl -X POST "https://cloud.thingsboard.io/api/auth/login" -d "{"username":"XYZPQR@ABCDLMN.com", "password":"Q@34&pwn"}" --header "Content-Type: application/json" --header "Accept: application/json"
Error Code
{"status":401,"message":"Authentication failed","errorCode":10,"timestamp":1542893993515}
However when I use the same user id and Password in my ASP.NET Application to fetch the authorization token, I do get the JWT token, but using the same token I'm unable to make any REST API call from Thingsboard.
ASP.NET CORE CODE
var response = new HttpResponseMessage();
var client = new HttpClient();
UserModel model = new UserModel { username = "XYZPQR@ABCDLMN.com", password = "Q@34&pwn" };
var content = new StringContent(JsonConvert.SerializeObject(model), Encoding.UTF8, "application/json");
response = await client.PostAsync("https://cloud.thingsboard.io/api/auth/login", content);
string data = await response.Content.ReadAsStringAsync();
var userToken = JsonConvert.DeserializeObject<UserToken>(data);
MediaTypeWithQualityHeaderValue contentType = new MediaTypeWithQualityHeaderValue("application/json");
client.DefaultRequestHeaders.Accept.Add(contentType);
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", userToken.token);
Uri url = new Uri("https://cloud.thingsboard.io/api/plugins/telemetry/DEVICE/431be6e0-e8ca-11e8-9e5c-3d544ba4fdfc/values/timeseries?keys=Electricity");
response = await client.GetAsync(url);
Model Class
public class UserModel {
public string username { get; set; }
public string password { get; set; }
}
public class UserToken
{
public string token { get; set; }
public string refreshToken { get; set; }
}
Please suggest, how to get the telemetry values from Thingsboard REST API.
thingsboard
I'm able to login to Thingsboard website using my credentials, however when I try to connect the same using CURL command I get "Authentication Failed" error.
curl -X POST "https://cloud.thingsboard.io/api/auth/login" -d "{"username":"XYZPQR@ABCDLMN.com", "password":"Q@34&pwn"}" --header "Content-Type: application/json" --header "Accept: application/json"
Error Code
{"status":401,"message":"Authentication failed","errorCode":10,"timestamp":1542893993515}
However when I use the same user id and Password in my ASP.NET Application to fetch the authorization token, I do get the JWT token, but using the same token I'm unable to make any REST API call from Thingsboard.
ASP.NET CORE CODE
var response = new HttpResponseMessage();
var client = new HttpClient();
UserModel model = new UserModel { username = "XYZPQR@ABCDLMN.com", password = "Q@34&pwn" };
var content = new StringContent(JsonConvert.SerializeObject(model), Encoding.UTF8, "application/json");
response = await client.PostAsync("https://cloud.thingsboard.io/api/auth/login", content);
string data = await response.Content.ReadAsStringAsync();
var userToken = JsonConvert.DeserializeObject<UserToken>(data);
MediaTypeWithQualityHeaderValue contentType = new MediaTypeWithQualityHeaderValue("application/json");
client.DefaultRequestHeaders.Accept.Add(contentType);
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", userToken.token);
Uri url = new Uri("https://cloud.thingsboard.io/api/plugins/telemetry/DEVICE/431be6e0-e8ca-11e8-9e5c-3d544ba4fdfc/values/timeseries?keys=Electricity");
response = await client.GetAsync(url);
Model Class
public class UserModel {
public string username { get; set; }
public string password { get; set; }
}
public class UserToken
{
public string token { get; set; }
public string refreshToken { get; set; }
}
Please suggest, how to get the telemetry values from Thingsboard REST API.
thingsboard
thingsboard
edited Nov 23 at 4:41
asked Nov 22 at 13:51
Arayn
173114
173114
add a comment |
add a comment |
1 Answer
1
active
oldest
votes
up vote
0
down vote
accepted
It was a small mistake I was doing; I changed old code to new code(as shown below), and everything started working as expected.
Old code
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", userToken.token);
New Code
client.DefaultRequestHeaders.Add("X-Authorization", "Bearer " + userToken.token);
Thanks for support.
add a comment |
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
up vote
0
down vote
accepted
It was a small mistake I was doing; I changed old code to new code(as shown below), and everything started working as expected.
Old code
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", userToken.token);
New Code
client.DefaultRequestHeaders.Add("X-Authorization", "Bearer " + userToken.token);
Thanks for support.
add a comment |
up vote
0
down vote
accepted
It was a small mistake I was doing; I changed old code to new code(as shown below), and everything started working as expected.
Old code
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", userToken.token);
New Code
client.DefaultRequestHeaders.Add("X-Authorization", "Bearer " + userToken.token);
Thanks for support.
add a comment |
up vote
0
down vote
accepted
up vote
0
down vote
accepted
It was a small mistake I was doing; I changed old code to new code(as shown below), and everything started working as expected.
Old code
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", userToken.token);
New Code
client.DefaultRequestHeaders.Add("X-Authorization", "Bearer " + userToken.token);
Thanks for support.
It was a small mistake I was doing; I changed old code to new code(as shown below), and everything started working as expected.
Old code
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", userToken.token);
New Code
client.DefaultRequestHeaders.Add("X-Authorization", "Bearer " + userToken.token);
Thanks for support.
answered Nov 23 at 7:22
Arayn
173114
173114
add a comment |
add a comment |
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Some of your past answers have not been well-received, and you're in danger of being blocked from answering.
Please pay close attention to the following guidance:
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53432471%2fthingsboard-authentication-error-on-rest-api-from-curl-command-and-asp-net%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown