botframework - 如何在 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 或者是否有一些中间件可以用于身份验证(检索身份验证令牌)?
//汤米
解决方案
此函数存在于 v4 中,并且以类似的方式运行,但需要一个额外的步骤。调用 GetUserTokenAsync 将如下所示:
var client = CreateOAuthApiClient(context);
var token = client.GetUserTokenAsync("<userid>", "<connectionname>", "<magicCode>");
在此之后,令牌将正常运行。 这是代码中的一个示例,尽管它在 v4 SDK 本身中。
推荐阅读
- android - Android 库中的 Firebase 依赖项:无法在空对象上调用方法 get()
- mysql - Mysql查询使用多对多关系连接两个表
- typescript - 从打字稿类型定义文件中导出枚举
- mysql - 从 MySQL Workbench 更新 BLOB
- node.js - Node.js/electron:如何识别进程是windows进程还是其他应用进程
- c++ - 在没有的系统上查找 SHRT_MAX
或者 - sql - 查询一张表,以便一列中的数据可以显示为不同的字段
- angular - 将可选查询字符串参数传递给 http 服务调用
- ios - iOS - 为什么我的下一个视图回调我以前的视图?
- vb.net - VB.net / VS2017 - 在自定义用户控件内的面板上画线