File tree 1 file changed +8
-8
lines changed
1 file changed +8
-8
lines changed Original file line number Diff line number Diff line change 17
17
package controller
18
18
19
19
import (
20
+ "net/http"
21
+ "net/url"
22
+
20
23
"github.com/88250/gulu"
21
24
"github.com/88250/pipe/model"
22
25
"github.com/88250/pipe/service"
23
26
"github.com/88250/pipe/util"
24
27
"github.com/gin-gonic/gin"
25
- "net/http"
26
- "strings"
27
28
)
28
29
29
30
var states = map [string ]string {}
30
31
31
32
// redirectLoginAction redirects to HacPai auth page.
32
33
func redirectLoginAction (c * gin.Context ) {
33
34
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
39
40
}
40
-
41
41
loginAuthURL := "https://hacpai.com/login?goto=" + referer + "/api/login/callback"
42
42
state := gulu .Rand .String (16 )
43
43
states [state ] = referer
You can’t perform that action at this time.
0 commit comments