Skip to content

Commit f42a688

Browse files
committed
🎨 登录跳转
1 parent 1d97034 commit f42a688

File tree

1 file changed

+8
-8
lines changed

1 file changed

+8
-8
lines changed

controller/oauthctl.go

+8-8
Original file line numberDiff line numberDiff line change
@@ -17,27 +17,27 @@
1717
package controller
1818

1919
import (
20+
"net/http"
21+
"net/url"
22+
2023
"github.com/88250/gulu"
2124
"github.com/88250/pipe/model"
2225
"github.com/88250/pipe/service"
2326
"github.com/88250/pipe/util"
2427
"github.com/gin-gonic/gin"
25-
"net/http"
26-
"strings"
2728
)
2829

2930
var states = map[string]string{}
3031

3132
// redirectLoginAction redirects to HacPai auth page.
3233
func redirectLoginAction(c *gin.Context) {
3334
referer := c.Request.URL.Query().Get("referer")
34-
if "" == referer || !strings.Contains(referer, "://") {
35-
referer = model.Conf.Server + referer
36-
}
37-
if strings.HasSuffix(referer, "/") {
38-
referer = referer[:len(referer)-1]
35+
u, err := url.Parse(referer)
36+
if nil != err {
37+
referer = model.Conf.Server
38+
} else {
39+
referer = u.Scheme + "://" + u.Host
3940
}
40-
4141
loginAuthURL := "https://hacpai.com/login?goto=" + referer + "/api/login/callback"
4242
state := gulu.Rand.String(16)
4343
states[state] = referer

0 commit comments

Comments
 (0)