azure-functions - AzureAdTokenCredentials 对 ActiveDirectory 3.13.1.846 的依赖
问题描述
摘要: 尝试创建 AzureAdTokenCredentials 对象会导致 FileNotFoundException 尝试加载 Microsoft.IdentityModel.Clients.ActiveDirectory,版本 = 3.13.1.846。我安装了 Version=3.19.4。
详细信息: 我告诉自己,我永远不会成为问这种基本问题的人,但我们开始吧。因此,我最近编写了一个将与媒体服务交互的 Azure 函数。第一步是创建 CloudMediaContext。似乎直截了当。我写了以下代码:
private CloudMediaContext CreateCloudMediaContext()
{
var key = new AzureAdClientSymmetricKey(_amsClientId, _amsClientSecret);
var credentials = new AzureAdTokenCredentials(_amsAadTenantDomain, key, AzureEnvironments.AzureCloudEnvironment);
var provider = new AzureAdTokenProvider(credentials);
return new CloudMediaContext(new Uri(_amsRestApiEndpoint), provider);
}
这在尝试使用可怕的 FileNotFoundException 创建一个新的 AzureAdTokenCredentials 对象时迅速爆发,该对象指定了一个相当旧的 ActiveDirectory 程序集版本,我已经在我的应用程序中用于各种其他功能。
我的问题最终是,我真的需要安装近 2 年前 SxS 的最新版本的程序集来解决这个问题还是有更好的解决方案?
解决方案
如果您在此处查看使用 Azure 媒体服务 API 的其他示例函数,https://github.com/Azure-Samples/media-services-dotnet-functions-integration/tree/master/media-functions-for- logic-app 你会看到类似的模式。用于媒体服务的 .NET SDK 版本现在有点旧了……但好消息是我们将在下周的 //BUILD 会议上发布媒体服务 API v3 的预览版和新的 SDK。
新的 SDK 将只有以下两个依赖项:
- Microsoft.Azure.Management.Media-版本 1.0.0
- Microsoft.IdentityModel.Clients.ActiveDirectory -版本 3.19.4
如果您愿意尝试并迁移到更新的 API,可以等到下周初。
你到底在做什么?编码、流媒体还是直播?
推荐阅读
- javascript - 在创建动态表单字段时防止 InvalidArgumentException
- angular - 如何在 Angular 中加载和自定义共享组件
- typescript - 是否可以有 typescript 构建类型并且只输入到特定目录?
- laravel - 使用 Vue Js 和 Bootstrap 展开折叠图标
- java - Spring JPA 不检测已删除的表
- javascript - 自举模态故障
- wordpress - 文件上传进度未显示在 WordPress 媒体库(带 CPanel 的 VPS)上
- ios - 自动调整多行标签的自定义文本字段的大小
- python - Pandas - 组织和计算唯一数据
- python - 为什么这个容器不能正常运行?