在通过Azure Media Services获得VOD正常工作的过程中,我显然缺少了一些东西,希望有人能看到我所缺少的东西。
视频资产-使用PlayReady和Widevine和MPEG-DASH + FairPlay和HLS加密
在Azure Media Services中,我使用主密钥创建了密钥/许可证授权策略。
这是怎么回事:
使用Azure Media Services Explorer(AMSE)-我为视频资产创建测试令牌。
当我将该令牌输入jwt.io时,可以看到标题和有效负载信息,如预期的那样。
当我输入主密钥以验证签名时,它显示签名已验证。
如果我将该密钥硬编码到代码中的媒体播放器脚本中,则会播放视频。
到目前为止很好。
现在,我使用自己的脚本为资产创建JWT。
我将该令牌导出到控制台并复制该令牌。
当我将该令牌输入jwt.io时,我会按预期看到标头和有效负载信息,并且与测试令牌完全相同。
当我输入主密钥(在Azure中的身份验证策略中输入了相同的密钥,用于验证测试令牌的密钥相同)以验证签名时,它表示签名已验证。
如果我在自己的代码中将该令牌硬编码到媒体播放器脚本中,则视频将无法播放,并出现以下错误:无法解密加密的视频源
通过开发人员工具中的“网络”标签,我可以看到它正在尝试获取正确的资产(与测试令牌相同)。
如果我在日志文件中查看,则状态消息为:令牌签名验证失败。确保签名密钥与令牌限制中指定的密钥相同
我已经在AMSE中验证了所有内容密钥都是正确的,据我所知,我创建的所有内容都与AMSE创建的测试令牌相同。
基于以上所述,任何人都可以想到我所缺少的步骤吗?在Azure中需要输入的其他内容吗?或为什么,如果测试令牌和我的令牌都使用jwt.io用Azure中的主键进行验证,为什么我的令牌没有被Azure验证。
谢谢