Персональный токен доступа Azure Devops (PAT) перестал работать - PullRequest
0 голосов
/ 11 апреля 2019

Я смог нормально использовать RestAPI Azure Devops, но неожиданно код перестал работать (даже тот же пример, который Azure Devops предоставляет в своей документации).

Я пытался отозвать существующий PAT и сгенерировать новый, но он все еще не работал.

public static async void PrintBuilds()
{
       try
       {
           var personalaccesstoken = "PAT";

           using (HttpClient client = new HttpClient())
           {
               client.DefaultRequestHeaders.Accept.Add(
                   new System.Net.Http.Headers.MediaTypeWithQualityHeaderValue("application/json"));

               client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Basic",
                   Convert.ToBase64String(
                       System.Text.ASCIIEncoding.ASCII.GetBytes(
                           string.Format("{0}:{1}", "", personalaccesstoken))));

               using (HttpResponseMessage response = client.GetAsync(
                    "https://dev.azure.com/{Organization}/{Projcet}/_apis/build/builds?api-version=5.0").Result)
               {
                    esponse.EnsureSuccessStatusCode();
                   string responseBody = await response.Content.ReadAsStringAsync();
                   Console.WriteLine(responseBody);
               }
           }
       }
       catch (Exception ex)
       {
           Console.WriteLine(ex.ToString());
       }
}

Я ожидаю вывод JSON, но я получаю статус HTTP 302, то есть перенаправление на visualstudioСтраница входа в систему .com, которая может указывать на то, что что-то есть в моем PAT ...

1 Ответ

0 голосов
/ 11 апреля 2019

этот код предполагает, что вы не передаете имя пользователя в заголовок auth, хотя вы должны это сделать, вот как выглядит мой код powershell:

$pat = [Convert]::ToBase64String([Text.Encoding]::ASCII.GetBytes("user@domain:$token"))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...