Интеграция подключаемого модуля API с API, защищенным с помощью OAuth

Завершено

Другой распространенный шаблон защиты API — использование OAuth. OAuth — это стандартный отраслевой протокол для авторизации. OAuth защищает доступ к ресурсам с помощью маркеров доступа. Чтобы получить маркер доступа, необходимо зарегистрировать приложение в поставщике удостоверений и указать его тип, например общедоступный или конфиденциальный клиент. В зависимости от типа приложения может потребоваться настроить дополнительные параметры, такие как секрет или сертификат.

Когда пользователи открывают приложение, оно запускает процесс получения маркера доступа. Точные шаги, которые выполняет приложение, зависят от типа приложения и используемого им потока. Когда пользователи завершают поток авторизации, они получают маркер доступа, который можно использовать для вызова API.

При интеграции подключаемых модулей API с API, защищенным с помощью OAuth, вам потребуются идентификатор клиента и секрет клиента приложения, которое защищает API. Вам также потребуются конечные точки авторизации, маркера и при необходимости обновления поставщика удостоверений. Microsoft 365 Copilot использует эти сведения для проверки подлинности с помощью API от имени текущего пользователя и получения маркера доступа. Так как информация является конфиденциальной, вы безопасно храните ее в безопасном хранилище в Microsoft 365, также известном как хранилище. Затем в приложении вы ссылаетесь на идентификатор записи хранилища. Во время выполнения декларативный агент загружает подключаемый модуль (2) и получает сведения из указанной записи (3a). Декларативный агент следует типу предоставления кода авторизации, также известному как поток кода проверки подлинности, чтобы получить маркер доступа (3b), который он использует для вызова API (3c). Приведенная ниже схема иллюстрирует этот процесс.

Схема того, как декларативный агент запускает подключаемый модуль API, подключенный к API, защищенному С помощью OAuth.

При настройке сведений OAuth для подключаемого модуля можно при необходимости включить ключ проверки для Code Exchange (PKCE). Несмотря на то, что вы защищаете подключаемый модуль API с помощью конфиденциального клиента, корпорация Майкрософт рекомендует использовать PKCE, так как это добавляет дополнительный уровень безопасности для приложения с минимальными затратами.

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

Во время разработки вы можете самостоятельно зарегистрировать сведения об OAuth для разработки в хранилище, перейдя на портал разработчика Teams и из раздела Сервис , открыв регистрацию клиента OAuth, или с помощью набора средств агентов Microsoft 365. В рабочей среде администратор обычно регистрирует сведения OAuth и предоставляет идентификатор записи хранилища для использования в подключаемом модуле API.

Снимок экрана: страница регистрации клиента OAuth на портале разработчика Teams.