【发布时间】:2016-07-08 10:59:37
【问题描述】:
我使用带有 aes 内容保护的 azure 媒体播放器。 登录我们的服务器获取令牌,但在 html 或 javascript 中设置令牌。 如果我们的用户复制令牌并粘贴到自己的 html 页面。 我的内容保护将返回密钥。 有什么方法可以限制一个用户一个令牌? 非常感谢。
【问题讨论】:
标签: azure aes azure-media-services
我使用带有 aes 内容保护的 azure 媒体播放器。 登录我们的服务器获取令牌,但在 html 或 javascript 中设置令牌。 如果我们的用户复制令牌并粘贴到自己的 html 页面。 我的内容保护将返回密钥。 有什么方法可以限制一个用户一个令牌? 非常感谢。
【问题讨论】:
标签: azure aes azure-media-services
您可以查看http://gtrifonov.com/2015/01/24/mvc-owin-azure-media-services-ad-integration/,了解如何根据 jwt 令牌用户组声明限制视频播放。从技术上讲,您可以通过检查令牌中的任何声明来创建限制。例如用户电子邮件或 ID。但是您需要使用 sdks 为视频配置这些限制。
例如,下面的代码将创建限制,只有令牌包含声明“出租”的用户才能获得密钥。
TokenRestrictionTemplate template = new TokenRestrictionTemplate(TokenType.JWT);
template.Audience = _sampleAudience;
template.Issuer = _sampleIssuer;
template.RequiredClaims.Add(new TokenClaim("Rental", "true"));
try
{
TokenRestrictionTemplateSerializer.Serialize(template);
}
如果您使用 Azure AD,您可以在 https://azure.microsoft.com/en-us/documentation/articles/active-directory-token-and-claims/ 找到支持的声明列表。 例如,您可以使用声明“unique_name”来检查。
实际上,您可能会使用安全组声明,因为与向单个用户名授予权限相比,它易于管理。
没有什么能阻止经过身份验证的用户复制令牌并缓解这种情况,您可以执行以下操作:
【讨论】:
您可以将到期时间设置为少于 5 分钟 - 这样令牌会在短时间内到期,足以让用户检索密钥。因此,当用户将令牌传递给另一个时,令牌将不再有用(可能已过期)。如前所述,您提到的是一次性令牌,我们今天不支持。
【讨论】: