将令牌传递到 Azure 媒体服务 v3 密钥传送服务
警告
Azure 媒体服务将于 2024 年 6 月 30 日停用。 有关详细信息,请参阅 AMS 停用指南。
客户经常会问,播放器如何将令牌传递到 Azure 媒体服务密钥传送服务来进行验证,以便播放器可以获取密钥。 媒体服务支持简单 Web 令牌 (SWT) 和 JSON Web 令牌 (JWT) 格式。 令牌身份验证可应用于任何类型的密钥,不论系统中使用的是通用加密还是高级加密标准 (AES) 信封加密。
可使用播放器通过以下方式传递令牌,具体取决于设定为目标的播放器和平台:
通过 HTTP 授权标头传递令牌
注意
根据 OAuth 2.0 规格,应使用“Bearer”前缀。 若要设置视频源,请选择“AES(JWT 令牌)”或“AES(SWT 令牌)”。 令牌是通过授权标头传递的。
通过使用“token=tokenvalue”添加一个 URL 查询参数来传递令牌。
注意
不应使用“Bearer”前缀。 由于令牌是通过 URL 发送的,因此需要保护令牌字符串。 下面的 C# 示例代码显示了如何执行此操作:
string armoredAuthToken = System.Web.HttpUtility.UrlEncode(authToken);
string uriWithTokenParameter = string.Format("{0}&token={1}", keyDeliveryServiceUri.AbsoluteUri, armoredAuthToken);
Uri keyDeliveryUrlWithTokenParameter = new Uri(uriWithTokenParameter);
通过 CustomData 字段传递令牌
此选项仅用于 PlayReady 许可证获取,通过 PlayReady 许可证获取质询的 CustomData 字段。 在此情况下,令牌必须位于如下所述的 xml 文档中:
<?xml version="1.0"?>
<CustomData xmlns="http://schemas.microsoft.com/Azure/MediaServices/KeyDelivery/PlayReadyCustomData/v1">
<Token></Token>
</CustomData>
将身份验证令牌放入 Token 元素中。
获得帮助和支持
如果有任何疑问,可以联系媒体服务,或者使用以下方法之一关注我们的更新:
- 问答
- Stack Overflow。 使用
azure-media-services
标记问题。 - @MSFTAzureMedia 或使用 @AzureSupport 请求支持。
- 通过 Azure 门户提交支持票证。