Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用BotFramework Composer的MS团队的单点登录(-ish)行为_Botframework_Microsoft Teams_Bot Framework Composer - Fatal编程技术网

使用BotFramework Composer的MS团队的单点登录(-ish)行为

使用BotFramework Composer的MS团队的单点登录(-ish)行为,botframework,microsoft-teams,bot-framework-composer,Botframework,Microsoft Teams,Bot Framework Composer,我们正在使用BotFramework Composer创建机器人。这些机器人应该从后端REST服务获取信息,我们需要知道哪个用户正在提交数据请求。我们目前正在使用{turn.activity.from.id}获取团队用户的id,并在“发送http请求”操作中以一个特殊的http头发送它。然后,我们将这个id映射到我们的内部用户 当然,我们知道,这根本不安全,因为任何知道这一点的人都可以获得用户的id并将其发送到我们的服务。我们目前正在考虑在Bot中生成一个短期的jwt令牌以发送到我们的应用程序。

我们正在使用BotFramework Composer创建机器人。这些机器人应该从后端REST服务获取信息,我们需要知道哪个用户正在提交数据请求。我们目前正在使用
{turn.activity.from.id}
获取团队用户的id,并在“发送http请求”操作中以一个特殊的http头发送它。然后,我们将这个id映射到我们的内部用户

当然,我们知道,这根本不安全,因为任何知道这一点的人都可以获得用户的id并将其发送到我们的服务。我们目前正在考虑在Bot中生成一个短期的jwt令牌以发送到我们的应用程序。但是,我们看不到在Bot Framework Composer本身中实现此令牌生成的直接方法

另外,我们不希望使用OAuth,因为我们不希望用户必须通过bot登录

是否有一种方法可以使用C#或js实现自定义令牌生成,并将其分配给“发送HTTP请求”操作中使用的对话框变量?

本文讨论如何在Composer中实现HTTP请求。前半部分的重点是为OAuth创建登录,我知道这不是您的重点,所以请看下半部分。如果您设置了一个可以为您生成令牌的简单服务器,那么您可以使用所述方法从Composer向其发出请求

由于链接可能会断开,文档可能会更改(Composer仍在预览中),我建议将文档保存在某个位置,并经常检查是否有任何更新

我自己也使用过Composer内部的HTTP请求,所以我知道这对您很有用


希望有帮助

您可以创建自定义操作或包组件,并在其中创建用于生成JWT的任何c#方法。这将使所有内容都位于bot的本地


接受/向上投票答案为更大的堆栈溢出社区和任何有类似问题的人服务。如果你觉得我的回答足够,请“接受”并投票表决。如果没有,让我知道我还能提供什么帮助!谢谢你的文章。我会深入调查的。但是,乍一看,我并不认为这真的有什么帮助。当然,我可以设置服务器来生成令牌,但是用户仍然需要以某种方式登录。我设想的流程是,当一个用户还没有注册时,他将显示他的用户id,并通知登录到我的主应用程序,并将此代码添加到他的个人资料中。对于来自bot的后续请求,我只需要验证用户id。这就是问题所在:获取一个我可以信任的用户id,即过期和签名。这就是我想到JWT的原因。