Module: Dscf::Core::UserAuthenticatable

Extended by:
ActiveSupport::Concern
Included in:
User
Defined in:
app/models/concerns/dscf/core/user_authenticatable.rb

Instance Method Summary collapse

Instance Method Details

#active?Boolean

Returns:

  • (Boolean)


28
29
30
# File 'app/models/concerns/dscf/core/user_authenticatable.rb', line 28

def active?
  true # Override in specific models if needed
end

#authenticate_with_password(password) ⇒ Object



16
17
18
# File 'app/models/concerns/dscf/core/user_authenticatable.rb', line 16

def authenticate_with_password(password)
  authenticate(password)
end

#generate_auth_tokens(request) ⇒ Object



20
21
22
# File 'app/models/concerns/dscf/core/user_authenticatable.rb', line 20

def generate_auth_tokens(request)
  AuthService.generate_auth_tokens(self, request)
end

#locked?Boolean

Returns:

  • (Boolean)


32
33
34
# File 'app/models/concerns/dscf/core/user_authenticatable.rb', line 32

def locked?
  false # Override in specific models if needed
end

#revoke_all_tokensObject



45
46
47
# File 'app/models/concerns/dscf/core/user_authenticatable.rb', line 45

def revoke_all_tokens
  AuthService.revoke_all_user_tokens(self)
end

#track_device(request) ⇒ Object



36
37
38
39
40
41
42
43
# File 'app/models/concerns/dscf/core/user_authenticatable.rb', line 36

def track_device(request)
  # Track device information for security
  {
    user_agent: request.user_agent,
    ip_address: request.remote_ip,
    device_id: request.params[:device_id]
  }
end

#valid_for_authentication?Boolean

Returns:

  • (Boolean)


24
25
26
# File 'app/models/concerns/dscf/core/user_authenticatable.rb', line 24

def valid_for_authentication?
  active? && !locked?
end