Я смотрел на эту проблему в течение нескольких дней и по своему опыту знаю, что обычно все решаю, но на этот раз я столкнулся с кирпичной стеной.
Сценарий
У меня есть python приложение, которое создается в конвейере Azure DevOps YAML. Приложение вызывает Azure DevOps REST API для создания репозитория
Приложение использует PAT (токен личного доступа) для аутентификации
Во-первых, проблема в том, что личный токен доступа связан со мной как человек-пользователь. Если я покину компанию, PAT будет аннулирован, что не годится для приложения, которое должно работать в не-пользовательском контексте.
Так что теперь я хочу настроить мое Python приложение для аутентификации на Azure DevOps REST API с использованием потока учетных данных клиента.
Моя проблема в том, что я не могу найти непротиворечивую информацию об этом.
Я создал приложение в Azure DevOps:
Мой план состоял бы в том, чтобы все это работало в Почтальоне, а затем перенеси мои выводы в код Python. Так что на самом деле, я ищу помощь с настройкой, которую я делаю в Postman, и я могу самостоятельно отработать все остальное в Python.
Во многих сообщениях говорится о Azure DevOps и Azure AAD (Azure Active Directory), но, видя, как я создаю регистрацию приложения в Azure DevOps, как показано на рисунке, я не понимаю, почему я что-то делал в AAD. (Обратите внимание, что мой Azure экземпляр DevOps был создан за пределами Azure. Azure ничего не знает о моем Azure экземпляре DevOps)
Любые указатели на ПРАВИЛЬНУЮ информацию о том, как это сделать, будут хорошими. И помните, мне определенно нужен поток типов учетных данных клиента. Между моим приложением и Azure DevOps REST API нет человеческого взаимодействия.
Обновление
Вот что у меня есть в Почтальоне прямо сейчас: Примечание:
- Вы можете видеть флажки, которые я использую для включения и выключения пар ключ / значение ключа x / www-form-urlencoded
- the resource - 499b84a c -1321-427f-aa17-267ca6975798 , по-видимому, GUID для Azure DevOps и не изменяется
- Если я загляну внутрь HTML из ошибки 500 я вижу это: Не удалось найти раздел для hostId: 499b84a c -1321-427f-aa17-267ca6975798 , который является GUID ресурса DevOps, упомянутым выше.
И вот 500 ошибок, которые я получаю от Azure Девопс:
Это все очень запутанно, но я уверен, что мне просто нужно настроить одну или две вещи чтобы заставить его работать.