From b4e2679437558e48c9055ac499ce775cce9b191d Mon Sep 17 00:00:00 2001 From: Stan Hu Date: Mon, 10 Dec 2018 11:52:04 -0800 Subject: 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 --- app/controllers/import/github_controller.rb | 2 +- .../unreleased/sh-fix-github-import-without-oauth2-config.yml | 5 +++++ spec/controllers/import/github_controller_spec.rb | 9 +++++++++ 3 files changed, 15 insertions(+), 1 deletion(-) create mode 100644 changelogs/unreleased/sh-fix-github-import-without-oauth2-config.yml 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 -- cgit v1.2.1