add expiry for login
This commit is contained in:
@@ -21,12 +21,12 @@ class Employee < ApplicationRecord
|
||||
|
||||
def self.login(emp_id, password)
|
||||
user = Employee.find_by_emp_id(emp_id)
|
||||
expiry_time = login_expiry_time
|
||||
if (user)
|
||||
#user.authenticate(password)
|
||||
|
||||
if (user.authenticate(password))
|
||||
user.generate_token
|
||||
user.session_expiry = DateTime.now.utc + 30.minutes
|
||||
user.session_expiry = DateTime.now.utc + expiry_time.minutes
|
||||
user.session_last_login = DateTime.now.utc
|
||||
user.save
|
||||
return user
|
||||
@@ -41,9 +41,10 @@ class Employee < ApplicationRecord
|
||||
def self.authenticate_by_token(session_token)
|
||||
if (session_token)
|
||||
user = Employee.find_by_token_session(session_token)
|
||||
expiry_time = login_expiry_time
|
||||
if user && user.session_expiry.utc > DateTime.now.utc
|
||||
#Extend the login time each time authenticatation take place
|
||||
user.session_expiry = user.session_expiry.utc + 30.minutes
|
||||
user.session_expiry = user.session_expiry.utc + expiry_time.minutes
|
||||
user.save
|
||||
return true
|
||||
else
|
||||
@@ -72,5 +73,17 @@ class Employee < ApplicationRecord
|
||||
retry
|
||||
end
|
||||
|
||||
def self.login_expiry_time
|
||||
expiry_time = 30
|
||||
login_expiry = Lookup.collection_of('expiry_time')
|
||||
if !login_expiry.empty?
|
||||
login_expiry.each do |exp_time|
|
||||
if exp_time[0].downcase == "login"
|
||||
expiry_time = exp_time[1].to_i
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
return expiry_time
|
||||
end
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user