diff --git a/pkg/api/login_oauth.go b/pkg/api/login_oauth.go index 574d08af09f..2bf9c484803 100644 --- a/pkg/api/login_oauth.go +++ b/pkg/api/login_oauth.go @@ -10,6 +10,7 @@ import ( "io/ioutil" "log" "net/http" + "net/url" "golang.org/x/net/context" "golang.org/x/oauth2" @@ -177,5 +178,11 @@ func OAuthLogin(ctx *middleware.Context) { 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 + "/") }