Я создаю бота с помощью 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);