Авторизация доступа к REST API с помощью OAuth 2.0

Azure DevOps Services

Узнайте, как пройти проверку подлинности пользователей веб-приложения для доступа к REST API, чтобы приложение не продолжало запрашивать имена пользователей и пароли.

Примечание.

  • Следующее руководство предназначено для пользователей Azure DevOps Services, так как OAuth 2.0 не поддерживается на сервере Azure DevOps Server. Клиентские библиотеки — это ряд пакетов, созданных специально для расширения функциональных возможностей Azure DevOps Server. Для локальных пользователей рекомендуется использовать клиентские библиотеки, проверку подлинности Windows или личные маркеры доступа (PATS) для проверки подлинности от имени пользователя.
  • Дополнительные сведения см. в примере OAuth GitHub.

О OAuth 2.0

Azure DevOps Services использует протокол OAuth 2.0 для авторизации приложения для пользователя и создания маркера доступа. Используйте этот маркер при вызове REST API из приложения. При вызове Azure DevOps Services API для этого пользователя используйте маркер доступа этого пользователя. Срок действия маркеров доступа истекает, поэтому обновите маркер доступа, если срок его действия истек.

Process to get authorization.

Доступные модели OAuth

При создании приложения OAuth 2.0 используйте идентификатор Microsoft Entra ID OAuth. Мы по-прежнему поддерживаем Azure DevOps OAuth 2.0, но в настоящее время мы не инвестируем в эту модель.

Microsoft Entra ID OAuth

При создании приложения OAuth идентификатора Microsoft Entra приложение выдает маркеры Microsoft Entra, а не маркеры доступа Azure DevOps. Эти маркеры имеют стандартную продолжительность в один час до истечения срока действия.

Дополнительные сведения см. в следующих статьях:

Примечание.

При создании приложений, использующих другие API, обязательно выберите область, необходимые для этих API.

Azure DevOps OAuth

Для существующих приложений используйте руководство по Azure DevOps OAuth. Вы также можете управлять разрешениями приложений Azure DevOps.

Области

Разработчики должны указать, какие область они требуют от своих пользователей. Области доступны в обеих моделях OAuth. Следующие область доступны только через делегированные потоки (от имени пользователя). Чтобы узнать, какие область требуется для приложения, просмотрите scopes заголовок на странице справочника по API для каждого используемого API.

Некоторые область могут включать другие область, например code_managecode_write. Рассмотрим минимальное количество область, необходимых при запросе область согласия от пользователей.

Важно!

Области позволяют получать доступ только к REST API и выбирать конечные точки Git. Доступ к API SOAP не поддерживается.

