Поделиться через


Выбор правильного метода проверки подлинности

Azure DevOps Services | Azure DevOps Server 2022 — Azure DevOps Server 2019

Для приложений, которые выполняют интерфейс с Azure DevOps Services, необходимо пройти проверку подлинности, чтобы получить доступ к ресурсам, таким как REST API. В этой статье приведены рекомендации по выбору правильного механизма проверки подлинности для приложения.

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

Тип приложения Description Пример Механизм аутентификации Примеры кода
Интерактивное клиентское приложение (REST) Клиентское приложение, позволяющее взаимодействие с пользователем, вызывающее REST API Azure DevOps Services Консольное приложение, перечисляющее проекты в организации OAuth с библиотекой аутентификации Microsoft (MSAL) sample
Интерактивное клиентское приложение (клиентские библиотеки) Клиентское приложение, которое позволяет взаимодействовать с пользователем, вызывая клиентские библиотеки Azure DevOps Services Консольное приложение, перечисляющее ошибки, назначенные текущему пользователю OAuth с клиентскими библиотеками sample
Неинтерактивное клиентское приложение Клиентское приложение только для текста без головы Консольное приложение, отображающее все ошибки, назначенные пользователю OAuth с профилем устройства , потоком sample
Личный маркер доступа Маркер носителя для доступа к собственным ресурсам Используйте PAT вместо пароля для неформальных вызовов REST. Не идеально подходит для приложений. Пятс примеры
Серверные приложения Приложение Azure DevOps Server с помощью клиентской библиотеки OM Расширение Azure DevOps Server, отображающее панели мониторинга ошибок группы Клиентские библиотеки sample
Сервисный субъект или управляемая учетная запись Приложение с уникальной идентичностью Функция Azure для создания рабочих элементов Субъекты-службы и управляемые удостоверения sample
Веб-расширение Расширение Azure DevOps Services Расширение "Гибкие карточки" Пакет SDK для веб-расширения VSS sample

Совет

Аутентификация на основе Microsoft Entra является нашей рекомендацией для разработчиков, желающих интегрироваться с Azure DevOps Services, если вы взаимодействуете с учётными записями Microsoft Entra. Примеры приложений OAuth в этой таблице используют платформу удостоверений Microsoft Entra для разработки приложений .
Для проверки подлинности с помощью учетных записей Майкрософт (MSA) или пользователей Azure DevOps Server ознакомьтесь с нашими клиентскими библиотеками или PATs.
Узнайте больше в нашем блоге о том, как мы снижаем использование PAT на нашей платформе.

Часто задаваемые вопросы

Вопрос. Почему моя учетная запись службы не может получить доступ к REST API Azure DevOps?

Ответ. Возможно, учетная запись службы не материализована. Учетные записи служб без разрешений интерактивного входа не могут войти. Дополнительные сведения см . в этой работе для решения.

Вопрос. Следует ли использовать клиентские библиотеки Azure DevOps Services или REST API Azure DevOps Services для интерактивного клиентского приложения?

Ответ. Мы рекомендуем использовать клиентские библиотеки Azure DevOps Services через REST API для доступа к ресурсам Azure DevOps Services. Они проще и проще поддерживать при изменении версий конечных точек REST. Если клиентские библиотеки не имеют определенных функций, используйте MSAL для проверки подлинности с помощью интерфейсов REST API.

Вопрос. Это руководство относится только к Azure DevOps Services или относится ли оно также к локальным пользователям Azure DevOps Server?

Ответ. В основном это руководство предназначено для пользователей Azure DevOps Services. Для пользователей Сервера Azure Devops рекомендуется использовать клиентские библиотеки, проверку подлинности Windows или личные маркеры доступа (PATS) для проверки подлинности.

Вопрос. Что делать, если требуется, чтобы мое приложение выполнялось аутентификацией с помощью Azure DevOps Server и Azure DevOps Services?

Ответ. Рекомендуется использовать отдельные пути проверки подлинности для Azure DevOps Server и Azure DevOps Services. Вы можете использовать requestContext эту службу, чтобы определить, к какой службе вы обращаетесь, а затем применить соответствующий механизм проверки подлинности. Если вы предпочитаете унифицированное решение, paTs работают для обоих.