NMS v3系列教程之 六、直播鉴权

NMS内建支持简单且非常安全的,基于密码和过期时间的鉴权模式。
与阿里云的直播鉴权模式比较类似。

开启方法

打开config.ini

鉴权密码

播放鉴权开关

0-关闭,1-打开

推流鉴权开关

0-关闭,1-打开

使用方法

鉴权原理就是将流地址中的信息+过期时间+密码的字符串,再md5后作为最后参数发给NMS进行判断。
比如一个原始流地址是
rtmp://example.com/live/stream

  1. 它的流信息就是
    /live/stream
  2. 我们希望生成的url在30秒后过期,那么取出当前的unix时间(单位秒)+ 30
    1575453962
  3. 密码是上面设置的
    authkey@2019
  4. 组合在一起的字符串是
    /live/stream-1575453962-authkey@2019各参数间使用 – 符号连接
  5. 对这个字符串进行md5
    22d7d03aa3fe7d880f29bed08ccb25f0
  6. 最终url是
    rtmp://example.com/live/stream?sign=1575453962-22d7d03aa3fe7d880f29bed08ccb25f0sign字段名是nms约定,不能更改

安全性

md5后的验证信息包含了流信息,过期时间,密码3个要素,
就算链接地址被截取或公开,也无法修改流地址,过期时间。
url过期后也无法继续使用。

安全提示

url的生成,最好放在web服务端生成后返回给客户端,客户端直接用于连接。
避免在客户端保存密码并生成,导致程序反编译后密码泄露
过期的时间越短安全度越高,但也需要考虑网络连接时间,操作速度,客户端服务端时间差等因素。
url过期后无法继续试用,断线后重连需要重新生成。

原创文章,转载请注明: 转载自贝壳博客

本文链接地址: NMS v3系列教程之 六、直播鉴权

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据