开源Golang rtmp服务lalserver支持多种鉴权防盗链方式
lalserver是纯Golang开发的流媒体服务器。支持RTMP, RTSP(RTP/RTCP), HLS, HTTP[S]/WebSocket[S]-FLV/TS协议。
目前已支持多种鉴权防盗链的方式。
lal github地址: https://github.com/q191201771/lal
▌ 方式一. 固定值的鉴权参数
首先,修改配置文件,如下:
"conf_version": "v0.2.6",
...
"simple_auth": {"key": "q191201771", // 私有key,计算鉴权参数时使用"dangerous_lal_secret": "pengrl", // 后门鉴权参数,所有的流可通过该参数值鉴权"pub_rtmp_enable": true, // rtmp推流是否开启鉴权,true为开启鉴权,false为不开启鉴权"sub_rtmp_enable": true, // rtmp拉流是否开启鉴权"sub_httpflv_enable": true, // httpflv拉流是否开启鉴权"sub_httpts_enable": true, // httpts拉流是否开启鉴权"pub_rtsp_enable": true, // rtsp推流是否开启鉴权"sub_rtsp_enable": true, // rtsp拉流是否开启鉴权"hls_m3u8_enable": true // m3u8拉流是否开启鉴权
}
...
方式一和方式二的配置都在配置项simple_auth
下管理:
pub
和sub
开头的字段决定了各协议是否开启鉴权dangerous_lal_secret
为鉴权参数的值key
在下面方式二中使用,这里暂时不关心
举例,没开启鉴权功能时,推rtmp流的url是rtmp://127.0.0.1:8080/live/test110
开启后,业务方推流url是变为
rtmp://127.0.0.1:8080/live/test110?lal_secret=pengrl
其中lal_secret
就是鉴权签名参数,名字是固定的,值也是固定的,对应配置文件中dangerous_lal_secret
的值。
该鉴权方式,所有流都使用同一个鉴权参数值。
▌ 方式二. MD5签名的鉴权参数
首先,依然是修改配置文件(参见上面方式一中的描述):
pub
和sub
等开头的字段决定了各协议是否开启鉴权key
用来做MD5签名
举例,没开启鉴权功能时,推rtmp流的url是rtmp://127.0.0.1:8080/live/test110
开启后,业务方推流url是变为
rtmp://127.0.0.1:8080/live/test110?lal_secret=700997e1595a06c9ffa60ebef79105b0
其中lal_secret
就是鉴权签名参数,名字是固定的,值的计算公式是
md5(配置文件中的simple_auth::key + 流名称)
上面的例子对应的计算方式是
md5("q191201771test110")
Go、c++代码以及命令行、网页工具如何计算MD5见:使用工具或代码生成MD5 - 仁亮笔记
该鉴权模式下,不同的流名称对应不同的鉴权参数。
注意,方式一和方式二可同时使用。lal_secret
的值满足任意一种计算方式即可鉴权通过。
▌ 方式三. 与业务方服务交互,自由定制鉴权方式
大体的逻辑是,lalserver在接收到推流或者拉流请求时,使用http回调的方式通知业务方的服务。
业务方的服务根据自身的逻辑,判定这个推流或者拉流请求是否合法。
如果不合法,使用lalserver提供的http api接口将该请求踢掉。
相关文档:
- lalserver HTTP Notify事件回调
- lalserver HTTP API接口
第三方文档
- https://help.aliyun.com/document_detail/199349.html
- https://cloud.tencent.com/document/product/267/32735
- https://www.wangsu.com/document/99/171?rsr=ws
开源Golang rtmp服务lalserver支持多种鉴权防盗链方式相关推荐
- 微服务网关限流鉴权-wei-fu-wu-wang-guan-xian-liu--jian-quan
title: 微服务网关限流&鉴权 date: 2022-01-06 14:40:45.047 updated: 2022-01-06 14:40:45.047 url: https://ww ...
- API 鉴权插件上线!支持用户自定义鉴权插件
0.4.0 版本更新主要围绕这几个方面: 分组独立的 UI,支持分组 API 鉴权 API 测试支持继承 API 鉴权 支持用户自定义鉴权插件,仅需部分配置即可发布鉴权插件 开始介绍功能之前,我想先和 ...
- 4.从零开始搭建基于SpringCloud的京东整站_用户微服务_后台登录鉴权
本次目标 实现后台登录鉴权功能. 接口文档 1.后台管理员登录 页面访问地址:http://admin/pages/main/login.html 2.接口描述 js请求地址 http://{ip:p ...
- 登录鉴权的各种方式及区别
文章目录 登录鉴权 概念 认证 实现授权的方式 凭证 Cookie 如何工作 作用 问题 cookie标准限制 属性 expires|max-age domain&path secure Ht ...
- 推荐一个开源数据同步神器,支持多种数据源和预警功能!
DBSyncer是一款开源的数据同步中间件,提供MySQL.Oracle.SqlServer.PostgreSQL.Elasticsearch(ES).Kafka.File.SQL等同步场景. 支持上 ...
- Spring Security OAuth2.0_实现分布式认证授权_微服务解析令牌并鉴权_Spring Security OAuth2.0认证授权---springcloud工作笔记154
技术交流QQ群[JAVA,C++,Python,.NET,BigData,AI]:170933152 然后我们接着去看,我们需要其他的微服务就解析令牌,并且进行根据权限判断能不能来访问我们的某个方法 ...
- 什么是鉴权?一篇文章带你了解postman的多种方式
目录 一.什么是鉴权? 二.postman鉴权方式 一.什么是鉴权? 鉴权也就是身份认证,就是验证您是否有权限从服务器访问或操作相关数据.发送请求时,通常必须包含相应的检验参数以确保请求具有访问权限并 ...
- 什么是鉴权?这些postman鉴权方式你又知道多少?
目录 一.什么是鉴权? 二.postman鉴权方式 一.什么是鉴权? 鉴权也就是身份认证,就是验证您是否有权限从服务器访问或操作相关数据.发送请求时,通常必须包含相应的检验参数以确保请求具有访问权限 ...
- 什么是鉴权?postman的有几种鉴权方式?
目录 一.什么是鉴权? 二.postman鉴权方式 一.什么是鉴权? 鉴权也就是身份认证,就是验证您是否有权限从服务器访问或操作相关数据.发送请求时,通常必须包含相应的检验参数以确保请求具有访问权限 ...
- k8s-身份认证与权限 认证鉴权准入控制- 各种方式带例子-推荐-2023
# 认证 鉴权 准入控制 ACL 了解 原文:k8s认证.授权与准入控制 - 哪都通临时工 - 博客园 (cnblogs.com) 认证(Authentication):API Server 可以支持 ...
最新文章
- 想让关系更好就不要怕麻烦
- netbeans 添加gif图片_怎么制作动态图片?手机如何制作清晰gif动图?
- RubyMotion 指南:API 驱动开发示例
- 总结一下内核DEBUG中的dump_stack, BUG, BUG_ON以及panic
- [RDMA] 高性能异步的可靠消息传递和RPC :Accelio
- win phone 获取并且处理回车键事件
- 程序媛计划——python初级class5~13
- python tkinter选择路径控件_如何使用tkinter在Python中选择目录并存储位置
- WPF 自定义 MessageBox (相对完善版 v1.0.0.6)
- CODEVS-2050 派对灯
- 一步一步教你使用AgileEAS.NET基础类库进行应用开发-基础篇-演示ORM中的查询
- stacking模型融合_算法实践七:模型融合
- poj 2870 Light Up(dfs+剪枝,写的稀烂)
- NB-IOT平台之电信平台FOTA 升级记录
- 推荐一款录屏软件——EV录屏
- 解决wget下载过慢的问题
- 找不到网络其他计算机名,电脑找不到无线网名称怎么办?找不到无线网名称解决办法...
- 基于量化交易回测的金融股票案例基础知识
- 使用AccessibilityService(无障碍服务)自动完成手机设置功能
- 经典布局(flex和传统两种实现)—左中右三栏式
热门文章
- Java常用对象总结
- oracle ovm配置使用
- 025_GPIO的读
- 如何用个人电脑打造量子模拟器
- 强强联手|任子行公司董事长景晓军一行到访云畅科技交流
- 远程控制计算机无法粘贴,Windwos服务器远程桌面不能复制粘贴的解决方法
- win10系统进不了服务器失败,快速解决Win10安装失败重启进不了系统的方法
- CLIENT_PLUGIN_AUTH is required 解决办法
- c语言输入一个整数打印出它是奇数还是偶数,1. 编写程序,输入一个整数,打印出它是奇数还是偶数....
- 四旋翼无人机PID调节(无数次实验总结经验和理论支持)