class Authie::RackController
Attributes
request[R]
Public Class Methods
new(env)
click to toggle source
# File lib/authie/rack_controller.rb, line 16 def initialize(env) @env = env @request = ActionDispatch::Request.new(@env) set_browser_id end
Public Instance Methods
auth_session()
click to toggle source
# File lib/authie/rack_controller.rb, line 44 def auth_session @auth_session ||= Session.get_session(self) end
current_user()
click to toggle source
# File lib/authie/rack_controller.rb, line 40 def current_user auth_session.user if auth_session.is_a?(Session) end
current_user=(user)
click to toggle source
# File lib/authie/rack_controller.rb, line 36 def current_user=(user) Session.start(self, user: user) end
set_browser_id()
click to toggle source
Set a random browser ID for this browser.
# File lib/authie/rack_controller.rb, line 27 def set_browser_id until cookies[:browser_id] proposed_browser_id = SecureRandom.uuid unless Session.where(browser_id: proposed_browser_id).exists? cookies[:browser_id] = { value: proposed_browser_id, expires: 20.years.from_now } end end end