MS团队中的OAuth卡?

时间:2019-07-30 18:54:23

标签: botframework microsoft-teams azure-bot-service

我使用Direct Line构建了我的机器人,并且在那里可以进行身份​​验证。但是,当我将漫游器部署到MS Teams时,按“登录”按钮根本没有任何作用。我使用了以下代码:

AddDialog(new OAuthPrompt(
    nameof(OAuthPrompt),
    new OAuthPromptSettings
    {
        ConnectionName = ConnectionName,
        Text = "? Welcome! Please Sign In.",
        Title = "Sign In",
        Timeout = 300000, // User has 5 minutes to login (1000 * 60 * 5),
    })
);

我尝试查找文档,但似乎他们正在使用其他框架或v3 Bot框架。如何使OAuth在Web和ms团队中工作?

我正在使用Bot Framework v4。

2 个答案:

答案 0 :(得分:4)

您如何测试Teams应用程序?您是否将其侧面加载到团队环境中?在团队中使用Azure Bot Service进行身份验证时,需要to whitelist the domain in your Bot Manifest。此要求适用于使用v3和v4 SDK构建的漫游器。

您可以使用App Studiotoken.botframework.com添加到manifest filevalidDomains部分中。 (或者您可以手动构建清单文件)

答案 1 :(得分:1)

几周前,我们遇到了同样的问题。

幸运的是,几周前,Microsoft上传了一个示例: https://github.com/microsoft/BotBuilder-Samples/tree/master/samples/javascript_nodejs/46.teams-auth

这里的关键是在扩展您的机器人时使用TeamsActivityHandler(在groupsActivityHandler.js文件中找到)而不是ActivityHandler。

希望有帮助!