summaryrefslogtreecommitdiff
path: root/lib/api/session.rb
diff options
context:
space:
mode:
Diffstat (limited to 'lib/api/session.rb')
-rw-r--r--lib/api/session.rb17
1 files changed, 9 insertions, 8 deletions
diff --git a/lib/api/session.rb b/lib/api/session.rb
index 509acded51e..cc646895914 100644
--- a/lib/api/session.rb
+++ b/lib/api/session.rb
@@ -3,18 +3,19 @@ module API
class Session < Grape::API
# Login to get token
#
+ # Parameters:
+ # login (*required) - user login
+ # email (*required) - user email
+ # password (required) - user password
+ #
# Example Request:
# POST /session
post "/session" do
- resource = User.find_for_database_authentication(email: params[:email])
-
- return unauthorized! unless resource
+ auth = Gitlab::Auth.new
+ user = auth.find(params[:email] || params[:login], params[:password])
- if resource.valid_password?(params[:password])
- present resource, with: Entities::UserLogin
- else
- unauthorized!
- end
+ return unauthorized! unless user
+ present user, with: Entities::UserLogin
end
end
end