首页 > 解决方案 > 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-functionsazure-media-services

解决方案


如果您在此处查看使用 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,可以等到下周初。

你到底在做什么?编码、流媒体还是直播?


推荐阅读