聊天机器人框架401未经授权的问题

时间:2018-03-22 07:51:10

标签: bots

当我在本地iis中部署机器人并使用ngrok https url在azure中注册bot通道时,我遇到了401问题。

我遵循的步骤:

  1. 在IIS中使用端口1214部署了bot。
  2. 使用ngrok为端口1214创建了https ngrok screenshot

  3. Azure门户网站中已注册的渠道,并以ngrok网址的形式给出终点。 Azure portal Channel registration

  4. 我尝试使用浏览器中的iframe网址访问WEB聊天。得到401错误。我验证了MS appid&我的本地服务器和azure门户网站中的web.config中的密码都相同。 iframe webchat snapshot

  5. 我尝试使用带有ngrok ulr的模拟器访问iis bot服务器并给出空ms appid&密码和更改web.config以清空appid,密码,它工作正常。 Emulator

  6. 请帮忙。

    已编辑:

    我已经调试了botconnector(github)源代码并找出了问题,但不知道如何修复它。

    Token expire 即使是第一次聊天,令牌也会在短时间内到期,但屏幕截图中的时差显示太长(有效和当前)。那可能是什么问题呢?正如我所说,我的机器人在我的本地服务器(位置印度)运行,我注册了bot端口作为ngrok url在我的本地服务器上运行。 (请参阅上面的详细信息。)。

3 个答案:

答案 0 :(得分:0)

尝试troubleshooting您的机器人。

如果您没有成功回复,请重置您的应用密码。

答案 1 :(得分:0)

我解决了这个问题。它是由于我的系统中的时区设置错误。

答案 2 :(得分:0)

在尝试从漫游器模拟器访问Azure中部署的漫游器时,我还遇到此错误“ 错误:未经授权。无效的AppId通过令牌传递”。解决方案是转到Bot注册>访问控制>我将自己添加为该机器人的所有者。它开始在模拟器中为我工作。我给了http:// localhost:port,但没有在仿真器中提供MicrosoftAppId和MicrosoftAppPassword,所以我能够在本地调试机器人。