Как запустить конвейер с помощью приложения AADC#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Как запустить конвейер с помощью приложения AAD

Сообщение Anonymous »


Я могу запустить конвейер сборки, используя PAT (токен личного доступа), но я слышал, что это небезопасный метод. Поэтому я хочу запустить конвейер через токен приложения AAD.

var secretClientApplication = ConfidentialClientApplicationBuilder .Create(clientId) .WithClientSecret(clientSecret) .WithAuthority(новый Uri(авторитет)) .Строить(); var authResult = ожидание конфиденциального клиентского приложения .AcquireTokenForClient(новая строка[] {область действия}) .ExecuteAsync(); вар accessToken = authResult.AccessToken; // Установка базового URL-адреса для REST API Azure DevOps client.BaseAddress = new Uri($"{organizationUrl}/{project}/_apis/pipelines/{pipelineId}/"); client.DefaultRequestHeaders.Authorization = новое AuthenticationHeaderValue («Basic», accessToken); // Устанавливаем заголовок типа контента client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); вар запрос = новый JObject(); ресурсы вар = новый JObject(); запрос["ресурсы"] = ресурсы; вар репозитории = новый JObject(); ресурсы["репозитории"] = репозитории; вар сам = новый JObject(); репозитории["self"] = self; self["refName"] = "refs/heads/branch"; переменные вар = новый JObject(); запрос["переменные"] = переменные; вар Datacenter = новый JObject(); Центр обработки данных["значение"] = "Центр обработки данных"; переменные["Центр обработки данных"] = Центр обработки данных; //Передаем параметр в конвейер вар templateParameters = новый JObject(); запрос["Параметрышаблона"] = Параметрышаблона; templateParameters["Центр обработки данных"] = "Центр обработки данных"; Console.WriteLine(Newtonsoft.Json.JsonConvert.SerializeObject(запрос)); var content = new StringContent(Newtonsoft.Json.JsonConvert.SerializeObject(request), Encoding.UTF8, "application/json"); Ответ HttpResponseMessage = ждут client.PostAsync("runs?api-version=6.0-preview.1", content); // Проверяем, был ли запрос успешным если (ответ.IsSuccessStatusCode) { Console.WriteLine("Запуск конвейера успешно запущен."); } еще { Console.WriteLine($"Ошибка: {response.StatusCode} – {response.ReasonPhrase}"); строка responseBody = ожидание ответа.Content.ReadAsStringAsync(); Console.WriteLine($"Тело ответа: {responseBody}"); } Я создал приложение AAD, засекретил его и предоставил разрешения API для AzureDevops, но у меня все еще возникают проблемы с аутентификацией. Пожалуйста, помогите мне решить проблему или используйте другой вариант аутентификации
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Как запустить конвейер с помощью приложения AAD
    Anonymous » » в форуме C#
    0 Ответы
    22 Просмотры
    Последнее сообщение Anonymous
  • Издевающийся конвейер агрегации в тесте SpringBoot завершается с ошибкой «Конвейер агрегации не должен быть нулевым»
    Anonymous » » в форуме JAVA
    0 Ответы
    275 Просмотры
    Последнее сообщение Anonymous
  • Как программно выполнить запрос Kusto с помощью приложения AAD
    Anonymous » » в форуме C#
    0 Ответы
    21 Просмотры
    Последнее сообщение Anonymous
  • Веб-API ASP.NET Core 8: аутентификация с помощью AAD
    Anonymous » » в форуме C#
    0 Ответы
    18 Просмотры
    Последнее сообщение Anonymous
  • Как включить федерацию с AAD с помощью Openiddict
    Anonymous » » в форуме C#
    0 Ответы
    17 Просмотры
    Последнее сообщение Anonymous

Вернуться в «C#»