Commit a4137411 authored by Patricio Cano's avatar Patricio Cano

Small refactor and syntax fixes.

parent c2978008
...@@ -13,7 +13,7 @@ Doorkeeper.configure do ...@@ -13,7 +13,7 @@ Doorkeeper.configure do
resource_owner_from_credentials do |routes| resource_owner_from_credentials do |routes|
user = Gitlab::Auth.find_with_user_password(params[:username], params[:password]) user = Gitlab::Auth.find_with_user_password(params[:username], params[:password])
user unless user && user.two_factor_enabled? user unless user.try(:two_factor_enabled?)
end end
# If you want to restrict access to the web interface for adding oauth authorized applications, you need to declare the block below. # If you want to restrict access to the web interface for adding oauth authorized applications, you need to declare the block below.
......
...@@ -275,10 +275,6 @@ module API ...@@ -275,10 +275,6 @@ module API
end end
end end
def render_2fa_error!
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) def render_api_error!(message, status)
error!({ 'message' => message }, status) error!({ 'message' => message }, status)
end end
......
...@@ -14,7 +14,7 @@ module API ...@@ -14,7 +14,7 @@ module API
user = Gitlab::Auth.find_with_user_password(params[:email] || params[:login], params[:password]) user = Gitlab::Auth.find_with_user_password(params[:email] || params[:login], params[:password])
return unauthorized! unless user return unauthorized! unless user
return render_2fa_error! if user.two_factor_enabled? return render_api_error!('401 Unauthorized. You have 2FA enabled. Please use a personal access token to access the API', 401) if user.two_factor_enabled?
present user, with: Entities::UserLogin present user, with: Entities::UserLogin
end end
end end
......
...@@ -11,6 +11,7 @@ describe API::API, api: true do ...@@ -11,6 +11,7 @@ describe API::API, api: true do
context 'when user has 2FA enabled' do context 'when user has 2FA enabled' do
it 'does not create an access token' do it 'does not create an access token' do
user = create(:user, :two_factor) user = create(:user, :two_factor)
request_oauth_token(user) request_oauth_token(user)
expect(response).to have_http_status(401) expect(response).to have_http_status(401)
...@@ -21,6 +22,7 @@ describe API::API, api: true do ...@@ -21,6 +22,7 @@ describe API::API, api: true do
context 'when user does not have 2FA enabled' do context 'when user does not have 2FA enabled' do
it 'creates an access token' do it 'creates an access token' do
user = create(:user) user = create(:user)
request_oauth_token(user) request_oauth_token(user)
expect(response).to have_http_status(200) expect(response).to have_http_status(200)
......
...@@ -25,6 +25,7 @@ describe API::API, api: true do ...@@ -25,6 +25,7 @@ describe API::API, api: true do
post api('/session'), email: user.email, password: user.password post api('/session'), email: user.email, password: user.password
expect(response).to have_http_status(401) expect(response).to have_http_status(401)
expect(response.body).to include('You have 2FA enabled.')
end end
end end
end end
......
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