我正在寻找特定使用者的https://directline.botframework.com代理请求,但只允许他们将代理用于特定机器人:
消费者-> my.proxy.com-> directline.botframework.com
我读了another post ”“您在请求的Authorization标头中指定的直接机密或令牌用于识别应将请求定向到的漫游器。” < / p>
我找不到有关令牌语法的任何文档,但示例似乎遵循一定的模式,即11个字符,后跟句点...:
Authorization: Bearer RCurR_XV9ZA.cwA.BKA.iaJrC8xpy8qbOF5xnR2vtCX7CZj0LdjAPGfiCpg4Fv0y8qbOF5xPGfiCpg4Fv0y8qqbOF5x8qbOF5xn
这些字段中的任何一个(?),例如在第一个期间之前的前11个字符,是我可以用来过滤请求的机器人的唯一标识符?
答案 0 :(得分:1)
如果解码承载令牌,则可以获取应用程序ID。我刚刚使用jwt.io进行了测试,并能够看到我正确的应用ID。
您可能会找到一个可以用来获取应用程序ID的库,但是我不知道该使用哪个库。如果您可以访问整个请求,则另一种选择是解析机器人ID的活动(根据方向在c#activity.recipient.id
或activity.from.id
中),并使用此数据以某种方式将其列入白名单。这是一个非常独特的案例,因此我没有任何示例。