我正在使用MSFT Bot Framework来构建团队机器人,但我的机器人只与我的组织相关。实际上我不希望组织外的任何人能够与之交谈。
我一直在寻找如何将我的僵尸程序限制为特定的Office 365组织,但无法找到如何执行此操作。我唯一能找到的是使用其他方用户字符串来查看他们居住的组织。
我的问题: 是否可以将我的僵尸程序限制为单个O365组织?
谢谢
的Bram
答案 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。