默认情况下,Azure媒体服务SWT令牌在几分钟后过期。这意味着,视频无法再次使用该令牌进行加密。这很棒&建议的功能是为每次播放生成键令牌,因为键/令牌是纯文本。但我想从代码中控制这个到期时间。 出于测试目的,我使用Mingfeiy's blog上建议的Azure Media Explorer工具。
以下是此工具的屏幕截图,它设置了结束日期时间,效果很好。
你能建议如何从代码中实现这个目的吗?以下是我将用于设置发行人和受众信息的代码。我想也会有一些方法来设置它。
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);
}
提前致谢。
答案 0 :(得分:1)
您可以使用以下方法生成具有到期日期的令牌: string testToken = TokenRestrictionTemplateSerializer.GenerateTestToken(tokenTemplate,null,rawkey,DateTime.UtcNow.AddDays(365));
DateTime.UtcNow.AddDays(365)是expiryOn datetime。