From 49faa0eb99e2e59d0efc8c5e90dc7a4ee8f19836 Mon Sep 17 00:00:00 2001 From: withchao <993506633@qq.com> Date: Tue, 13 May 2025 17:52:20 +0800 Subject: [PATCH] fix: permission verification --- internal/rpc/conversation/sync.go | 4 ++++ internal/rpc/group/sync.go | 4 +++- internal/rpc/relation/sync.go | 3 --- 3 files changed, 7 insertions(+), 4 deletions(-) diff --git a/internal/rpc/conversation/sync.go b/internal/rpc/conversation/sync.go index ad88b2bbd..95b1456ff 100644 --- a/internal/rpc/conversation/sync.go +++ b/internal/rpc/conversation/sync.go @@ -4,12 +4,16 @@ import ( "context" "github.com/openimsdk/open-im-server/v3/internal/rpc/incrversion" + "github.com/openimsdk/open-im-server/v3/pkg/authverify" "github.com/openimsdk/open-im-server/v3/pkg/common/storage/model" "github.com/openimsdk/open-im-server/v3/pkg/util/hashutil" "github.com/openimsdk/protocol/conversation" ) func (c *conversationServer) GetFullOwnerConversationIDs(ctx context.Context, req *conversation.GetFullOwnerConversationIDsReq) (*conversation.GetFullOwnerConversationIDsResp, error) { + if err := authverify.CheckAccessV3(ctx, req.UserID, c.config.Share.IMAdminUserID); err != nil { + return nil, err + } vl, err := c.conversationDatabase.FindMaxConversationUserVersionCache(ctx, req.UserID) if err != nil { return nil, err diff --git a/internal/rpc/group/sync.go b/internal/rpc/group/sync.go index ed4fabb7a..c484a73aa 100644 --- a/internal/rpc/group/sync.go +++ b/internal/rpc/group/sync.go @@ -76,6 +76,9 @@ func (g *groupServer) GetIncrementalGroupMember(ctx context.Context, req *pbgrou if group.Status == constant.GroupStatusDismissed { return nil, servererrs.ErrDismissedAlready.Wrap() } + if _, err := g.db.TakeGroupMember(ctx, req.GroupID, mcontext.GetOpUserID(ctx)); err != nil { + return nil, err + } var ( hasGroupUpdate bool sortVersion uint64 @@ -170,7 +173,6 @@ func (g *groupServer) GetIncrementalJoinGroup(ctx context.Context, req *pbgroup. } func (g *groupServer) BatchGetIncrementalGroupMember(ctx context.Context, req *pbgroup.BatchGetIncrementalGroupMemberReq) (*pbgroup.BatchGetIncrementalGroupMemberResp, error) { - var num int resp := make(map[string]*pbgroup.GetIncrementalGroupMemberResp) for _, memberReq := range req.ReqList { diff --git a/internal/rpc/relation/sync.go b/internal/rpc/relation/sync.go index 02f20b573..94617841e 100644 --- a/internal/rpc/relation/sync.go +++ b/internal/rpc/relation/sync.go @@ -40,9 +40,6 @@ func (s *friendServer) NotificationUserInfoUpdate(ctx context.Context, req *rela } func (s *friendServer) GetFullFriendUserIDs(ctx context.Context, req *relation.GetFullFriendUserIDsReq) (*relation.GetFullFriendUserIDsResp, error) { - req.ProtoReflect() - - req.ProtoReflect().Type() if err := authverify.CheckAccessV3(ctx, req.UserID, s.config.Share.IMAdminUserID); err != nil { return nil, err }