From c03748b3b1a40fd2a66f548b32377b280c02eca7 Mon Sep 17 00:00:00 2001 From: zhangyasong Date: Tue, 22 Mar 2022 19:33:37 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E9=AA=8C=E8=AF=81=E6=9C=8D?= =?UTF-8?q?=E5=8A=A1=E9=89=B4=E6=9D=83=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/handler/proxyhandler.go | 41 ++++++++++++++++++++----------------- 1 file changed, 22 insertions(+), 19 deletions(-) diff --git a/src/handler/proxyhandler.go b/src/handler/proxyhandler.go index 51d4c0a..d9a4c0f 100644 --- a/src/handler/proxyhandler.go +++ b/src/handler/proxyhandler.go @@ -37,22 +37,6 @@ func Proxy(c *gin.Context) { } apiId := c.Param("apiid") - var apaasToken string - apaasToken = c.Query("apaasToken") - if apaasToken == "" { - apaasToken = c.GetHeader("Authorization") - } - - if strings.HasPrefix(apaasToken, "Bearer ") { - apaasToken = strings.TrimPrefix(apaasToken, "Bearer ") - } - - fmt.Println("apaasToken:", apaasToken) - if apaasToken == "" { - c.JSON(403, "Get Authorization Token failed") - return - } - //获取服务相关信息 proxyData, err := service.GetRealPath(applyId, apiId) if err != nil { @@ -61,9 +45,28 @@ func Proxy(c *gin.Context) { return } - if proxyData.ApaasToken != apaasToken { - c.JSON(403, "invalid Authorization Token") - return + // 请求授权方式(0注册的服务无鉴权 1注册的服务通过静态token鉴权 2注册的服务通过动态token鉴权) + if proxyData.ReqAuthMthod != 0 { + var apaasToken string + apaasToken = c.Query("apaasToken") + if apaasToken == "" { + apaasToken = c.GetHeader("Authorization") + } + + if strings.HasPrefix(apaasToken, "Bearer ") { + apaasToken = strings.TrimPrefix(apaasToken, "Bearer ") + } + + fmt.Println("apaasToken:", apaasToken) + if apaasToken == "" { + c.JSON(403, "Get Authorization Token failed") + return + } + + if proxyData.ApaasToken != apaasToken { + c.JSON(403, "invalid Authorization Token") + return + } } //proxyData.ReqUrl = "https://apaas3.wodcloud.com/iam/login/#/login" -- 2.26.0