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


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

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

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

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

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

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

Включение обычной проверки подлинности IIS недопустимо с помощью PATs для Azure DevOps Server

Дополнительные сведения см. в статье Об использовании базовой проверки подлинности IIS с локальной средой Azure DevOps.

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

Вопрос. Почему моя учетная запись службы не может получить доступ к 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 работают для обоих.