Поток учетных данных клиента для 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 года. Просматривая дорожную карту, я не вижу ее в данный момент. Я также не видел каких-либо запросов на добавление новых функций, которые в настоящее время возникают в сообществе разработчиков, поэтому вы можете попытаться поднять профиль этой проблемы там.