Использование команд MS в качестве канала: диалог аутентификации (класс GetTokenDialog из Microsoft.Bot.Builder.Dialogs) не появляется - PullRequest
0 голосов
/ 13 июня 2018

Как я могу использовать новую функцию аутентификации в Bot Builder с командами MS?

Похоже, что проблема с командами (см. Вход пользователя в систему с ботами MS Teams или https://github.com/Microsoft/BotBuilder/issues/2104), кажется, если это не учитывается в GetTokenDialog?

Есть ли шанс обойти это?

Ответы [ 3 ]

0 голосов
/ 28 июня 2018

Есть несколько вещей, которые нужно сделать, чтобы заставить это работать.Сначала вам нужно создать файл манифеста для вашего бота в командах и белый список token.botframework.com.Это первая проблема.

Из команд в AppStudio вы создаете манифест.Мне пришлось немного поиграться с этим.В AppDetails ... Пусть он генерирует новый идентификатор.Просто нажмите кнопку.URL действительно не имеют большого значения для тестирования.Имя пакета просто должно быть уникальным, поэтому что-то вроде com.ilonatag.teams.test

В разделе ботов вы подключаете свой MS AppId и имя бота.Это настоящий MSAPPID из ваших ботов MicrosoftAppId "value =" из web.config в вашем коде.

Хорошо, теперь в "finish-> valid domains" я добавил token.botframework.com, а также URL длямой бот на всякий случай.что-то вроде franktest.azurewebsites.net

Эта часть выполнена, но вы еще не сделали этого ... в вашем контроллере сообщений вам нужно добавить это, так как Команды отправляют подтверждение, отличное от других клиентов.

if (message.Type == ActivityTypes.Invoke)
{
                // Send teams Invoke along to the Dialog stack
                if (message.IsTeamsVerificationInvoke())
                {
                    await Conversation.SendAsync(message, () => new Dialogs.RootDialog());
                }
}

Мне потребовалось много времени, чтобы разобраться с Microsoft.

0 голосов
/ 27 августа 2018

Это известная проблема с использованием OAuthCard в командах MS.Чтобы решить эту проблему, вы можете изменить Button ActionType с signIn на openUrl, используя это решение на github

0 голосов
/ 17 июня 2018

Только что нашел причину, по которой он не будет работать с командами.В методе Microsoft.Bot.Connector.Activity.CreateOAuthReplyAsync () параметр asSignInCard должен быть установлен в True для MSTeams, тогда строка new CardAction() { Title = buttonLabel, Value = link, Type = ActionTypes.Signin } должна быть изменена на new CardAction() { Title = buttonLabel, Value = link, Type = ActionTypes.OpenUrl }, поскольку команды MS, очевидно, не могут иметь дело с типом действия.Войти в систему.Надеюсь, разработчики MS скоро исправят этот метод.

...