Botframework 在将本地bot连接到本地WebChat客户端时获取403(但可与Emulator一起使用)

Botframework 在将本地bot连接到本地WebChat客户端时获取403(但可与Emulator一起使用),botframework,ngrok,direct-line-botframework,web-chat,Botframework,Ngrok,Direct Line Botframework,Web Chat,我正在尝试将我的本地webchat客户端连接到我的本地bot,但它抛出了一个403。我尝试添加localhost:3000(我的webchat端口)作为可信源,但仍然没有帮助。但是,如果我使用emulator或postman(通过Directline连接的令牌生成部分),它就可以正常工作 以下是我所做的一切: 启动我的本地机器人,并使用ngrok将其映射到internet地址 将消息传递端点更改为https://xxxxx.ngrok.io/api/messages 配置了一个directli

我正在尝试将我的本地webchat客户端连接到我的本地bot,但它抛出了一个403。我尝试添加
localhost:3000
(我的webchat端口)作为可信源,但仍然没有帮助。但是,如果我使用emulator或postman(通过Directline连接的令牌生成部分),它就可以正常工作

以下是我所做的一切:

  • 启动我的本地机器人,并使用ngrok将其映射到internet地址
  • 将消息传递端点更改为
    https://xxxxx.ngrok.io/api/messages
  • 配置了一个directline频道,获取密钥并在我的react webchat客户端(在端口3000上运行)中使用它,使用
    createDirectLine
    botframework webchat
    建立directline连接,并传递令牌。我使用以下格式访问此API:
在这一点之后,控制台抛出错误403,不允许我继续。但是,我能够通过postman生成令牌,并且相同的ngrok URL在bot框架模拟器中工作得非常好

请帮助我理解我做错了什么。我花了一天的大部分时间研究这一步,非常感谢专家们的意见

多谢各位

与bot框架模拟器配合使用非常好


当您使用Emulator进行测试时,您使用的是用户名/密码,还是空白?确保在本地运行时在bot中配置了
MicrosoftAppID
MicrosoftAppPassword
,并且您正在使用NGROK通过频道。

我没有使用任何用户名或密码。@dana vOk是空白的,当你通过Azure进行测试时(即使通过ngrok指向你的本地运行的机器人),你必须提供为应用程序/机器人通道注册配置的应用程序ID和密码。我已经尝试过了。它给出了与WebChat相同的上述403错误。它工作的唯一方式是通过模拟器,没有任何信誉。我读了一些文章,上面说我需要离线运行directline才能工作。我会尝试一下,如果有效的话会给你回复。
POST https://directline.botframework.com/v3/directline/tokens/generate
Authorization: Bearer SECRET