首页 > 解决方案 > 如何在 Bot Framework 4.0 中使用 context.GetUserTokenAsync?(或一些中间件身份验证)

问题描述

我们正在将我们的 Bot 转换为 Bot Framework 4.0,但发现了一个问题......为了获取 Bot 的当前用户,我们调用 context.GetUserTokenAsyn 以从登录中获取令牌,这是通过 Azure 完成的广告。令牌包含我们需要从外部系统检索数据的数据。现在...... Bot Framework 4.0 有一个 ITurnContext,它有一个 Activity.Context,但不幸的是它是 DialogContext 类型,而不是具有 GetUserTokenAsync 的 IDialogContext。

有谁知道如何在 4.0 中使用 GetUserTokenAsync 或者是否有一些中间件可以用于身份验证(检索身份验证令牌)?

//汤米

标签: botframework

解决方案


此函数存在于 v4 中,并且以类似的方式运行,但需要一个额外的步骤。调用 GetUserTokenAsync 将如下所示:

var client = CreateOAuthApiClient(context);
var token = client.GetUserTokenAsync("<userid>", "<connectionname>", "<magicCode>");  

在此之后,令牌将正常运行。 是代码中的一个示例,尽管它在 v4 SDK 本身中。


推荐阅读