上一篇我们讲了TSINGSEE青犀视频为EasyDSS平台开发的EasyNVS管理平台是如何实现EasyDSS的接入。本文我们分享下EasyNVS在实现代理时调用EasyDSS接口,如何携带token。
通过EasyNVS去管理EasyDSS,首先是通过代理的方式请求EasyDSS的接口,可是一旦EasyDSS中开启了接口鉴权,每一次请求都需要验证是否登陆。那么此时就需要将token信息携带。
既然需要登录,那么就在代码中请求登录的接口,然后将token信息写入代理请求中,这样就可以实现权限的验证了。
具体实现方式就是在代码中通过登录请求返回的数据,获取cookie的数据信息,遍历这个数据信息,将这个数据值塞入到代理的请求中。参考代码如下:
代码语言:javascript复制if frpc.Token == "" || time.Since(frpc.TokenTime).Seconds() > float64(conf2.GetConf().SysTokenTimeout) {
if err := frpc.RefreshToken(); err != nil {
log.Println(err)
}
}
httpPort := utils.Conf().Section("http").Key("http_port").MustInt(10080)
director := func(req *http.Request) {
req.URL.Scheme = "http"
req.URL.Host = fmt.Sprintf("127.0.0.1:%d", httpPort)
req.URL.Path = "/live/list"
req.Header.Del("Cookie")
req.AddCookie(&http.Cookie{
Name: consts.SessionSID,
Value: frpc.Token,
})
}
目前EasyDSS视频平台已经支持H.265编码的播放,更好适应了现代视频播放和存储的需要。此外,EasyDSS还支持定制其他功能或者版本,如果有需求,欢迎联系我们了解,EasyDSS提供测试版本,欢迎大家下载测试。