将令牌传递到 Azure 媒体服务 v3 密钥传送服务

Media Services logo 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 元素中。