HTTPClient и JWT аутентификация в C # - PullRequest
0 голосов
/ 13 ноября 2018

Я с трудом пытаюсь использовать авторизацию в C # Winforms. Моя цель - получить доступ к API. Я уже получил токен доступа, но когда я пытаюсь передать его в заголовок, он возвращает ошибку:

Ошибка HTTP 400.

Мой код:

using (var httpClient = new HttpClient())
{
    var url = @"https://acerportal.com/v1/414232363/status/device/";
    httpClient.BaseAddress = new Uri(url);
    httpClient.DefaultRequestHeaders.Accept.Clear();
    httpClient.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
    httpClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Basic", accessToken);

    var response = await httpClient.GetStringAsync(url);
    string checkResult = response.ToString();
    MessageBox.Show(checkResult);
}

Ответы [ 2 ]

0 голосов
/ 28 ноября 2018

Привет уже решил проблему, просто удалив «Носитель» на входах.

0 голосов
/ 13 ноября 2018

Заголовок должен выглядеть немного по-другому, формат Authorization: <type> <credentials> - так это выглядит для jwt:

httpClient.DefaultRequestHeaders.Add("Authorization", "Bearer " + accessToken);

Для объяснения также см. https://security.stackexchange.com/questions/108662/why-is-bearer-required-before-the-token-in-authorization-header-in-a-http-re

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...