summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorValery Sizov <valery@gitlab.com>2015-06-30 14:09:18 +0000
committerValery Sizov <valery@gitlab.com>2015-06-30 14:09:18 +0000
commit762ffa81e97787c6b932a1a01f33f4fe1c616fbc (patch)
tree954fd3d7eb0dd62b77d4f22c6e0c6c4c67080cae
parentf21d79251db29a31083fc389662177fc50eaac9e (diff)
parentcb1d33ebe1b7a0ad4838b90d04cb0c95abefa536 (diff)
downloadgitlab-ci-762ffa81e97787c6b932a1a01f33f4fe1c616fbc.tar.gz
Merge branch 'redirect_back_after_auth' into 'master'
Redirect back after authorization https://dev.gitlab.org/gitlab/gitlab-ci/issues/287 See merge request !182
-rw-r--r--CHANGELOG1
-rw-r--r--app/controllers/user_sessions_controller.rb5
-rw-r--r--app/views/user_sessions/new.html.haml2
3 files changed, 5 insertions, 3 deletions
diff --git a/CHANGELOG b/CHANGELOG
index 49ab594..e3f48c3 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -5,6 +5,7 @@ v7.13.0
- Implemented "rake env:info". Rake task to receive system information
- Fix coverage calculation on commit page
- Enhance YAML validation
+ - Redirect back after authorization
v7.12.1
- Runner without tag should pick builds without tag only
diff --git a/app/controllers/user_sessions_controller.rb b/app/controllers/user_sessions_controller.rb
index 5700615..2f972bc 100644
--- a/app/controllers/user_sessions_controller.rb
+++ b/app/controllers/user_sessions_controller.rb
@@ -10,7 +10,8 @@ class UserSessionsController < ApplicationController
def auth
redirect_to client.auth_code.authorize_url({
- redirect_uri: callback_user_sessions_url
+ redirect_uri: callback_user_sessions_url,
+ state: params[:return_to]
})
end
@@ -21,7 +22,7 @@ class UserSessionsController < ApplicationController
user = @user_session.authenticate(access_token: token)
if user && sign_in(user)
- redirect_to root_path
+ redirect_to(params[:state] || root_path)
else
@error = 'Invalid credentials'
render :new
diff --git a/app/views/user_sessions/new.html.haml b/app/views/user_sessions/new.html.haml
index 5f33e09..b457e93 100644
--- a/app/views/user_sessions/new.html.haml
+++ b/app/views/user_sessions/new.html.haml
@@ -4,5 +4,5 @@
Make sure you have account on GitLab server
= link_to GitlabCi.config.gitlab_server.url, GitlabCi.config.gitlab_server.url, no_turbolink
%hr
- = link_to "Login with GitLab", auth_user_sessions_path, no_turbolink.merge( class: 'btn btn-login btn-success' )
+ = link_to "Login with GitLab", auth_user_sessions_path(return_to: params[:return_to]), no_turbolink.merge( class: 'btn btn-login btn-success' )