diff options
-rw-r--r-- | app/services/user_retrieval_service.rb | 13 | ||||
-rw-r--r-- | config/initializers/doorkeeper.rb | 3 | ||||
-rw-r--r-- | lib/api/helpers.rb | 2 | ||||
-rw-r--r-- | spec/services/user_retrieval_service_spec.rb | 19 |
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 |