Module: Devise::Models::SuspiciousLogin

Extended by:
ActiveSupport::Concern
Defined in:
lib/suspicious_login/model.rb

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.required_fields(klass) ⇒ Object



8
9
10
# File 'lib/suspicious_login/model.rb', line 8

def self.required_fields(klass)
  [Devise.token_field_name, Devise.token_created_at_field_name]
end

Instance Method Details

#after_login_token_authenticationObject



51
52
53
54
# File 'lib/suspicious_login/model.rb', line 51

def 
   if Devise.
  @token_login = true
end

#clear_suspicious_login_token!Object



45
46
47
48
49
# File 'lib/suspicious_login/model.rb', line 45

def 
  self[Devise.token_field_name] = nil
  self[Devise.token_created_at_field_name] = nil
  save(validate: false)
end

#dormant_account?(request) ⇒ Boolean

Returns:

  • (Boolean)


68
69
70
71
72
73
74
75
76
# File 'lib/suspicious_login/model.rb', line 68

def dormant_account?(request)
  return true if !(respond_to?(:last_sign_in_at))

  !.nil? &&
  !.nil? &&
  request.remote_ip !=  &&
  request.remote_ip !=  &&
  Time.now.utc -  > Devise.
end

#generate_login_tokenObject



12
13
14
15
16
17
# File 'lib/suspicious_login/model.rb', line 12

def 
  loop do
    token = Devise.friendly_token
    break token unless User.where(authentication_token: token).first
  end
end

#generate_reset_password_tokenObject



19
20
21
22
23
24
# File 'lib/suspicious_login/model.rb', line 19

def generate_reset_password_token
  raw, enc = Devise.token_generator.generate(self.class, :reset_password_token)
  self.reset_password_token = enc
  self.reset_password_sent_at = Time.now.utc
  raw
end

#generate_reset_password_token!Object



33
34
35
36
37
# File 'lib/suspicious_login/model.rb', line 33

def generate_reset_password_token!
  token = generate_reset_password_token
  save(validate: false)
  token
end

#reset_suspicious_login_token(token = nil) ⇒ Object



26
27
28
29
30
31
# File 'lib/suspicious_login/model.rb', line 26

def (token=nil)
  token = token || 
  self[Devise.token_field_name] = token
  self[Devise.token_created_at_field_name] = Time.now.utc unless Devise..blank?
  token
end

#reset_suspicious_login_token!(token = nil) ⇒ Object



39
40
41
42
43
# File 'lib/suspicious_login/model.rb', line 39

def (token=nil)
  token = (token)
  save(validate: false)
  token
end

#send_suspicious_login_instructions(request = {}) ⇒ Object



60
61
62
# File 'lib/suspicious_login/model.rb', line 60

def (request = {})
  send_devise_notification(:suspicious_login_instructions, nil, {})
end

#suspicious?(request = {}) ⇒ Boolean

Returns:

  • (Boolean)


56
57
58
# File 'lib/suspicious_login/model.rb', line 56

def suspicious?(request = {})
  respond_to?(:suspicious_login_attempt?) ? (request) || dormant_account?(request) : dormant_account?(request)
end

#token_login?Boolean

Returns:

  • (Boolean)


64
65
66
# File 'lib/suspicious_login/model.rb', line 64

def token_login?
  @token_login || false
end