gpt4 book ai didi

azure - 适用于 Microsoft Teams 的 Azure Bot App Reg 可以使用单租户吗?

转载 作者:行者123 更新时间:2023-12-03 07:04:11 26 4
gpt4 key购买 nike

现在,我在应用程序注册下运行 MS Teams Bot,配置为使用“任何组织目录(任何 Azure AD 目录 - Multi-Tenancy )中的帐户和个人 Microsoft 帐户(例如 Skype、Xbox)”。

首先,我对这个主题进行了研究,并且在写这个问题时考虑了以下资源:

根据我的理解,所有这些答案都是这样的:

  • 2021 年底之前,仅支持 Multi-Tenancy 应用作为机器人身份
  • 现在我应该能够使用 Single-tenat 进行应用注册,但这需要额外的配置
  • 上述更改生效的时刻是机器人尝试进行身份验证的时刻

由于其他机器人强制(明确)授权使用 ex。 MicrosoftAppCredentials - MS Teams Bot 在 XML 文件(如机器人服务中的 appsettings.json)中以声明方式配置其授权详细信息。

如何将单租户应用程序注册与 MS Teams 中使用的 Azure Bot 一起使用?还是目前无法实现?

编辑:
对于 future 的读者:根据答案,我准备了两个位置,您可以在其中访问传入事件的 TenantId 以执行白名单验证(在 Multi-Tenancy 设置中,因为单租户仍然无法在 Teams 上运行):

  1. BotController中:
        [HttpPost]
public async Task PostAsync()
{
// Here using
//this.Request.Headers["X-Ms-Tenant-Id"].ToString()
}
  • TeamsActivityHandler 实例方法重写中:
  •     internal class /***/ : TeamsActivityHandler
    {
    //any method that have access to TurnContext or Activity
    public override Task /***/(ITurnContext<IInvokeActivity> turnContext, ...)
    {
    // Here using
    //turnContext.Activity.Conversation.TenantId
    }
    }

    有了 TenantId,您可以将其与允许的租户进行比较,并相应地拒绝或允许。

    最佳答案

    我最近在这个网站上与另一位用户遇到了这个问题,主动消息传递不起作用,因为他们选择了单租户。这是最近的一个选项,而且它似乎与我的研究不符——我会选择 Multi-Tenancy 选项。如果您确实需要阻止其他租户访问机器人(这很推荐,因为任何 Teams 租户中的任何用户都可能访问机器人,最好将您的租户 ID 列入白名单)。这里有一个关于如何执行此操作的旧示例 - 尚未测试它是否仍然有效: https://github.com/OfficeDev/microsoft-teams-sample-complete-csharp/blob/master/template-bot-master-csharp/middleware/Middleware.cs

    关于azure - 适用于 Microsoft Teams 的 Azure Bot App Reg 可以使用单租户吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71688474/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com