增加Azure Media Services SWT令牌到期时间

时间:2015-10-12 09:00:25

标签: azure model-view-controller video-streaming azure-media-services

默认情况下,Azure媒体服务SWT令牌在几分钟后过期。这意味着,视频无法再次使用该令牌进行加密。这很棒&建议的功能是为每次播放生成键令牌,因为键/令牌是纯文本。但我想从代码中控制这个到期时间。 出于测试目的,我使用Mingfeiy's blog上建议的Azure Media Explorer工具。

以下是此工具的屏幕截图,它设置了结束日期时间,效果很好。

enter image description here

你能建议如何从代码中实现这个目的吗?以下是我将用于设置发行人和受众信息的代码。我想也会有一些方法来设置它。

    static private string GenerateTokenRequirements()
    {
        Uri _issuer = new Uri(ConfigurationManager.AppSettings["Issuer"]);
        Uri _audience = new Uri(ConfigurationManager.AppSettings["Audience"]);

        TokenRestrictionTemplate template = new TokenRestrictionTemplate(TokenType.SWT);

        template.PrimaryVerificationKey = new SymmetricVerificationKey();
        template.AlternateVerificationKeys.Add(new SymmetricVerificationKey());
        template.Audience = _issuer.ToString();
        template.Issuer = _audience.ToString();

        // Maybe here            

        template.RequiredClaims.Add(TokenClaim.ContentKeyIdentifierClaim);

        return TokenRestrictionTemplateSerializer.Serialize(template);
    }

提前致谢。

1 个答案:

答案 0 :(得分:1)

您可以使用以下方法生成具有到期日期的令牌:  string testToken = TokenRestrictionTemplateSerializer.GenerateTestToken(tokenTemplate,null,rawkey,DateTime.UtcNow.AddDays(365));

此方法的签名位于以下源代码中:https://github.com/Azure/azure-sdk-for-media-services/blob/07a536cb1b3f5fb19ac0f25c12c7a360794db7d3/src/net/Client/ContentKeyAuthorization/Templates/TokenRestrictionTemplateSerializer.cs

DateTime.UtcNow.AddDays(365)是expiryOn datetime。