我们有一个Web应用程序,并允许直接客户端通道使用直接密钥与托管BOT框架进行通信。
示例代码:
BotChat.App({
directLine: { secret: Key },
//dynamically retrieve the logged in user info in your mvc View once the user logged in and pass it on
//and pass thoes info to your bot
user: { id: '', email: '' },
bot: { id: 'testBOT' },
resize: 'detect'
}, document.getElementById("divbot"))
这是我的情况: 1)用户成功登录到应用程序并使用个人帐户授权
2)如何在BOT框架中验证用户。 Directline密钥用于验证调用应用程序。有没有办法可以安全地验证BOT框架中登录用户的身份验证?
谢谢
答案 0 :(得分:1)
还了解了如何从密钥中获取秘密令牌并用于通信。但不确定如何在javascript中完成。
您似乎在自己的MVC网站中嵌入了网络聊天,并且您不希望暴露直线密码(这会阻止任何人将您的机器人放在他们的网站上)。您可以尝试这种方法:
答案 1 :(得分:0)
您可以将密钥替换为过期的令牌。这是一个mvc示例:https://github.com/EricDahlvang/TokenBotExample/tree/master/TokenBotExample
string botChatSecret = ConfigurationManager.AppSettings["BotChatSecret"];
var request = new HttpRequestMessage(HttpMethod.Get, "https://webchat.botframework.com/api/tokens");
request.Headers.Add("Authorization", "BOTCONNECTOR " + botChatSecret);
using (HttpResponseMessage response = await new HttpClient().SendAsync(request))
{
string token = await response.Content.ReadAsStringAsync();
Token = token.Replace("\"", "");
}