Ограничить командного бота моей организацией

Я использую MSFT Bot Framework для создания командного бота, но мой бот имеет отношение только к моей организации. На самом деле я не хочу, чтобы кто-то за пределами моей организации мог с ней поговорить.

Я искал, как ограничить моего бота конкретной организацией Office 365, но не могу найти, как это сделать. Единственное, что я могу найти, - это использовать пользовательскую строку другой стороны, чтобы увидеть, в какой организации они живут.

Мой вопрос: есть ли способ ограничить моего бота одной организацией O365?

Спасибо

Брэм

2 ответа

Прошло 2 года, но нет реального ответа, и он появился в моем списке, хотя...

В эти дни вы можете написать простое простое промежуточное ПО, которое выполняет фильтрацию клиентов следующим образом:

public static string TenantFilterSettingAny = "#ANY#";

/// <summary>
/// Here are below scenarios - 
///     #Scenario 1 - Reject the Bot If Tenant is configured in web.config and doesn't match with Incoming request tenant
///     #Scenario 2 - Allow Bot for every Tenant if Tenant is not configured in web.config file and default value is #ANY#             
/// </summary>
/// <param name="activity"></param>
/// <param name="currentTenant"></param>
/// <returns></returns>
public static bool RejectMessageBasedOnTenant(IMessageActivity activity, string currentTenant)
{
    if (!String.Equals(ConfigurationManager.AppSettings["OFFICE_365_TENANT_FILTER"], TenantFilterSettingAny))
    {
        //#Scenario 1
        return !string.Equals(ConfigurationManager.AppSettings["OFFICE_365_TENANT_FILTER"], currentTenant);
    }
    else
    {
        //Scenario 2
        return false;
    }
}

Его взяли из этого образца

Самый надежный способ прямо сейчас - реализовать аутентификацию пользователей, как показано в AuthBot, а затем проверить идентификатор владельца вошедшего в систему пользователя.

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