将团队机器人限制在我的组织

时间:2016-11-20 09:52:38

标签: microsoft-teams

我正在使用MSFT Bot Framework来构建团队机器人,但我的机器人只与我的组织相关。实际上我不希望组织外的任何人能够与之交谈。

我一直在寻找如何将我的僵尸程序限制为特定的Office 365组织,但无法找到如何执行此操作。我唯一能找到的是使用其他方用户字符串来查看他们居住的组织。

我的问题: 是否可以将我的僵尸程序限制为单个O365组织?

谢谢

的Bram

2 个答案:

答案 0 :(得分: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;
    }
}

它取自this sample

答案 1 :(得分:0)

目前最可靠的方法是实现用户身份验证,如AuthBot所示,然后检查登录用户的tenant-id。