diff --git a/src/handler/proxyhandler.go b/src/handler/proxyhandler.go index 51d4c0a05b856d36fff49ddc3b062166d5c25744..d9a4c0f16eaa156c68df854f672a4f3bbac93d33 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"