module Warden::CookieSession

Constants

VERSION

Attributes

config[RW]

Public Class Methods

configure() { |config| ... } click to toggle source
# File lib/warden/cookie_session.rb, line 20
def configure
  self.config ||= Warden::CookieSession::Configuration.new
  yield(config)
  setup_warden(config)
end
setup_warden(config) click to toggle source
# File lib/warden/cookie_session.rb, line 26
def setup_warden(config)
  Warden::Strategies.add(:cookie_session, Warden::CookieSession::Strategy)

  Warden::Manager.after_set_user do |user, auth, _opts|
    encrypted_cookie = Warden::CookieSession::Strategy.encrypted_cookie(auth.cookies)
    encrypted_cookie.put(config.serialize_record(user), auth.request.domain)
  end

  Warden::Manager.before_logout do |_user, auth, _opts|
    encrypted_cookie = Warden::CookieSession::Strategy.encrypted_cookie(auth.cookies)
    encrypted_cookie.clear(auth.request.domain)
  end
end