首页 文章

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

提问于
浏览
0

我知道要从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

    鲍勃,此时,

    • 我们不确定上面的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 & Verify"按钮) .

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

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

相关问题