增加 Azure 媒体服务 SWT 令牌到期时间
Increase Azure Media Services SWT Token expiry time
默认情况下,Azure 媒体服务 SWT 令牌会在几分钟后过期。这意味着,无法再次使用该令牌对视频进行加密。这是一个很棒的推荐功能,可以为每次播放生成密钥令牌,因为 keys/token 是纯文本。但我想从代码中控制这个到期时间。
出于测试目的,我使用 Mingfeiy's blog.
上建议的 Azure 媒体资源管理器工具
这是设置结束日期时间的工具的屏幕截图,效果很好。
你能建议如何从代码中实现这一点吗?这是我将用来设置 Issuer 和 Audience 信息的代码。我想也会有一些方法来设置它。
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);
}
提前致谢。
您可以使用以下方法生成带有有效期的令牌:
字符串 testToken = TokenRestrictionTemplateSerializer.GenerateTestToken(tokenTemplate, null, rawkey, DateTime.UtcNow.AddDays(365));
DateTime.UtcNow.AddDays(365) 是 expiryOn 日期时间。
默认情况下,Azure 媒体服务 SWT 令牌会在几分钟后过期。这意味着,无法再次使用该令牌对视频进行加密。这是一个很棒的推荐功能,可以为每次播放生成密钥令牌,因为 keys/token 是纯文本。但我想从代码中控制这个到期时间。 出于测试目的,我使用 Mingfeiy's blog.
上建议的 Azure 媒体资源管理器工具这是设置结束日期时间的工具的屏幕截图,效果很好。
你能建议如何从代码中实现这一点吗?这是我将用来设置 Issuer 和 Audience 信息的代码。我想也会有一些方法来设置它。
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);
}
提前致谢。
您可以使用以下方法生成带有有效期的令牌: 字符串 testToken = TokenRestrictionTemplateSerializer.GenerateTestToken(tokenTemplate, null, rawkey, DateTime.UtcNow.AddDays(365));
DateTime.UtcNow.AddDays(365) 是 expiryOn 日期时间。