我使用带有内容保护的azure媒体播放器。 登录我们的服务器获取令牌,但在html或javascript中设置令牌。 如果我们的用户复制令牌并粘贴到自己的html页面。 我的内容保护将返回密钥。 有没有办法限制一个令牌一个用户? 非常感谢。
答案 0 :(得分:1)
您可以查看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”进行检查。
实际上,您可能会使用安全组声明,因为与授予各个用户名的权限相比,它易于管理。
没有任何东西可以阻止经过身份验证的用户复制令牌并减轻这种情况,您可以执行以下操作:
答案 1 :(得分:0)
您可以将到期时间设置为少于5分钟 - 因此令牌会在很短的时间内到期,足以让用户检索密钥。因此,当用户将令牌传递给另一个令牌时,该令牌将不再有用(可能已过期)。如上所述,你提到的是一次性令牌,我们今天不支持。