首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >通过有效的应用程序注册,v4 BotFramework SDK返回未经授权的

通过有效的应用程序注册,v4 BotFramework SDK返回未经授权的
EN

Stack Overflow用户
提问于 2019-01-23 15:39:18
回答 2查看 284关注 0票数 1

我一直在Azure支持聊天中与Kyle H.合作,他建议我在这里发布这篇文章。

请理解,因为我已经阅读了每一篇相关的Stack Overflow帖子,并进行了尽职调查。

我已经多次完全删除并重新启动了我的Azure资源和源代码。使用本指南:https://docs.microsoft.com/en-us/azure/bot-service/bot-builder-howto-deploy-azure?view=azure-bot-service-4.0

bot项目正在使用v4模板'Echo‘。

在Azure门户中,在网络聊天中测试:"There was an error sending this message to your bot: HTTP status code Forbidden"

在配置了ngrok的Bot模拟器中:Cannot post activity. Unauthorized.

此处提供了以下说明:https://docs.microsoft.com/en-us/azure/bot-service/bot-service-troubleshoot-authentication-problems?view=azure-bot-service-4.0#step-2

我运行:curl -k -X POST https://login.microsoftonline.com/botframework.com/oauth2/v2.0/token -d "grant_type=client_credentials&client_id=b7404e9f-0e74-4174-aa4f-447fdd96d7f0&client_secret=REMOVED&scope=https%3A%2F%2Fapi.botframework.com%2F.default",然后返回一个有效的访问令牌。

我已经多次确认我的应用程序注册正在使用https,以及/api/messages路由,并且我的应用程序服务有两个键MicrosoftAppIdMicrosoftAppPassword,并且它们被适当地设置。包括停止和启动以及重新启动功能。我还确保了在部署(VS 2017发布)期间,它会删除现有文件。

我的最后一次尝试是将模板'Echo‘机器人升级到.net核心2.2 -它成功地部署了。我再次验证了如上所述的应用程序id和应用程序密码设置,不幸的是,Bot Emulator和Test in Web Chat都失败了,并出现了相同的错误。

编辑1:我使用了“创建新资源”,并选择了“Web App Bot”模板。我选择了“Echo”机器人。我也选择了“自动生成应用程序ID和密码”。这导致了一个没有授权错误的bot部署。然而,我注意到,它创建的不是“机器人频道注册”资源,而是一个“网络应用机器人”。当检查“应用程序设置”时,应用程序ID和密码不存在,但功能正常。

编辑2:我做了更深入的研究,了解到在azure中创建的'Web App Bot‘使用botFilePath和botFileSecret应用程序设置,并且可能会将应用程序id和应用程序密码保存在那里。

编辑3:在visual studio中创建新项目时使用的v4 BotBuilder EchoBot模板与在创建新资源时在Azure中使用的EchoBot模板之间存在巨大差异。现在缩小范围。

编辑4:我能够使用Azure创建的web机器人,并对其进行修改以继续我的工作。即使确保应用程序配置和.bot文件配置是正确的,Vsix模板也是不可能的。

编辑5:我还了解到v4不支持微软团队--这就是我努力的全部目的。v3文档几乎不存在。因此,我认为我将使用一个完全不同的框架来与团队集成。我甚至尝试实现:https://github.com/OfficeDev/BotBuilder-MicrosoftTeams-dotnet,但我的机器人只能在团队中使用"Sorry, there was a problem encountered with your request"进行响应。

编辑6:在解决未授权错误的过程中,我设法让我的机器人与微软团队一起工作。

我在Azure中创建了Echo机器人,并在Microsoft团队中使用App Studio添加了一个清单,并将该机器人添加到我们的团队中。

之后,我导入了位于以下位置的项目:https://github.com/OfficeDev/BotBuilder-MicrosoftTeams-dotnet/tree/master/CSharp/Samples/Microsoft.Bot.Builder.Teams.TeamEchoBot

然后,我根据在Azure中创建Echo Bot的源代码,修改了setup.cs以处理加密的.bot文件。

EN

Stack Overflow用户

发布于 2019-01-24 01:17:57

VSIX模板将生成使用appId/secret的.bot文件的Startup代码,并且在部署到Azure时,将寻找一个名为"production"的端点,您必须将该端点添加到默认的.bot文件中,其中包含来自已配置的机器人的appid和secret。

有关更多详细信息,请访问check out this previous answer I gave on this topic

票数 0
EN
查看全部 2 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54322168

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档