This commit is contained in:
laodaming 2023-08-18 16:15:44 +08:00
parent 04982bae18
commit b8ca7360b1

View File

@ -80,9 +80,9 @@ type wsConnectItem struct {
}
func (l *DataTransferLogic) DataTransfer(w http.ResponseWriter, r *http.Request) {
token := r.Header.Get("Sec-Websocket-Protocol")
r.Header.Set("Authorization", "Bearer "+r.Header.Get("Sec-Websocket-Protocol"))
//设置Sec-Websocket-Protocol
upgrade.Subprotocols = []string{token}
upgrade.Subprotocols = []string{r.Header.Get("Sec-Websocket-Protocol")}
//升级websocket
conn, err := upgrade.Upgrade(w, r, nil)
if err != nil {
@ -95,7 +95,6 @@ func (l *DataTransferLogic) DataTransfer(w http.ResponseWriter, r *http.Request)
userInfo *auth.UserInfo
isAuth bool
)
fmt.Println("###################:", r.Header)
isAuth, userInfo = l.checkAuth(r)
if !isAuth {
time.Sleep(time.Second * 1) //兼容下火狐
@ -182,6 +181,7 @@ func (l *DataTransferLogic) checkAuth(r *http.Request) (isAuth bool, userInfo *a
claims, err := l.svcCtx.ParseJwtToken(r)
// 如果解析JWT token出错,则返回未授权的JSON响应并记录错误消息
if err != nil {
logx.Error(err)
return false, nil
}
if claims != nil {
@ -189,6 +189,7 @@ func (l *DataTransferLogic) checkAuth(r *http.Request) (isAuth bool, userInfo *a
userInfo, err = auth.GetUserInfoFormMapClaims(claims)
// 如果获取用户信息出错,则返回未授权的JSON响应并记录错误消息
if err != nil {
logx.Error(err)
return false, nil
}
//不是登录用户也不是游客