我使用直接线路连接器和Javascript为我的机器人在wordpress网站(在Azure外部托管)创建自定义聊天窗口,并且为了开始对话,我需要为我的机器人应用指定Direct line SECRET或TOKEN。
要获得令牌,我必须对https://directline.botframework.com/v3/directline/tokens/generate进行REST调用并添加到标题"授权:Bearer SECRET"。 我不想在我的javascript文件中公开公开SECRET,我不想将其作为URL参数传递。
我的其他选择是什么? 如何在不将我的机器人直线SECRET暴露给客户端的情况下获取令牌?
答案 0 :(得分:2)
遗憾的是,没有前端解决方案。在您的网页提供后,所有内容(包括所有脚本文件)都可供任何请求该页面的人仔细检查。隐藏密钥的唯一方法是将服务器用作中间人,并将密钥存储在那里。抱歉粗略绘图:
如果您的整个项目是静态页面,那么这意味着需要大量工作来设置服务器。值得庆幸的是,像10年前一样,让服务器启动并运行并不困难。如果您已经熟悉JavaScript,那么您将能够快速学习node.js
。然后,您可以使用express这样的框架来实现您的服务器,这将为您完成大部分繁重工作。