0

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

我一直在寻找如何将我的机器人限制到特定的 Office 365 组织,但找不到如何去做。我唯一能找到的是使用对方用户字符串来查看他们住在哪个组织中。

我的问题:有没有办法将我的机器人限制在单个 O365 组织中?

谢谢

布拉姆

4

2 回答 2

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;
    }
}

它取自这个样本

于 2018-11-29T11:15:47.600 回答
0

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

于 2016-11-21T17:46:07.613 回答