diff --git a/internal/msg_gateway/gate/logic.go b/internal/msg_gateway/gate/logic.go index f249b9459..49fa04804 100644 --- a/internal/msg_gateway/gate/logic.go +++ b/internal/msg_gateway/gate/logic.go @@ -6,6 +6,7 @@ import ( "Open_IM/pkg/common/db" "Open_IM/pkg/common/log" promePkg "Open_IM/pkg/common/prometheus" + "Open_IM/pkg/common/token_verify" "Open_IM/pkg/grpc-etcdv3/getcdv3" pbChat "Open_IM/pkg/proto/msg" push "Open_IM/pkg/proto/push" @@ -186,8 +187,16 @@ func (ws *WServer) pullMsgBySeqListResp(conn *UserConn, m *Req, pb *sdk_ws.PullM } func (ws *WServer) userLogoutReq(conn *UserConn, m *Req) { log.NewInfo(m.OperationID, "Ws call success to userLogoutReq start", m.SendID, m.ReqIdentifier, m.MsgIncr, string(m.Data)) + claims, err := token_verify.ParseToken(m.Token, m.OperationID) + if err != nil { + errMsg := "ParseToken failed " + err.Error() + m.OperationID + " token " + m.Token + log.Error(m.OperationID, errMsg, "token:", m.Token) + ws.userLogoutResp(conn, m) + return + } rpcReq := push.DelUserPushTokenReq{} rpcReq.UserID = m.SendID + rpcReq.PlatformID = int32(constant.PlatformNameToID(claims.Platform)) rpcReq.OperationID = m.OperationID grpcConn := getcdv3.GetDefaultConn(config.Config.Etcd.EtcdSchema, strings.Join(config.Config.Etcd.EtcdAddr, ","), config.Config.RpcRegisterName.OpenImPushName, m.OperationID) if grpcConn == nil { diff --git a/internal/push/logic/push_rpc_server.go b/internal/push/logic/push_rpc_server.go index b2ac3570c..296d23512 100644 --- a/internal/push/logic/push_rpc_server.go +++ b/internal/push/logic/push_rpc_server.go @@ -93,10 +93,11 @@ func (r *RPCServer) PushMsg(_ context.Context, pbData *pbPush.PushMsgReq) (*pbPu } func (r *RPCServer) DelUserPushToken(c context.Context, req *pbPush.DelUserPushTokenReq) (*pbPush.DelUserPushTokenResp, error) { + log.Debug(req.OperationID, utils.GetSelfFuncName(), "req", req.String()) var resp pbPush.DelUserPushTokenResp err := db.DB.DelFcmToken(req.UserID, int(req.PlatformID)) if err != nil { - errMsg := req.OperationID + " " + "SetFcmToken failed " + err.Error() + errMsg := req.OperationID + " " + "DelFcmToken failed " + err.Error() log.NewError(req.OperationID, errMsg) resp.ErrCode = 500 resp.ErrMsg = errMsg