You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
cartodb/lib/carto/authentication_manager.rb

24 lines
629 B

module Carto
class AuthenticationManager
def self.validate_session(warden_context, request, user)
return true if session_security_token_valid?(warden_context, user)
request.reset_session
false
end
def self.session_security_token_valid?(warden_context, user)
session = warden_context.session(user.username)
return false unless session.key?(:sec_token)
return true if session[:sec_token] == user.security_token
raise Carto::ExpiredSessionError.new
rescue Warden::NotAuthenticated
false
end
private_class_method :session_security_token_valid?
end
end