From 808cd69429cda7b0358066f93f0f674d76923952 Mon Sep 17 00:00:00 2001 From: Gordon <1432970085@qq.com> Date: Wed, 15 Mar 2023 16:52:29 +0800 Subject: [PATCH 1/3] parse token --- pkg/common/mw/gin.go | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/pkg/common/mw/gin.go b/pkg/common/mw/gin.go index a793baca5..544b8957e 100644 --- a/pkg/common/mw/gin.go +++ b/pkg/common/mw/gin.go @@ -6,6 +6,7 @@ import ( "OpenIM/pkg/common/constant" "OpenIM/pkg/common/db/cache" "OpenIM/pkg/common/db/controller" + "OpenIM/pkg/common/log" "OpenIM/pkg/common/tokenverify" "OpenIM/pkg/errs" "bytes" @@ -75,23 +76,27 @@ func GinParseToken(rdb redis.UniversalClient) gin.HandlerFunc { case http.MethodPost: token := c.Request.Header.Get(constant.Token) if token == "" { + log.ZWarn(c, "header get token error", errs.ErrArgs.Wrap("header must have token")) apiresp.GinError(c, errs.ErrArgs.Wrap("header must have token")) c.Abort() return } claims, err := tokenverify.GetClaimFromToken(token) if err != nil { + log.ZWarn(c, "jwt get token error", errs.ErrTokenUnknown.Wrap()) apiresp.GinError(c, errs.ErrTokenUnknown.Wrap()) c.Abort() return } m, err := dataBase.GetTokensWithoutError(c, claims.UID, claims.Platform) if err != nil { + log.ZWarn(c, "cache get token error", errs.ErrTokenNotExist.Wrap()) apiresp.GinError(c, errs.ErrTokenNotExist.Wrap()) c.Abort() return } if len(m) == 0 { + log.ZWarn(c, "cache do not exist token error", errs.ErrTokenNotExist.Wrap()) apiresp.GinError(c, errs.ErrTokenNotExist.Wrap()) c.Abort() return @@ -100,10 +105,12 @@ func GinParseToken(rdb redis.UniversalClient) gin.HandlerFunc { switch v { case constant.NormalToken: case constant.KickedToken: + log.ZWarn(c, "cache kicked token error", errs.ErrTokenKicked.Wrap()) apiresp.GinError(c, errs.ErrTokenKicked.Wrap()) c.Abort() return default: + log.ZWarn(c, "cache unknown token error", errs.ErrTokenUnknown.Wrap()) apiresp.GinError(c, errs.ErrTokenUnknown.Wrap()) c.Abort() return From 970e6c40b4d6584715ff28924663c2b471ff113e Mon Sep 17 00:00:00 2001 From: Gordon <1432970085@qq.com> Date: Wed, 15 Mar 2023 17:01:54 +0800 Subject: [PATCH 2/3] parse token --- pkg/common/mw/gin.go | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/pkg/common/mw/gin.go b/pkg/common/mw/gin.go index 544b8957e..73ad29ea6 100644 --- a/pkg/common/mw/gin.go +++ b/pkg/common/mw/gin.go @@ -41,7 +41,8 @@ func GinParseOperationID() gin.HandlerFunc { if operationID == "" { body, err := io.ReadAll(c.Request.Body) if err != nil { - c.String(400, "read request body error: "+err.Error()) + log.ZWarn(c, "read request body error", errs.ErrArgs.Wrap("read request body error: "+err.Error())) + apiresp.GinError(c, errs.ErrArgs.Wrap("read request body error: "+err.Error())) c.Abort() return } @@ -49,12 +50,14 @@ func GinParseOperationID() gin.HandlerFunc { OperationID string `json:"operationID"` }{} if err := json.Unmarshal(body, &req); err != nil { - c.String(400, "get operationID error: "+err.Error()) + log.ZWarn(c, "json unmarshal error", errs.ErrArgs.Wrap(err.Error())) + apiresp.GinError(c, errs.ErrArgs.Wrap("json unmarshal error"+err.Error())) c.Abort() return } if req.OperationID == "" { - c.String(400, "operationID empty") + log.ZWarn(c, "header must have operationID", errs.ErrArgs.Wrap(err.Error())) + apiresp.GinError(c, errs.ErrArgs.Wrap("header must have operationID"+err.Error())) c.Abort() return } From f2d33991e15462fb623e211992995dd530b72830 Mon Sep 17 00:00:00 2001 From: Gordon <1432970085@qq.com> Date: Wed, 15 Mar 2023 17:11:23 +0800 Subject: [PATCH 3/3] parse token --- internal/apiresp/resp.go | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/internal/apiresp/resp.go b/internal/apiresp/resp.go index d879a4683..820d2dc0e 100644 --- a/internal/apiresp/resp.go +++ b/internal/apiresp/resp.go @@ -2,7 +2,6 @@ package apiresp import ( "OpenIM/pkg/errs" - "fmt" ) type apiResponse struct { @@ -22,7 +21,7 @@ func apiError(err error) *apiResponse { unwrap := errs.Unwrap(err) var dlt string if unwrap != err { - dlt = fmt.Sprintf("%+v", dlt) + dlt = err.Error() } if codeErr, ok := unwrap.(errs.CodeError); ok { return &apiResponse{ErrCode: codeErr.Code(), ErrMsg: codeErr.Msg(), ErrDlt: dlt}