Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStan Hu <stanhu@gmail.com>2018-12-10 22:52:04 +0300
committerStan Hu <stanhu@gmail.com>2018-12-10 22:56:14 +0300
commitb4e2679437558e48c9055ac499ce775cce9b191d (patch)
tree4bbaa5269b7f4e2373184f0eed2474d93a52a186
parenteadd53b969da2704d7551069eda0b416ffb7b0e2 (diff)
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.rb2
-rw-r--r--changelogs/unreleased/sh-fix-github-import-without-oauth2-config.yml5
-rw-r--r--spec/controllers/import/github_controller_spec.rb9
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