Категория Область Имя Описание
Пулы агентов vso.agentpools Пулы агентов (чтение) Предоставляет возможность просматривать задачи, пулы, очереди, агенты и в настоящее время выполняющихся или недавно завершенных заданий для агентов.
vso.agentpools_manage Пулы агентов (чтение, управление) Предоставляет возможность управлять пулами, очередями и агентами.
vso.environment_manage Среда (чтение, управление) Предоставляет возможность управлять пулами, очередями, агентами и средами.
Аналитика vso.analytics Аналитика (чтение) Предоставляет возможность запрашивать данные аналитики.
Аудит vso.auditlog Журнал аудита (чтение) Предоставляет пользователям возможность читать журнал аудита.
vso.auditstreams_manage Аудит Потоки (чтение) Предоставляет пользователям возможность управлять потоками аудита.
Сборка vso.build Сборка (чтение) Предоставляет возможность доступа к артефактам сборки, включая результаты сборки, определения и запросы, а также возможность получать уведомления о событиях сборки с помощью перехватчиков служб.
vso.build_execute Сборка (чтение и выполнение) Предоставляет возможность доступа к артефактам сборки, включая результаты сборки, определения и запросы, а также возможность очереди сборки, обновления свойств сборки и возможность получать уведомления о событиях сборки с помощью перехватчиков служб.
Код vso.code Код (чтение) Предоставляет возможность читать исходный код и метаданные о фиксациях, изменениях, ветвях и других артефактах управления версиями. Кроме того, предоставляет возможность искать код и получать уведомления о событиях управления версиями с помощью перехватчиков служб.
vso.code_write Код (чтение и запись) Предоставляет возможность читать, обновлять и удалять исходный код, получать доступ к метаданным о фиксациях, изменениях, ветвях и других артефактах управления версиями. Кроме того, предоставляет возможность создавать запросы на вытягивание и проверки кода и получать уведомления о событиях управления версиями с помощью перехватчиков служб.
vso.code_manage Код (чтение, запись и управление) Предоставляет возможность читать, обновлять и удалять исходный код, получать доступ к метаданным о фиксациях, изменениях, ветвях и других артефактах управления версиями. Кроме того, предоставляет возможность создавать репозитории кода и управлять ими, создавать запросы на вытягивание и проверки кода, а также получать уведомления о событиях управления версиями с помощью перехватчиков служб.
vso.code_full Код (полный) Предоставляет полный доступ к исходному коду, метаданным о фиксациях, наборах изменений, ветвях и других артефактах управления версиями. Кроме того, предоставляет возможность создавать репозитории кода и управлять ими, создавать запросы на вытягивание и проверки кода, а также получать уведомления о событиях управления версиями с помощью перехватчиков служб. Также включает ограниченную поддержку API клиентских OM.
vso.code_status Код (состояние) Предоставляет возможность считывания и записи состояния запроса на вытягивание и фиксацию.
сервер Подключение vso.connected_server сервер Подключение Предоставляет возможность доступа к конечным точкам, необходимым с локально подключенного сервера.
Объемы обслуживания vso.entitlements Права (чтение) Предоставляет доступ только для чтения к конечной точке прав лицензирования для получения прав учетной записи.
vso.memberentitlementmanagement Управление MemberEntitlement (чтение) Предоставляет возможность читать пользователей, их лицензии, а также проекты и расширения, к которые они могут получить доступ.
vso.memberentitlementmanagement_write Управление MemberEntitlement (запись) Предоставляет возможность управлять пользователями, их лицензиями, а также проектами и расширениями, к которым они могут получить доступ.
Расширения vso.extension Расширения (чтение) Предоставляет возможность чтения установленных расширений.
vso.extension_manage Расширения (чтение и управление) Предоставляет возможность устанавливать, удалять и выполнять другие административные действия в установленных расширениях.
vso.extension.data Данные расширения (чтение) Предоставляет возможность считывать данные (параметры и документы), хранящиеся установленными расширениями.
vso.extension.data_write Данные расширения (чтение и запись) Предоставляет возможность чтения и записи данных (параметров и документов), хранящихся установленными расширениями.
Graph и identity vso.graph Graph (чтение) Предоставляет возможность читать сведения о членстве пользователей, групп, область и групп.
vso.graph_manage Graph (управление) Предоставляет возможность считывать сведения о членстве пользователей, групп, область и групп, а также добавлять пользователей, группы и управлять членством в группах.
vso.identity Удостоверение (чтение) Предоставляет возможность чтения удостоверений и групп.
vso.identity_manage Удостоверение (управление) Предоставляет возможность чтения, записи и управления удостоверениями и группами.
Группа компьютеров vso.machinegroup_manage Группа развертывания (чтение, управление) Предоставляет возможность управления пулами групп развертывания и агентов.
Marketplace vso.gallery Marketplace Предоставляет доступ на чтение к общедоступным и частным элементам и издателям.
vso.gallery_acquire Marketplace (приобретение) Предоставляет доступ на чтение и возможность получения элементов.
vso.gallery_publish Marketplace (публикация) Предоставляет доступ на чтение и возможность отправки, обновления и предоставления общего доступа к элементам.
vso.gallery_manage Marketplace (управление) Предоставляет доступ на чтение и возможность публиковать и управлять элементами и издателями.
Уведомления vso.notification Уведомления (чтение) Предоставляет доступ на чтение к подпискам и метаданным событий, включая значения поля, допускающие фильтрацию.
vso.notification_write Уведомления (запись) Предоставляет доступ на чтение и запись к подпискам и доступ на чтение к метаданным событий, включая отфильтрованные значения полей.
vso.notification_manage Уведомления (управление) Предоставляет доступ на чтение, запись и управление подписками и доступ на чтение к метаданным событий, включая значения поля, допускающие фильтрацию.
vso.notification_diagnostics Уведомления (диагностика) Предоставляет доступ к журналам диагностики, связанным с уведомлениями, и предоставляет возможность включить диагностика для отдельных подписок.
Упаковка vso.packaging Упаковка (чтение) Предоставляет возможность чтения веб-каналов и пакетов.
vso.packaging_write Упаковка (чтение и запись) Предоставляет возможность создавать и читать веб-каналы и пакеты.
vso.packaging_manage Упаковка (чтение, запись и управление) Предоставляет возможность создавать, читать, обновлять и удалять веб-каналы и пакеты.
Ресурсы конвейера vso.pipelineresources_use Ресурсы конвейера (использование) Предоставляет возможность утвердить запрос конвейера на использование защищенного ресурса: пул агентов, среда, очередь, репозиторий, безопасные файлы, подключение к службе и группа переменных.
vso.pipelineresources_manage Ресурсы конвейера (использование и управление ими) Предоставляет возможность управлять защищенным ресурсом или запросом конвейера для использования защищенного ресурса: пул агентов, среда, очередь, репозиторий, безопасные файлы, подключение к службе и группа переменных.
Проект и команда vso.project Проект и команда (чтение) Предоставляет возможность читать проекты и команды.
vso.project_write Проект и команда (чтение и запись) Предоставляет возможность читать и обновлять проекты и команды.
vso.project_manage Проект и команда (чтение, запись и управление ими) Предоставляет возможность создавать, читать, обновлять и удалять проекты и команды.
Выпуск vso.release Выпуск (чтение) Предоставляет возможность считывать артефакты выпуска, включая выпуски, определения выпусков и среду выпуска.
vso.release_execute Выпуск (чтение, запись и выполнение) Предоставляет возможность считывания и обновления артефактов выпуска, включая выпуски, определения выпусков и среду выпуска, а также возможность очереди нового выпуска.
vso.release_manage Выпуск (чтение, запись, выполнение и управление ими) Предоставляет возможность читать, обновлять и удалять артефакты выпуска, включая выпуски, определения выпусков и среду выпуска, а также возможность очереди и утверждения нового выпуска.
Безопасные файлы vso.securefiles_read Безопасные файлы (чтение) Предоставляет возможность чтения защищенных файлов.
vso.securefiles_write Безопасные файлы (чтение, создание) Предоставляет возможность чтения и создания защищенных файлов.
vso.securefiles_manage Безопасные файлы (чтение, создание и управление ими) Предоставляет возможность читать, создавать и управлять защищенными файлами.
Безопасность vso.security_manage Безопасность (управление) Предоставляет возможность чтения, записи и управления разрешениями безопасности.
Подключения службы vso.serviceendpoint Конечные точки службы (чтение) Предоставляет возможность чтения конечных точек службы.
vso.serviceendpoint_query Конечные точки службы (чтение и запрос) Предоставляет возможность чтения и запроса конечных точек службы.
vso.serviceendpoint_manage Конечные точки службы (чтение, запрос и управление) Предоставляет возможность чтения, запроса и управления конечными точками службы.
Параметры vso.settings Параметры (чтение) Предоставляет возможность чтения параметров.
vso.settings_write Параметры (чтение и запись) Предоставляет возможность создавать и читать параметры.
Символы vso.symbols Символы (чтение) Предоставляет возможность считывать символы.
vso.symbols_write Символы (чтение и запись) Предоставляет возможность чтения и записи символов.
vso.symbols_manage Символы (чтение, запись и управление) Предоставляет возможность чтения, записи и управления символами.
Группы задач vso.taskgroups_read Группы задач (чтение) Предоставляет возможность чтения групп задач.
vso.taskgroups_write Группы задач (чтение, создание) Предоставляет возможность читать и создавать группы задач.
vso.taskgroups_manage Группы задач (чтение, создание и управление ими) Предоставляет возможность читать, создавать и управлять группами задач.
Панель мониторинга группы vso.dashboards Панели мониторинга группы (чтение) Предоставляет возможность считывать сведения о панели мониторинга группы.
vso.dashboards_manage Панели мониторинга группы (управление) Предоставляет возможность управлять сведениями панели мониторинга группы.
Управление тестами vso.test Управление тестами (чтение) Предоставляет возможность считывать планы тестирования, варианты, результаты и другие связанные артефакты управления тестами.
vso.test_write Управление тестами (чтение и запись) Предоставляет возможность читать, создавать и обновлять тестовые планы, варианты, результаты и другие связанные артефакты управления тестами.
Потоки vso.threads_full Потоки PR Предоставляет возможность чтения и записи для потоков комментариев запроса на вытягивание.
Токены vso.tokens Делегированные маркеры авторизации Предоставляет пользователям возможность управлять делегированными маркерами авторизации.
vso.tokenadministration Администратор истация маркера Предоставляет возможность управления (просмотром и отменой) существующих маркеров администраторам организации.
Профиль пользователя vso.profile Профиль пользователя (чтение) Предоставляет возможность читать профиль, учетные записи, коллекции, проекты, команды и другие артефакты организации верхнего уровня.
vso.profile_write Профиль пользователя (запись) Предоставляет возможность записи в профиль.
Группы переменных vso.variablegroups_read Группы переменных (чтение) Предоставляет возможность чтения групп переменных.
vso.variablegroups_write Группы переменных (чтение, создание) Предоставляет возможность считывания и создания групп переменных.
vso.variablegroups_manage Группы переменных (чтение, создание и управление) Предоставляет возможность чтения, создания групп переменных и управления ими.
Вики vso.wiki Вики-сайт (чтение) Предоставляет возможность читать вики-страницы, вики-страницы и вики-вики-вложения. Кроме того, предоставляет возможность поиска на вики-страниц.
vso.wiki_write Вики-сайт (чтение и запись) Предоставляет возможность читать, создавать и обновлять вики-страницы, вики-страницы и вики-вложения.
Рабочие элементы vso.work Рабочие элементы (чтение) Предоставляет возможность считывать рабочие элементы, запросы, доски, области и пути итерации и другие связанные метаданные рабочих элементов. Кроме того, предоставляет возможность выполнять запросы, выполнять поиск рабочих элементов и получать уведомления о событиях рабочих элементов с помощью перехватчиков служб.
vso.work_write Рабочие элементы (чтение и запись) Предоставляет возможность читать, создавать и обновлять рабочие элементы и запросы, метаданные доски обновления, области чтения и итерации пути других связанных метаданных рабочих элементов, выполнять запросы и получать уведомления о событиях рабочих элементов с помощью перехватчиков служб.
vso.work_full Рабочие элементы (полные) Предоставляет полный доступ к рабочим элементам, запросам, невыполненной работе, планам и метаданным отслеживания рабочих элементов. Кроме того, предоставляет возможность получать уведомления о событиях рабочих элементов с помощью перехватчиков служб.
Олицетворение пользователя user_impersonation Олицетворение пользователя Полный доступ к REST API Visual Studio Team Services. Запрос и /или согласие на это область с осторожностью, так как это очень мощно!