Единый вход (-ish) поведение от MS Teams с помощью BotFramework Composer
Мы используем BotFramework Composer для создания ботов. Эти боты должны получать информацию из серверной службы REST, где нам нужно знать, какой пользователь отправляет запрос данных. В настоящее время мы используем{turn.activity.from.id}
чтобы получить идентификатор пользователя Teams и отправить его в специальном заголовке http в действии "Отправить HTTP-запрос". Затем мы выполняем сопоставление этого идентификатора нашим внутренним пользователям.
Мы, конечно, осознаем, что это совсем не безопасно, поскольку любой, кто знает это, может получить идентификатор пользователя и отправить его в нашу службу. В настоящее время мы думаем о создании краткосрочного токена jwt в боте для отправки в наше приложение. Однако мы не видим прямого способа реализации этой генерации токена в самом Bot Framework Composer.
Кроме того, мы не хотим использовать OAuth, потому что не хотим, чтобы пользователю приходилось входить в систему через бота.
Есть ли способ реализовать создание пользовательского токена с помощью C# или js и назначить его диалоговой переменной, которая будет использоваться в действии "Отправить HTTP-запрос"?
2 ответа
В этом документе обсуждается, как реализовать HTTP-запрос в Composer. Первая половина посвящена созданию входа в систему для OAuth, что, как я знаю, не является вашей задачей, поэтому посмотрите на вторую половину. Если вы настроили простой сервер, который может генерировать токен для вас, вы можете сделать запрос к нему из Composer, используя описанный метод.
Поскольку ссылки могут разорваться, а документы могут измениться (а Composer все еще находится в предварительной версии), я бы порекомендовал сохранить документ где-нибудь и время от времени проверять наличие обновлений.
Я сам использовал HTTP-запросы из Composer, поэтому знаю, что это сработает для вас.
Надеюсь на помощь!
Вы можете создать собственное действие или компонент пакета и создать там любые методы C # для генерации JWT. Это сохранит все локально для бота.
https://docs.microsoft.com/en-us/composer/how-to-create-custom-actions