3

我正在使用 Direct line 连接器和 Javascript 在 wordpress 站点(托管在 Azure 之外)上为我的机器人创建自定义聊天窗口,并且要开始对话,我需要为我的机器人应用程序指定 Direct line SECRET 或 TOKEN。

要获得令牌,我必须对https://directline.botframework.com/v3/directline/tokens/generate进行 REST 调用并添加到标题“授权:承载秘密”。我不想在我的 javascript 文件中公开公开该秘密,也不想将其作为 URL 参数传递。

我还有哪些其他选择?如何在不将我的机器人 Direct line SECRET 暴露给客户端的情况下获取令牌?

4

1 回答 1

2

不幸的是,没有前端解决方案。提供您的网页后,任何请求该页面的人都可以查看其所有内容,包括所有脚本文件。隐藏密钥的唯一方法是将您的服务器用作中间人,并将秘密存储在那里。对粗略的绘图感到抱歉:

保守你的秘密。

如果您的整个项目是一个静态页面,那么这意味着需要大量工作来设置服务器。值得庆幸的是,今天启动并运行服务器并不像 10 年前那样困难。如果您已经熟悉 JavaScript,那么您将能够node.js快速学习。然后,您可以使用诸如express之类的框架来实现您的服务器,该框架将为您完成大部分繁重的工作。

于 2017-08-03T15:02:47.767 回答