Я создаю бота Microsoft Teams, который позволит пользователю входить в систему с помощью стороннего OAuth и делать аутентифицированные запросы к веб-сервисам сторонних разработчиков.Я могу использовать OAuthPrompt
для входа в систему со своим сторонним поставщиком OAuth, используя соединение, установленное в Azure Bot Services.Когда я аутентифицируюсь, я получаю guid, который, предположительно, является ключом, который соответствует моему токену OAuth в сервисе токенов Bot Framework.
Мне неясно, как использовать этот guid для выполнения аутентифицированных запросов к моему веб-сервису.Документация гласит (выделено мое):
Для выполнения определенных операций от имени пользователя ... бот должен будет вызвать внешнюю службу, такую как Microsoft Graph., GitHub или REST сервис компании .Каждая внешняя служба имеет способ защиты этих вызовов, и распространенным способом защиты такого вызова является отправка этих запросов с использованием токена пользователя, который однозначно идентифицирует пользователя в этой внешней службе (иногда называемой JWT).
Эта документация указывает мне, что должна быть возможность использовать запросы на проверку подлинности для моего веб-службы через службу Bot Token Framework или что должна быть возможность получить мой OAuth-токен, чтобы отправлять проверенные запросы непосредственно на мою службуот моего бота.Я не могу найти ни одного примера, чтобы кто-то делал это, и провел дни, просматривая документацию и исходные репозитории botbuilder.
Бот должен отвечать на сообщения или действия пользователя с результатами веб-службы.Например, если пользователь вставляет ссылку на определенную веб-страницу, которая недоступна до тех пор, пока он не вошел в систему, бот создаст предварительный просмотр ссылки на эту страницу, используя идентификатор OAuth пользователя, и отправит ее в диалог.
Я использую Bot Builder v4 и эмулятор Bot Framework.