Единый вход (-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

Другие вопросы по тегам