From 3242a49b2731392125e5c22375549586495ee6fc Mon Sep 17 00:00:00 2001 From: tardc Date: Fri, 24 Dec 2021 21:11:00 +0800 Subject: [PATCH] fix(server): fix auth failure when complex characters in token (#42) Co-authored-by: E99p1ant Co-authored-by: Li4n0 <34324462+Li4n0@users.noreply.github.com> --- pkg/server/router.go | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/pkg/server/router.go b/pkg/server/router.go index 73e6503..6354c91 100644 --- a/pkg/server/router.go +++ b/pkg/server/router.go @@ -31,8 +31,11 @@ func (revsuit *Revsuit) registerPlatformRouter() { // /api need Authorization api := revsuit.http.Router.Group(revsuit.config.AdminPathPrefix + "/api") api.Use(func(c *gin.Context) { - cookieToken, err := c.Request.Cookie("token") - if !(c.Request.Header.Get("Token") == revsuit.http.Token || err == nil && cookieToken.Value == revsuit.http.Token) { + token, err := c.Cookie("token") + if err == http.ErrNoCookie { + token = c.Request.Header.Get("Token") + } + if token != revsuit.http.Token { c.Abort() c.Status(403) }