Commit b4e26794 authored by Stan Hu's avatar Stan Hu

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
parent eadd53b9
...@@ -7,7 +7,7 @@ class Import::GithubController < Import::BaseController ...@@ -7,7 +7,7 @@ class Import::GithubController < Import::BaseController
rescue_from Octokit::Unauthorized, with: :provider_unauthorized rescue_from Octokit::Unauthorized, with: :provider_unauthorized
def new def new
if logged_in_with_provider? if github_import_configured? && logged_in_with_provider?
go_to_provider_for_permissions go_to_provider_for_permissions
elsif session[access_token_key] elsif session[access_token_key]
redirect_to status_import_url redirect_to status_import_url
......
---
title: Allow GitHub imports via token even if OAuth2 provider not configured
merge_request: 23703
author:
type: fixed
...@@ -16,6 +16,15 @@ describe Import::GithubController do ...@@ -16,6 +16,15 @@ describe Import::GithubController do
get :new get :new
end 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 end
describe "GET callback" do describe "GET callback" do
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment