0

我正在使用 Azure 媒体服务构建 VOD 服务。

我已将授权策略添加为“令牌”并输入了颁发者、范围和主要验证密钥。

我无法获得正确的不记名令牌来访问资产中的内容。

我尝试了以下方法:

  1. 使用 Azure PHP SDK:我创建了一个令牌模板并在 SDK 中使用了这个函数:TokenRestrictionTemplateSerializer::generateTestToken

  2. https://media.ams.ext.azure.com/api/Utils/IssueToken:创建了一个表单,将类型、颁发者、范围、primaryVerificationKey、secondaryVerificationKey 发送到此 url 并获得令牌。

使用这两种方法获得的令牌都不起作用。当我尝试播放视频时,我收到“授权失败”消息。

请帮助我如何获得正确的令牌?

谢谢。

4

1 回答 1

0

让我们分步执行:(假设您使用的是 AMS v2 API。如果不是这样,请告诉我。)

  1. 首先,在设置内容保护 (ContentKeyAuthorizationPolicyRestriction) 时,请暂时不要添加任何RequiredClaims,我们可以在基础工作后添加。在您的代码中使用以下值来配置内容保护 对于发行者,请使用:https ://sts.windows.net/51641c40-ad65-4736-88fc-2f0e10072d85/ 对于受众,请使用:29635cdc-ca9a-48b7-b242-05a31810e8c9使用对称验证密钥:C4D3E9FB-2533-4061-9892-2B8F58A1AECB (暂时不用担心这些值是什么。我们稍后会用你的替换它们。)
  2. 目前,不要使用您自己的自定义安全令牌服务 (STS)。而是使用我在此处托管的那个:https ://openidconnectweb.azurewebsites.net/DRMTool/Jwt (选择带有对称密钥的自定义 STS)。
  3. 在播放器中使用此 JWT 令牌进行播放测试。或者你也可以在这里使用我的测试播放器https://openidconnectweb.azurewebsites.net/AMTestPlayer,它允许你在 player_settings 下粘贴你的 JWT。

完成这项工作后,我们将继续使用您的 STS(安全令牌服务)。对颁发者、受众和对称密钥使用与上述相同的值。

在我们使您的 STS 工作后,我们可以继续处理您想要的案例,例如

  • 使用非对称密钥(x509 证书),
  • 添加所需的声明,
  • 使用您自己的发行人、受众、

所以现在让我们一步一步来,每一步都要精确。希望这种方法可以帮助您对多个移动部分进行隔离/故障排除:AMS 配置、AMS 许可证授权、STS、播放器/JWT、声明。

祝你好运,威廉

于 2018-06-08T20:53:23.837 回答