Skip to content

Fix OAuth provider bug where GitLab would not go return to the redirect_uri after sign-in

Stan Hu requested to merge stanhu/gitlab-ce:fix-oauth-redirection into master

What does this MR do?

This MR fixes a bug when GitLab is used as an OAuth provider (e.g. to GitLab CI) where the user is not redirected back to the original URI after a successful sign-in. This MR tweaks the Doorkeeper configuration to set the user_return_to Devise session variable, as mentioned in this Stack Overflow post.

Why was this MR needed?

If you attempt to "Login via GitLab" from GitLab CI and aren't logged out completely, GitLab asks for your username and password. After you login, you get directed to the GitLab dashboard instead of back to GitLab CI. It's easy to reproduce:

  1. Set up a GitLab CI and GitLab instance (e.g. ci.gitlab.com, gitlab.com).
  2. Start an Incognito Window so that you are logged out of GitLab CI and GitLab.
  3. Go to the GitLab CI instance. Click the "Login with GitLab".
  4. Enter in your credentials.
  5. Watch your browser login to GitLab and not return to GitLab CI.

What are the relevant issue numbers?

Closes #1612 (closed)

Merge request reports