【问题标题】:azure media service aes jwt token天蓝色媒体服务 aes jwt 令牌
【发布时间】:2016-07-08 10:59:37
【问题描述】:

我使用带有 aes 内容保护的 azure 媒体播放器。 登录我们的服务器获取令牌,但在 html 或 javascript 中设置令牌。 如果我们的用户复制令牌并粘贴到自己的 html 页面。 我的内容保护将返回密钥。 有什么方法可以限制一个用户一个令牌? 非常感谢。

【问题讨论】:

    标签: azure aes azure-media-services


    【解决方案1】:

    您可以查看http://gtrifonov.com/2015/01/24/mvc-owin-azure-media-services-ad-integration/,了解如何根据 jwt 令牌用户组声明限制视频播放。从技术上讲,您可以通过检查令牌中的任何声明来创建限制。例如用户电子邮件或 ID。但是您需要使用 sdks 为视频配置这些限制。

    一些单元测试可以在这里找到https://github.com/Azure/azure-sdk-for-media-services/blob/d543e77ec47691110575078e8df71c55c2d7128e/test/net/unit/TokenRestrictionTemplateSerializerTests.cs

    例如,下面的代码将创建限制,只有令牌包含声明“出租”的用户才能获得密钥。

    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”来检查。

    实际上,您可能会使用安全组声明,因为与向单个用户名授予权限相比,它易于管理。

    没有什么能阻止经过身份验证的用户复制令牌并缓解这种情况,您可以执行以下操作:

    • 切换到 PlayReady 和 Widewine 等 DRM 保护。更多保护和限制选项
      • 通过制作您自己的令牌而不是使用来自 Active Directory 或其他提供商的用户会话令牌来最小化令牌的生命周期。在用户实际播放视频之前,您需要有一些机制来请求令牌。需要执行一次内容密钥检索以解密播放,因此如果两个事件靠近在一起,则可以最大限度地减少重复使用相同令牌的可能性。
      • 您可以创建基于自定义逻辑检索内容密钥的代理 - 例如仅提供一次内容密钥。并将您的代理用作内容键的端点。

    【讨论】:

      【解决方案2】:

      您可以将到期时间设置为少于 5 分钟 - 这样令牌会在短时间内到期,足以让用户检索密钥。因此,当用户将令牌传递给另一个时,令牌将不再有用(可能已过期)。如前所述,您提到的是一次性令牌,我们今天不支持。

      【讨论】:

        猜你喜欢
        • 2020-08-26
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-11-25
        相关资源
        最近更新 更多