4

我已使用Microsft Bot FrameworkNode JS中创建了Bot,并部署在Skype for Business (SFB) channel上。如何通过Microsoft Bot Framework中的Skype for Business频道获取用户的身份验证详情

每当用户通过SFB与Bot交互并要求获取一些细节时,我希望Bot从我的公司内部系统使用用户登录到SFB时应该生成的用户身份验证令牌获取这些详细信息。

那么,有没有什么办法从SFB获取用户令牌,Bot可以用它来代表用户获取所需信息?我不能使用Bot凭证代表用户请求的信息。我的公司内部系统SFB使用相同的Azure AD进行用户认证。

我提到的问题Authenticate user across channels in Microsoft bot Framework,Skype for Business channel doesn't pass authentication credentials correctly但这并不能帮助我回答我的问题。

我提到Authenticate user in Microsoft bot framework链接,如果我问用户使用什么https://blogs.msdn.microsoft.com/tsmatsuz/2016/09/06/microsoft-bot-framework-bot-with-authentication-and-signin-login/进行身份验证,然后每次用户问了一些问题,我要问的用户进行身份验证,这将不会是一个很好的用户体验,为用户已经通过SFB认证。

有人可以帮我一些我可以参考的文档解决这个问题吗?

+0

我已经添加了skypedeveloper标签。希望他们团队的成员能回答你的问题。 –

回答

1

我不知道如何直接通过Skype通道获取令牌,但我相信您可以编写UCMA代码来捕获与配置为您的机器人的Skype用户的通信,然后将对话传输至机器人Directline,充分了解用户传送给机器人的知识。然后您将捕获结果并使用UCMA代码回复用户。

+0

我有内部系统需要用户身份(可以通过用户身份验证来实现),以便代表用户执行任务。你是什​​么意思的用户充分kowledge?通信信息会帮助我通过图形API获取用户身份吗?谢谢。 –

+0

我对UCMA并不太熟悉,但是如果您可以通过UCMA获取用户令牌,那么您可以使用它获取用户的信息并通过Directline将其传输到机器人。 –

+0

我想添加一些我刚刚遇到的新信息: 当用户使用SfB与Bot进行通信时,SfB通道会发送用户的SIP URI以及消息。 Bot然后可以打电话给MS Graph以获取用户的信息,并做任何其他需要处理的信息。 –

相关问题