LiveGBS-GB28181流媒体服务如何实现跨域鉴权
LiveGBS 实现了 GB28181 协议,能够接入各个厂家的监控设备和监控平台,实现统一管理,和 web 端无插件播放,同时支持手机、微信播放。
LiveGBS 提供简单的登录鉴权,客户端通过用户名密码登录成功后,服务端返回认证token的cookie, 后续的接口访问, 服务端从cookie读取token进行校验. 但是, 在与客户系统集成时, 往往需要在客户系统完成鉴权过程. 这时就涉及到跨域的问题. 那么,这一套鉴权过程如何应用到跨域场景中呢?
服务端处理
服务端需要做以下处理:
登录成功, 服务端主动写 token 到 cookie
按照之前的接口设计, 登录成功, 服务端在 HTTP Response Body 中返回 token,由客户端自己负责将 token 写入 cookie. 在跨域场景中, 这样就行不通了,由于浏览器的限制, 客户端无法将 token 写到非子域名 cookie. 改为服务端主动写 token 到 cookie 就没有这个问题了. 服务端在 HTTP Response Header 中添加
Set-Cookie
字段, 写入token=xxx
服务端统一做充许跨域访问设置
服务端配置充许跨域并且携带cookie, 需要在 HTTP Response Header 中添加以下两项:
Access-Control-Allow-Credentials: true Access-Control-Allow-Origin: $http_origin
Access-Control-Allow-Origin 不可以配置成
*
, 而是当前HTTT前求客户端的 Origin注销登录时, 服务端主动将 token 从 cookie 清理
Set-Cookie: token=; expires=Thu, 01 Jan 1970 00:00:00 GMT;
客户端处理
客户端不必显示保存 token 到 cookie. 所有和 LiveGBS 的交互接口需要添加跨域配置, xhrFields: { withCredentials: true }
和 crossDomain: true
例如跨域登录接口调用示例如下:
$.ajax({type: "GET",url: "http://other-domain/api/v1/login",xhrFields: { withCredentials: true},crossDomain: true, data: {username: 'admin',password: '21232f297a57a5a743894a0e4a801fc3'//admin},success: function(data) {console.log(data);}
});
转载于:https://www.cnblogs.com/kumukim/p/11006649.html
LiveGBS-GB28181流媒体服务如何实现跨域鉴权相关推荐
- LiveNVR传统IP摄像机接入-网页直播实现跨域鉴权
LiveNVR如何实现跨域鉴权 LiveNVR提供简单的登录鉴权,客户端通过用户名密码登录成功后,服务端返回认证token的cookie, 后续的接口访问, 服务端从cookie读取token进行校验 ...
- Golang jwt跨域鉴权
Golang jwt跨域鉴权 JWT全称JSON Web Token是一种跨域认证解决方案,属于一个开放的标准,它规定了一种Token实现方式,目前多用于前后端分离项目和OAuth2.0 安装jwt ...
- Go语言学习笔记——jwt跨域鉴权
文章目录 Golang jwt跨域鉴权 jwt介绍 JWT 到底是什么? JWT 和 OAuth 选择签名方法 签名方法和密钥类型 安装jwt 简单使用 生成JWT 解析jwt 测试:生成token并 ...
- LiveGBS国标流媒体GB28181微信无插件直播如何实现跨域鉴权
LiveGBS 实现了 GB28181 协议,能够接入各个厂家的监控设备和监控平台,实现统一管理,和 web 端无插件播放,同时支持手机.微信播放. LiveGBS 提供简单的登录鉴权,客户端通过用户 ...
- LiveGBS GB28181流媒体服务
准备工作 使用说明网址:LiveGBS GB28181 国标方案安装使用说明 | 青柿视频流媒体服务解决方案 (liveqing.com) 下载网址:LiveGBS GB28181流媒体服务 | 青柿 ...
- LiveGBS GB28181流媒体服务-产品介绍及相关资源
产品介绍 LiveGBS 国标(GB28181)流媒体服务软件 支持各个版本的GB28181协议: 提供用户管理及Web可视化页面管理: 提供设备状态管理,可实时查看设备是否掉线等信息: 实时流媒体处 ...
- GB28181流媒体服务LiveGBS实现web浏览器直接与摄像头语音对讲的配置介绍
GB28181流媒体服务 国标流媒体服务,支持本地|内网部署,下载试用入口 国标设备语音对讲 支持语音对讲的设备,可以直接接入LiveGBS,这样就可以从控制中心和您关注的设备间,进行语音对讲 第一步 ...
- GB28181流媒体服务LiveGBS实现web浏览器直接与摄像头语音对讲的配置简介
GB28181流媒体服务 国标流媒体服务,支持本地|内网部署,下载试用入口 国标设备语音对讲 支持语音对讲的设备,可以直接接入LiveGBS,这样就可以从控制中心和您关注的设备间,进行语音对讲 第一步 ...
- 海康、大华等网络摄像头RTSP_Onvif网页无插件直播流媒体服务器EasyNVR鉴权出现跨域问题的解决方法
背景分析 随着平安城市.智慧城市.雪亮工程.智能交通等各项建设的持续开展,安防逐渐得到普及,面对如此广阔的市场,对安防企业来说不仅仅是机遇更多的是挑战.现今大多数摄像头一直没能摆脱人工监控的传统监控方 ...
最新文章
- 分布式概念-去中心化副本控制实现
- linux命令(8)wc
- Halcon中visualize_object_model_3d算子详解
- php 接口安全解决方案,php接口数据安全解决方案(一)
- 白嫖GPU!Kaggle大神带你打比赛!
- Docker简易搭建 ElasticSearch 集群
- 1074. Reversing Linked List (25)-PAT甲级真题
- 如何从C快速过渡到C++
- js foreach用法_36 个JS 面试题为你助力金九银十(面试必读)
- Vue 学习随笔四 - 路由介绍
- 算法入门电子资料《算法图解》+《我的第一本算法书》
- 【Lintcode】541. Zigzag Iterator II
- android手机传感器,安卓手机传感器
- 计算机的空间复用技术应用,MIMO技术的介绍
- 记一次bandicom录制的mp4文件损坏修复
- 非root用户免密ssh登录到linux---防破解!!
- linux监控工具等--zz
- 【精读AI论文】dropout----(Improving neural networks by preventing co-adaptation of feature detectors)
- [Hexo]Hexo+github搭建静态博客
- 安卓讲课笔记3.4 网格布局
热门文章
- eclipse 向HDFS中创建文件夹报错 permission denied
- net.sf.json.JSONObject 和org.json.JSONObject 的差别
- 高性能ASP.NET系统架构设计
- CCS中如何新建Platform以及调用
- python threading多线程计算
- CMB/宇宙学中相关仪器设备和术语
- AutoMl 的pytorch类似代码
- React 教程:快速上手指南
- python项目中requirements的巧用(一键导入所有安装包)
- 关于path.join,path.resolve的详细介绍