我使用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。
答案 0 :(得分:4)
您如何测试Teams应用程序?您是否将其侧面加载到团队环境中?在团队中使用Azure Bot Service进行身份验证时,需要to whitelist the domain in your Bot Manifest。此要求适用于使用v3和v4 SDK构建的漫游器。
您可以使用App Studio将token.botframework.com
添加到manifest file的validDomains
部分中。 (或者您可以手动构建清单文件)
答案 1 :(得分:1)
几周前,我们遇到了同样的问题。
幸运的是,几周前,Microsoft上传了一个示例: https://github.com/microsoft/BotBuilder-Samples/tree/master/samples/javascript_nodejs/46.teams-auth
这里的关键是在扩展您的机器人时使用TeamsActivityHandler(在groupsActivityHandler.js文件中找到)而不是ActivityHandler。
希望有帮助!