diff options
author | Stan Hu <stanhu@gmail.com> | 2018-12-10 11:52:04 -0800 |
---|---|---|
committer | Stan Hu <stanhu@gmail.com> | 2018-12-10 11:56:14 -0800 |
commit | b4e2679437558e48c9055ac499ce775cce9b191d (patch) | |
tree | 4bbaa5269b7f4e2373184f0eed2474d93a52a186 | |
parent | eadd53b969da2704d7551069eda0b416ffb7b0e2 (diff) | |
download | gitlab-ce-b4e2679437558e48c9055ac499ce775cce9b191d.tar.gz |
Allow GitHub imports via token even if OAuth2 provider not configured
Previously, the GitHub importer would only work if the site configured
an OAuth2 provider were configured. Users attempting to import via a
GitHub personal access token would see an Error 500 due to a failed
redirection. We fix this by only doing the redirection if the provider
has been configured and allowing users to see the new import page.
Closes https://gitlab.com/gitlab-org/gitlab-ce/issues/38524
-rw-r--r-- | app/controllers/import/github_controller.rb | 2 | ||||
-rw-r--r-- | changelogs/unreleased/sh-fix-github-import-without-oauth2-config.yml | 5 | ||||
-rw-r--r-- | spec/controllers/import/github_controller_spec.rb | 9 |
3 files changed, 15 insertions, 1 deletions
diff --git a/app/controllers/import/github_controller.rb b/app/controllers/import/github_controller.rb index 58565aaf8c9..d4c26fa0709 100644 --- a/app/controllers/import/github_controller.rb +++ b/app/controllers/import/github_controller.rb @@ -7,7 +7,7 @@ class Import::GithubController < Import::BaseController rescue_from Octokit::Unauthorized, with: :provider_unauthorized def new - if logged_in_with_provider? + if github_import_configured? && logged_in_with_provider? go_to_provider_for_permissions elsif session[access_token_key] redirect_to status_import_url diff --git a/changelogs/unreleased/sh-fix-github-import-without-oauth2-config.yml b/changelogs/unreleased/sh-fix-github-import-without-oauth2-config.yml new file mode 100644 index 00000000000..ad548a6ff35 --- /dev/null +++ b/changelogs/unreleased/sh-fix-github-import-without-oauth2-config.yml @@ -0,0 +1,5 @@ +--- +title: Allow GitHub imports via token even if OAuth2 provider not configured +merge_request: 23703 +author: +type: fixed diff --git a/spec/controllers/import/github_controller_spec.rb b/spec/controllers/import/github_controller_spec.rb index 9bbd97ec305..780e49f7b93 100644 --- a/spec/controllers/import/github_controller_spec.rb +++ b/spec/controllers/import/github_controller_spec.rb @@ -16,6 +16,15 @@ describe Import::GithubController do get :new end + + it "prompts for an access token if GitHub not configured" do + allow(controller).to receive(:github_import_configured?).and_return(false) + expect(controller).not_to receive(:go_to_provider_for_permissions) + + get :new + + expect(response).to have_http_status(200) + end end describe "GET callback" do |