Ах, понял - спасибо за разъяснения! Для каналов, которые еще не содержат нужную информацию в сообщении, вы можете провести пользователя через поток аутентификации, чтобы получить токен идентификатора. Для DirectLine и WebChat, я думаю, вы также можете аутентифицировать пользователя в хостинге приложения / веб-страницы, а затем включить идентификационную информацию в сообщения, которые вы отправляете через DirectLine / WebChat.
аюсь подключить своего бота к каналу команд, но я не знал, как обеспечить это для использования только в наших доменах (организация).
У меня есть тест для поиска (проверка подлинности AAD) веб-приложения Azure, но он не работает в группах или в веб-чате, поскольку адрес конечной точки не перенаправляется.
У меня есть тест для реализации карты AUTH, но она не работает в командах.
Примечание: я использую botframework C # api BotBuilder 3.15.2.2
Я смотрю другой "спросить", как:AAD-аутентификация в командах Microsoft для Bot Framework
Можно ли получить доступ к пользовательским вкладкам в чатах 1: 1 в командах MS?
https://docs.microsoft.com/en-us/microsoftteams/platform/concepts/authentication/auth-flow-bot
https://docs.microsoft.com/en-us/microsoftteams/platform/concepts/authentication/auth-bot-AAD
https://docs.microsoft.com/en-us/microsoftteams/platform/concepts/authentication/authentication
С уважением, Паскаль.
Редактировать: я реализовал решение, предложенное Адрианом, ниже был фрагмент кода C #, который реализует это в MessasController.cs (функция Post): Примечание ==> Добавление доступа для использования на локальном хосте
//https://stackoverflow.com/questions/51090597/botframework-on-teams-channel-11-authentication-aad-integrated
string tenantIdAAD = "";
try
{
tenantIdAAD = activity.GetChannelData<TeamsChannelData>().Tenant.Id;
}
catch (Exception exception)
{
tenantIdAAD = "";
}
ConnectorClient connector = new ConnectorClient(new Uri(activity.ServiceUrl));
if ([AAD_TenantID].TenantIdAAD.Equals(tenantIdAAD) || activity.ServiceUrl.StartsWith("http://localhost") )
{
await Conversation.SendAsync(activity, () => new Dialogs.RootDialog().LogIfException());
}
else
{
await connector.Conversations.ReplyToActivityAsync(activity.CreateReply("Access Denied"));
}