2

我写了一个快速的小型JavaScript聊天工作与直线API。为了保证我的应用程序秘密安全,js向我的服务器发出ajax调用,在那里我使用秘密生成服务器端API调用,以生成令牌并将其传递回js。当用户提交一条消息时,js发起一个帖子来开始对话(如果我还没有conversationID),然后发布消息,得到响应(s)。Bot连接器 - Direct Line API交叉对话?

幸运的是,当我开始,我用Google搜索一些东西,脱脂约包括值一些后在消息对象“从”发布或只是开始在每一个岗位的时候。但现在一切都很好,没有问题。

然后我注意到什么似乎很奇怪。如果我打开一个浏览器,并开始聊天,它会在另一个浏览器停止的地方找到它。

我很快意识到这是因为我已经硬编码在js一个“从”值。但这似乎仍然很奇怪... 2个不同的标记,2个不同的会话标识,2个不同的浏览器和1个对话。会话是否真的通过消息中的从字段链接?

如果是这样,有一个conversationID有什么意义?他们是否以某种方式将IP和/或MAC地址与从属性结合使用?

我还是本地主机上的工作,所以我没有测试它从2个不同的IP地址来了。

我知道它很容易被具有JS生成一个随机值固定的“从”限制通话的JS的寿命,但仍然似乎很奇怪。是否有充足的理由或者它是一个错误?

UPDATE答案见GitHub的问题: https://github.com/Microsoft/BotBuilder/issues/1307#issuecomment-249187807

回答

1

你应该随机生成一个ID,当你的客户端负载。 (或者,您可以在应用程序中使用现有的用户标识,例如设备标识。)自动分配行为一直是混淆的来源,并且在下一版本的Direct Line中不存在。 (请参阅GitHub Discussion

+0

(添加答案,以便我们可以跟踪此问题已得到解决) – Lars