summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--app/services/user_retrieval_service.rb13
-rw-r--r--config/initializers/doorkeeper.rb3
-rw-r--r--lib/api/helpers.rb2
-rw-r--r--spec/services/user_retrieval_service_spec.rb19
4 files changed, 3 insertions, 34 deletions
diff --git a/app/services/user_retrieval_service.rb b/app/services/user_retrieval_service.rb
deleted file mode 100644
index 94ea087d60b..00000000000
--- a/app/services/user_retrieval_service.rb
+++ /dev/null
@@ -1,13 +0,0 @@
-class UserRetrievalService
- attr_accessor :login, :password
-
- def initialize(login, password)
- @login = login
- @password = password
- end
-
- def execute
- user = Gitlab::Auth.find_with_user_password(login, password)
- user unless user.two_factor_enabled?
- end
-end
diff --git a/config/initializers/doorkeeper.rb b/config/initializers/doorkeeper.rb
index f78f0cf7c5c..6d08714dcf7 100644
--- a/config/initializers/doorkeeper.rb
+++ b/config/initializers/doorkeeper.rb
@@ -12,7 +12,8 @@ Doorkeeper.configure do
end
resource_owner_from_credentials do |routes|
- UserRetrievalService.new(params[:username], params[:password]).execute
+ user = Gitlab::Auth.find_with_user_password(params[:username], params[:password])
+ user unless user && user.two_factor_enabled?
end
# If you want to restrict access to the web interface for adding oauth authorized applications, you need to declare the block below.
diff --git a/lib/api/helpers.rb b/lib/api/helpers.rb
index bbd647684a4..3e906f6f929 100644
--- a/lib/api/helpers.rb
+++ b/lib/api/helpers.rb
@@ -276,7 +276,7 @@ module API
end
def render_2fa_error!
- render_api_error!('401 You have 2FA enabled. Please use a personal access token to access the API', 401)
+ render_api_error!('401 Unauthorized. You have 2FA enabled. Please use a personal access token to access the API', 401)
end
def render_api_error!(message, status)
diff --git a/spec/services/user_retrieval_service_spec.rb b/spec/services/user_retrieval_service_spec.rb
deleted file mode 100644
index 6344db0a1c3..00000000000
--- a/spec/services/user_retrieval_service_spec.rb
+++ /dev/null
@@ -1,19 +0,0 @@
-require 'spec_helper'
-
-describe UserRetrievalService, services: true do
- context 'user retrieval' do
- it 'retrieves the correct user' do
- user = create(:user)
- retrieved_user = described_class.new(user.username, user.password).execute
-
- expect(retrieved_user).to eq(user)
- end
-
- it 'returns nil when 2FA is enabled' do
- user = create(:user, :two_factor)
- retrieved_user = described_class.new(user.username, user.password).execute
-
- expect(retrieved_user).to be_nil
- end
- end
-end