Class: Spree::Authentication::Strategies::EmailPasswordStrategy

Inherits:
BaseStrategy
  • Object
show all
Defined in:
app/models/spree/authentication/strategies/email_password_strategy.rb

Instance Attribute Summary

Attributes inherited from BaseStrategy

#params, #request_env, #user_class

Instance Method Summary collapse

Methods inherited from BaseStrategy

#initialize

Constructor Details

This class inherits a constructor from Spree::Authentication::Strategies::BaseStrategy

Instance Method Details

#authenticateObject



5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# File 'app/models/spree/authentication/strategies/email_password_strategy.rb', line 5

def authenticate
  email = params[:email]
  password = params[:password]

  return failure('Email is required') if email.blank?
  return failure('Password is required') if password.blank?

  user = find_user_by_email(email)
  return failure('Invalid email or password') unless user

  if validate_password(user, password)
    success(user)
  else
    failure('Invalid email or password')
  end
rescue => e
  Rails.logger.error "EmailPasswordStrategy authentication failed: #{e.message}"
  failure('Authentication failed')
end

#providerObject



25
26
27
# File 'app/models/spree/authentication/strategies/email_password_strategy.rb', line 25

def provider
  'email'
end