diff --git a/handler/tool.go b/handler/tool.go index f4945ab..1a86aff 100644 --- a/handler/tool.go +++ b/handler/tool.go @@ -677,19 +677,25 @@ func handleGiteeCallback(c *gin.Context) { if err != nil { fmt.Println("Decoding error:", err) } else { - decodedStr := string(decodedBytes) - //json解析 - var state proto.ThirdPartyLoginState - err = json.Unmarshal([]byte(decodedStr), &state) - log.Println("handle github callback state:", decodedStr, "\tcode:", code) - if err != nil { - log.Println("json unmarshal error:", err) + if code == "" || stateBase64Str == "" { + log.Println("code or state is empty") + } else { + decodedStr := string(decodedBytes) + //json解析 + var state proto.ThirdPartyLoginState + err = json.Unmarshal([]byte(decodedStr), &state) + if err != nil { + log.Println("json unmarshal error:", err) + } else { + log.Println("handle github callback state:", decodedStr, "\tcode:", code) + service.DoGiteeCallBack(&state, code) + } } - service.DoGiteeCallBack(&state, code) } resp.Code = 0 resp.Message = "success" c.JSON(http.StatusOK, resp) + c.Redirect(http.StatusFound, "https://sv.ljsea.top/") //重定向到登录页面 } func GetGithubAuthUrl(c *gin.Context) {