Поток учетных данных клиента для Azure DevOps

Я смотрел на эту проблему в течение нескольких дней и по опыту знаю, что обычно я работаю с этими вещами, но на этот раз я натолкнулся на кирпичную стену.

Сценарий

У меня есть приложение Python, которое создается в конвейере YAML Azure DevOps. Приложение вызывает REST API Azure DevOps для создания репозитория.

Приложение использует PAT (токен личного доступа) для аутентификации.

Во-первых, мне как пользователю-человеку подключен личный токен доступа. Если я уйду из компании, PAT будет отозван, что плохо для приложения, которое должно работать в непользовательском контексте.

Итак, теперь я хочу настроить свое приложение Python для аутентификации в Azure DevOps REST API с использованием потока учетных данных клиента.

Моя проблема в том, что я не могу найти последовательную информацию об этом.

Я создал приложение в Azure DevOps:

Мой план состоял в том, чтобы заставить все это работать в Postman, а затем перенести мои открытия в код Python. На самом деле, мне нужна помощь с настройкой, которую я выполняю в Postman, а остальное я могу решить сам на Python.

Во многих публикациях говорится об Azure DevOps и Azure AAD (Azure Active Directory) вместе, но, поскольку я создаю регистрацию приложения в Azure DevOps, как показано на рисунке, я не понимаю, зачем мне делать что-либо в AAD. (Обратите внимание: мой экземпляр Azure DevOps был создан за пределами Azure. Azure ничего не знает о моем экземпляре Azure DevOps)

Любые указатели на ПРАВИЛЬНУЮ информацию о том, как это сделать, были бы хороши. И помните, мне определенно нужен поток типов учетных данных клиента. Между моим приложением и REST API Azure DevOps нет человеческого взаимодействия.

Обновить

Вот что у меня есть в Postman прямо сейчас: Примечание:

  • Вы можете видеть флажки, которые я использую для включения и выключения пар ключ / значение application/x-www-form-urlencoded.
  • ресурс - 499b84ac-1321-427f-aa17-267ca6975798 - видимому, является GUID для Azure DevOps и не изменяется
  • Если я загляну внутрь HTML из ошибки 500, я вижу следующее: Не удалось найти раздел для hostId: 499b84ac-1321-427f-aa17-267ca6975798, который является GUID ресурса DevOps, упомянутым выше.

И вот ошибка 500, которую я получаю от Azure Devops:

Все это очень сбивает с толку, но я уверен, что мне просто нужно настроить одну или две вещи, чтобы все заработало.

1 ответ

Решение

Я хочу использовать поток client_credential в Azure DevOps по тем же причинам, что и вы! В прошлый раз, когда я говорил в службу поддержки, мне сказали, что это запланировано на третий квартал 2020 года. Просматривая дорожную карту, я не вижу ее в данный момент. Я также не видел каких-либо запросов на добавление новых функций, которые в настоящее время возникают в сообществе разработчиков, поэтому вы можете попытаться поднять профиль этой проблемы там.

Другие вопросы по тегам