使用MS Bot Framework与REST API集成

问题描述:

我正在尝试构建一个与REST API集成的bot。更具体地说,机器人应该根据用户提供的凭据登录到API。根据用户提出的某些问题,机器人应该对API执行某些操作并报告结果。就像,'嘿,先生。机器人,我想知道我最新的销售数据“或”提交我的杰出活动“。该API使用表单身份验证,因此在登录后,bot需要将cookie发送到API,否则应答为401(来自API)。使用MS Bot Framework与REST API集成

是这样的可能吗?

[更新]

因为它是不清楚的,我问什么(下投票),我会延长我的问题。我想知道该机器人是否可以将API所需的cookie传递给它与之通信的客户端。否则,每次向API发出请求时,API都会将该请求视为未经授权的请求。

谢谢!

+0

-1 ......不清楚我在问什么......真的? 有时我想知道为什么我甚至打扰寻求帮助 –

+1

嗯,很难判断它是否可以使用cookie ......也许在WebChat频道中,但不确定其他频道(例如slack/skype)。通常,机器人中的身份验证通过OAuth进行处理,您将获得访问令牌并将验证头与不记名令牌一起发送。你有没有尝试过任何东西,它不起作用,或者你还没有走过那条路? –

+1

嗨,非常感谢您的回应!我还没有走这条路。我首先需要将我的API更改为使用OAuth而不是表单身份验证。但你基本上已经回答了我的问题。非常感谢! –

我不完全确定这是否会使用cookie。也许在WebChat频道中,由于频道的性质,可能工作得很好。

我见过的工具使用机器人的一个常见模式是通过API通过OAuth进行通信。实现这一点的一个好方法是:你在机器人中发送给用户一个登录链接,然后回复将回调到你的API,你将基本上恢复与机器人的身份验证并将访问令牌存储在机器人状态;所以你可以在每次通话中重复使用它。

由于您使用的是C#,我建议您检查AuthBot(是通过Microsoft Bot Framework构建的机器人上的Azure Active Directory身份验证的.Net库)。

此外,您可以检查AzureBot以查看Auth库的使用方式。