我知道要从Azure媒体服务(AMS)获得Widevine许可,我需要一个访问令牌(JWT) . 我从Azure Active Directory获取该令牌 . 现在我不知道如何将访问令牌放入Exoplayer所做的Widevine挑战中 .
我的解决方案似乎不起作用:
我使用Xamarin,所以C# .
我使用ADAL来获取令牌 .
我使用StreamingDrmSessionManager.NewWidevineInstance来获取Widevine许可证,我使用这个
optionalParams = new Dictionary<string, string> { { "AccessToken", accessToken } }
对于optionalKeyRequestParameters参数 .
我究竟做错了什么 .
谢谢
1 回答
鲍勃,此时,
我们不确定上面的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是否支持令牌传递 .