在Exoplayer中使用Azure Active Directory JWT访问令牌从Azure Media Service获取Widevine许可

时间:2018-06-12 13:15:33

标签: azure xamarin azure-active-directory exoplayer azure-media-services

我知道要从Azure媒体服务(AMS)获得Widevine许可,我需要一个访问令牌(JWT)。我从Azure Active Directory获取该令牌。现在我不知道如何将访问令牌放入Exoplayer所做的Widevine挑战中。

我的解决方案似乎无效:

我使用Xamarin,所以C#。

我使用ADAL获取令牌。

我使用StreamingDrmSessionManager.NewWidevineInstance获取Widevine许可证并使用此

optionalParams = new Dictionary<string, string> { { "AccessToken", accessToken } }

表示 optionalKeyRequestParameters 参数。

我做错了什么。

由于

1 个答案:

答案 0 :(得分:0)

鲍勃, 此时,

  • 我们不确定上面的Xamarin API或您使用它的方式是否支持将JWT令牌传递给AMS中的许可证递送服务;
  • 我们也不确定Azure AD中的JWT令牌是否正确:它必须与您在AMS中配置内容保护时指定的方式完全匹配。

那么我们为什么不一步一步走:让我们首先确保AMS中的Azure AD令牌和内容保护配置匹配,暂时从图片中删除Xamarin播放器。

使用此测试播放器:使用受保护的流和AAD令牌https://openidconnectweb.azurewebsites.net/AMTestPlayer进行测试 如果你想检查/匹配发行人,观众和(希望你没有在AAD和AMS之间添加声明),你可以使用这个JWT工具:https://openidconnectweb.azurewebsites.net/DRMTool/Jwt(从AAD粘贴你的JWT和点击“Parse&amp; Verify”按钮)。

一旦我们确保您的受保护内容和您的AAD令牌运作良好,我们就可以转移到播放器。

对于播放器,我们可以暂时尝试使用查询字符串“access_token = [JWT]”来传递令牌,只是为了弄清楚API是否支持令牌传递。