This commit is contained in:
laodaming 2023-07-26 10:03:15 +08:00
parent 0657307265
commit c378c6d8da

View File

@ -54,6 +54,7 @@ func DataTransferHandler(svcCtx *svc.ServiceContext) http.HandlerFunc {
}
defer conn.Close()
rsp := types.DataTransferRsp{}
isAuth := true
// 解析JWT token,并对空用户进行判断
claims, err := svcCtx.ParseJwtToken(r)
// 如果解析JWT token出错,则返回未授权的JSON响应并记录错误消息
@ -62,7 +63,7 @@ func DataTransferHandler(svcCtx *svc.ServiceContext) http.HandlerFunc {
rsp.D = "unAuth"
b, _ := json.Marshal(rsp)
_ = conn.WriteMessage(websocket.TextMessage, b)
return
isAuth = false
}
if claims != nil {
// 从token中获取对应的用户信息
@ -73,7 +74,7 @@ func DataTransferHandler(svcCtx *svc.ServiceContext) http.HandlerFunc {
rsp.D = "unAuth!!"
b, _ := json.Marshal(rsp)
_ = conn.WriteMessage(websocket.TextMessage, b)
return
isAuth = false
}
} else {
// 如果claims为nil,则认为用户身份为白板用户
@ -81,7 +82,15 @@ func DataTransferHandler(svcCtx *svc.ServiceContext) http.HandlerFunc {
rsp.D = "unAuth!!!"
b, _ := json.Marshal(rsp)
_ = conn.WriteMessage(websocket.TextMessage, b)
return
isAuth = false
}
//不是授权的连接(10秒后关闭)
if !isAuth {
select {
case <-time.After(time.Second * 10):
conn.Close()
return
}
}
//生成连接唯一标识
flag := uuid.New().String() + time.Now().Format("20060102150405")