播放鉴权配置

最后更新时间:2021-03-12 11:23:52

    操作场景

    云直播内容默认为公开资源,您在获取播放地址后即可访问直播内容。若需要对直播内容进行访问控制,可通过鉴权设置来实现直播资源的内容保护。

    配置原理

    URL 鉴权的原理是云直播客户通过鉴权配置生成加密 URL,并将此 URL 提供给用户,用户采用加密 URL 对云直播加速节点发起请求后,直播加速节点对其权限信息进行校验以判断请求是否合法。若请求合法,将返回正常内容,若请求非法将被拒绝,以此实现对直播资源的保护。

    前提条件

    操作步骤

    1. 选择【域名管理】,单击需做鉴权配置的播放域名或【管理】进入域名管理。
    2. 在【访问控制】>【鉴权配置】,单击【编辑】进入鉴权配置页。
    3. 在鉴权配置页进行如下设置:
      1. 单击开启播放鉴权。
      2. 填写自定义鉴权主 Key,例如:testlive
      3. 选填自定义鉴权备 Key,例如:testing
      4. 填写签名有效时间,例如:20
      5. 单击【保存】,即可保存配置。

    说明:

    • 播放域名的播放鉴权默认为关闭状态。
    • 鉴权 Key:用户自定义设置,支持大小写字母和数字。Key 包含主 Key 和备 Key,主 Key 必填、备 Key 选填,主备 Key 可实现当 Key 泄露时平滑更换 Key 不影响业务。
    • 有效时间:签名的有效时间,时间戳为十六进制 UNIX 时间。

    注意:

    开启播放域名的鉴权设置后,原有播放 URL 将无法直接访问,会返回403。开启此功能,请确保您的业务兼容以下鉴权算法,以免影响您的直播业务。

    配置案例

    若原始播放 URL 为:

    http://www.test.com/live/test01.flv

    对此域名配置鉴权时,参数如下:

    Key:ngoeiq03
    备 Key:无
    有效时间:12495

    注意:

    • 若您开启了域名鉴权,实际过期时间等于 txTime + 鉴权有效时间。
    • 控制台为了方便使用,设置的时间即为实际过期时间。若您开启了域名鉴权,计算播放地址时会按照公式倒推出 txTime。

    时间戳计算:

    设置时间:2018.12.01 08:30:00
    十进制 UNIX 时间戳:1543624200
    十六进制 UNIX 时间戳:5C01D608(云直播鉴权配置使用十六进制 UNIX 时间戳,十六进制不区分字母大小写)

    鉴权签名计算:

    txSecret = MD5(key+StreamName+txTime) 
    StreamName 为流名称,与 StreamID 概念等同
    txTime 为时间戳
    key 为鉴权密钥
    txSecret = MD5(ngoeiq03+test01+5C01D608)
    txSecret = MD5(ngoeiq03test015C01D608)
    txSecret = ce797dc6238156d548ef945e6ad1ea20

    新生成的播放 URL 为:

    http://www.test.com/live/test01.flv?txSecret=6cfcc16fa1eb1200c78b8296468b9180s&txTime=5C01D608

    此 URL 的有效时间时间截止到:2018.12.01 08:30:00 + 12495秒,即北京时间:2018.12.01 11:58:15。
    若鉴权未通过或 URL 已失效,则云直播将返回403。