Показать диалог аутентификации Office 365 от бота в командах Microsoft с context.Activity.CreateOAuthReplyAsync - PullRequest
0 голосов
/ 04 сентября 2018

Я создаю бота с помощью Microsoft Bot Framework. Бот использует корпоративные ресурсы в Office 365, поэтому мне нужна аутентификация. Если пользователь бота не аутентифицирован и токен доступа отсутствует, бот предлагает пользователю войти в систему, используя context.Activity.CreateOAuthReplyAsync. В эмуляторе бота все это прекрасно работает. Отображается диалоговое окно проверки подлинности Office 365. Доступен токен доступа.

Не в командах Microsoft. В Microsoft Teams карта показывается, но когда я нажимаю кнопку «Войти», ничего не происходит. Я сделал быстрое редактирование, чтобы различать каналы по ID канала. Я нашел статью о stackoverflow, чтобы установить для параметра asSignInCard значение true, но ничего не происходит. Что мне нужно сделать, чтобы получить диалог аутентификации для Office365 в Microsoft Teams?

Мой код такой:

        Activity reply = null;

        if (context.Activity.ChannelId.ToLower().CompareTo("msteams") == 0)
        {
            reply = await context.Activity
                .CreateOAuthReplyAsync(connectionName, "Hit \"Sign in\" and enter your Office 365 credentials.", "Sign in", true)
                .ConfigureAwait(false);
        }
        else
        {
            reply = await context.Activity
                .CreateOAuthReplyAsync(connectionName, "Hit \"Sign in\" and enter your Office 365 credentials.", "Sign in")
                .ConfigureAwait(false);

        }
        await context.PostAsync(reply);

        context.Wait(MessageReceived);

1 Ответ

0 голосов
/ 04 сентября 2018

Вы создали манифест для своего бота и включили token.botframework.com в свой массив validDomains[]? Убедитесь, что вы выполнили все задокументированные инструкции здесь и посмотрите, поможет ли это.

...