我们创建了机器人解决方案并将其发布在Azure中。 在本地工作正常。 在Azure中,我们使用另一个App服务资源来保护Web App机器人。 因此,我们收到“加载资源失败:服务器响应状态为502(错误的网关)”的错误。
在应用程序服务的“身份验证/授权”选项卡下,如果我选择了“允许匿名请求”,则对于“未验证请求时要采取的措施”下拉列表bot运行正常。如果我选择“使用Azure Active Directory登录”,则bot无法正常工作。
即使在Azure网站本身的WebChat中的测试中,Bot也无法正常工作。
提供凭据后,我们便可以访问漫游器默认页面。
请让我知道我缺少的步骤,并告诉我是否需要其他信息。
连接机器人的代码。
BotChat.App({
botConnection: botConnection,
user: { id: model.userId, Username: model.LoginUser},
bot: { id: model.botId, name: model.botName },
resize: 'window',
speechOptions: speechOptions,
locale: 'en',
sendTypingIndicator: true
}, document.getElementById('BotChatElement'));
botConnection
.postActivity({
from: user,
name: 'requestWelcomeDialog',
type: 'event',
value: ''
})
.subscribe(function (id) {
console.log('"trigger requestWelcomeDialog" sent');
});
答案 0 :(得分:2)
Azure应用服务中的built-in authentication在这里不合适。
您应遵循this document向机器人添加身份验证。
注意:重定向网址应为https://token.botframework.com/.auth/web/redirect
Here是在Azure Bot服务中使用机器人身份验证功能的示例。