Выбор правильного метода проверки подлинности
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 |
Дополнительные сведения см. в следующих статьях:
- Сведения о безопасности и удостоверении.
- Проверка подлинности OAuth
- Субъекты-службы и управляемые удостоверения
- Клиентские библиотеки Azure DevOps
- Расширения Azure DevOps
- Обзор защиты данных Azure DevOps
Включение обычной проверки подлинности 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 работают для обоих.