From 4245181ede2095473162c3f1fe9e4f1efc22a44a Mon Sep 17 00:00:00 2001 From: halozhy Date: Sat, 6 Nov 2021 13:05:48 +0800 Subject: [PATCH] fix(login): use the ac_ id from redirection (#38) --- pkg/handler/ipgw.go | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/pkg/handler/ipgw.go b/pkg/handler/ipgw.go index c63c76e..7155f0d 100644 --- a/pkg/handler/ipgw.go +++ b/pkg/handler/ipgw.go @@ -100,14 +100,22 @@ func (h *IpgwHandler) FetchUsageInfo() error { } func (h *IpgwHandler) requestLoginApi() (string, error) { + // 获取当前网络下对应网关url的query参数 + resp, err := h.client.Get("https://ipgw.neu.edu.cn/") + if err != nil { + return "", err + } // 统一认证拿到ticket - resp, err := h.client.Get("https://pass.neu.edu.cn/tpass/login?service=http://ipgw.neu.edu.cn/srun_portal_sso?ac_id=1") + resp, err = h.client.Get("https://pass.neu.edu.cn/tpass/login?service=http://ipgw.neu.edu.cn/srun_portal_sso?" + resp.Request.URL.RawQuery) if err != nil { return "", err } // 使用ticket调用api登录 req, _ := http.NewRequest("GET", "https://ipgw.neu.edu.cn/v1"+resp.Request.URL.RequestURI(), nil) - resp, _ = h.client.Do(req) + resp, err = h.client.Do(req) + if err != nil { + return "", err + } return utils.ReadBody(resp), nil }