diff options
Diffstat (limited to 'lib/api/session.rb')
-rw-r--r-- | lib/api/session.rb | 17 |
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 |