【发布时间】:2017-05-02 17:13:27
【问题描述】:
我已经构建了一个基于 LUIS 的机器人,发布在我们公司的 Azure 订阅中。鉴于我们为机器人计划的一些任务,我们需要用户进行身份验证。我们正在使用网络聊天频道。
使用我的公司帐户登录 dev.botframework.com,我的机器人会在未应用任何安全措施的情况下列出并按预期运行(我将在稍后讨论)。消息传递端点与 https 一起列出,并在末尾有 /api/messages 字符串。 AppID 和密码都可以在机器人模拟器以及已发布的应用程序(从Visual Studio 发布到我们的企业 Azure 订阅中)中运行。 “Test connection to your bot” TEST 按钮也成功,生成“端点授权成功”消息。到目前为止一切都很好。
LUIS 应用终结点也是如此。
在这个阶段,我们都很高兴能够进入 portal.azure.com 网站并启用身份验证。从我的仪表板中,我可以看到一长串“所有资源”,其中一个是我的机器人端点“应用服务”。单击该行项目会显示该应用程序的详细信息。在 azure 门户的左侧,有一长串您可以做的事情。 MVP 看着我,我们在“设置”部分选择了“身份验证/授权”。
在“请求未通过身份验证时采取的操作”下拉列表中,我们选择了“使用 Azure Active Directory 登录”。单击保存。 页面顶部有一个信息标注“要启用身份验证/授权,请确保您的所有自定义域都具有相应的 SSL 绑定 .net 版本配置为“4.5”,并且管理管道模式设置为“集成”。
机器人现在被锁定。回到 dev.botframework.com,TEST 按钮给出“未经授权 您无权查看此目录或页面。”
在实际应用程序本身(如已发布)中,带有嵌入式网络聊天频道小部件(即机器人)的 html 页面将导致我们的订阅登录页面显示(所有工作都按预期工作),但机器人现在已死并且不会与我们交谈。网络聊天小部件呈现正常,弹出并说“嗨!我是 abcWebApp99。如果您想聊天,请说“嗨”。您可以输入 Hi(或其他),但它永远不会返回或为您的文本输入加上时间戳。大概是因为端点说“未经授权 您无权查看此目录或页面。”
我们做错了什么/遗漏了什么?
【问题讨论】:
-
机器人将对需要身份验证/令牌的 API 执行操作,因此用户需要登录?
-
是的 - SAP。我们无法在没有安全性的情况下执行 SAP 交易。因此,机器人将成为该流程的前端。
标签: botframework