Class: Warden::SharedSession::Strategy

Inherits:
Warden::Strategies::Base
  • Object
show all
Defined in:
lib/warden/shared_session/strategy.rb

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details



25
26
27
28
29
30
31
# File 'lib/warden/shared_session/strategy.rb', line 25

def self.encrypted_cookie(cookies)
  Warden::SharedSession::EncryptedCookie.new(
    store:  cookies,
    cookie: Warden::SharedSession.config.cookie,
    secret: Warden::SharedSession.config.secret
  )
end

Instance Method Details

#authenticate!Object



14
15
16
17
18
19
20
21
22
23
# File 'lib/warden/shared_session/strategy.rb', line 14

def authenticate!
  key, salt = encrypted_cookie.get
  logger.debug { "Warden::SharedSession#authenticate!: #{key} #{salt}" }
  user = Warden::SharedSession.config.serialize_from_cookie(key, salt)
  logger.debug { "Warden::SharedSession#authenticate!: result: #{user}" }
  success!(user) if user
rescue StandardError => e
  logger.warn "Warden::SharedSession::Strategy failed: #{e}"
  logger.debug { e.backtrace }
end


33
34
35
# File 'lib/warden/shared_session/strategy.rb', line 33

def encrypted_cookie
  @encrypted_cookie ||= Warden::SharedSession::Strategy.encrypted_cookie(cookies)
end

#store?Boolean

Returns:

  • (Boolean)


10
11
12
# File 'lib/warden/shared_session/strategy.rb', line 10

def store?
  false
end

#valid?Boolean

Returns:

  • (Boolean)


5
6
7
8
# File 'lib/warden/shared_session/strategy.rb', line 5

def valid?
  logger.debug { "Warden::SharedSession#valid?: #{cookies[Warden::SharedSession.config.cookie]}" }
  cookies[Warden::SharedSession.config.cookie]
end