Ver Fonte

redirect user to requested url after login via oauth

Dan Cech há 8 anos atrás
pai
commit
b22881c717
1 ficheiros alterados com 7 adições e 0 exclusões
  1. 7 0
      pkg/api/login_oauth.go

+ 7 - 0
pkg/api/login_oauth.go

@@ -10,6 +10,7 @@ import (
 	"io/ioutil"
 	"io/ioutil"
 	"log"
 	"log"
 	"net/http"
 	"net/http"
+	"net/url"
 
 
 	"golang.org/x/net/context"
 	"golang.org/x/net/context"
 	"golang.org/x/oauth2"
 	"golang.org/x/oauth2"
@@ -177,5 +178,11 @@ func OAuthLogin(ctx *middleware.Context) {
 
 
 	metrics.M_Api_Login_OAuth.Inc(1)
 	metrics.M_Api_Login_OAuth.Inc(1)
 
 
+	if redirectTo, _ := url.QueryUnescape(ctx.GetCookie("redirect_to")); len(redirectTo) > 0 {
+		ctx.SetCookie("redirect_to", "", -1, setting.AppSubUrl+"/")
+		ctx.Redirect(redirectTo)
+		return
+	}
+
 	ctx.Redirect(setting.AppSubUrl + "/")
 	ctx.Redirect(setting.AppSubUrl + "/")
 }
 }