Authentication BOT Directline通道用户身份验证
我们有一个web应用程序,并启用了直接客户端通道,以便使用directline secret与托管的BOT框架进行通信 链接: 示例代码:Authentication BOT Directline通道用户身份验证,authentication,botframework,direct-line-botframework,Authentication,Botframework,Direct Line Botframework,我们有一个web应用程序,并启用了直接客户端通道,以便使用directline secret与托管的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
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框架中安全地对登录用户进行身份验证
多谢各位
还可以阅读有关从密钥获取秘密令牌并用于通信的内容。但不确定如何在javascript中实现
看起来你在MVC网站中嵌入了网络聊天,你不想暴露直连密码(这会阻止任何人将你的机器人放到他们的网站上)。您可以尝试以下方法:
您可以将密钥交换为过期的令牌。以下是一个mvc示例:
对我来说,现在还不清楚你到底想在这里实现什么。你能试着解释一下这个场景吗?如果你已经在你的网站上对用户进行了身份验证,那么这可能是你正在寻找的反向通道。为什么你要再次对用户进行身份验证?嗨,-我通过简单地传递直接客户端密匙在我的客户端中启用了BOT。如何从我的客户端保护BOT连接,任何人都可以查看源代码并获取密钥。我还阅读了有关从密钥中获取秘密令牌并用于通信的内容。但不确定如何在javascript中实现。我的客户是基于MVC的。谢谢!。我使用客户端脚本在母版页MVC中初始化BOT。我希望给定的示例能够在模型中分配。令牌应该能够很好地满足现有标准,而不会对BOT框架代码进行太多更改。此外,如果用户已经在客户端应用程序中进行了身份验证,我希望在BOT框架中授权用户访问令牌。我们不想在BOT框架中使用登录卡,但需要授权它的逻辑。您有什么建议吗?您可以通过通道数据将令牌传递给bot,并在bot端验证令牌。谢谢你,埃里克。我已经提到了这个例子。但是没有明确的方法使用MVC客户端通过通道数据传递用户身份验证令牌。你介意提供其他参考吗?这里有一个可能有用的例子:谢谢你的建议。我将了解如何使用客户端脚本实现这一点。
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("\"", "");
}