Rack::Session::Cookie provides simple cookie
based session management. By default, the session is a Ruby Hash stored as
base64 encoded marshalled data set to :key (default: rack.session). The
object that encodes the session data is configurable and must respond to
encode and decode. Both methods must take a string and
return a string.
When the secret key is set, cookie data is checked for data integrity. The
old secret key is also accepted and allows graceful secret rotation.
Example:
use Rack::Session::Cookie, :key => 'rack.session',
:domain => 'foo.com',
:path => '/',
:expire_after => 2592000,
:secret => 'change_me',
:old_secret => 'also_change_me'
All parameters are optional.
Example of a cookie with no encoding:
Rack::Session::Cookie.new(application, {
:coder => Rack::Session::Cookie::Identity.new
})
Example of a cookie with custom encoding:
Rack::Session::Cookie.new(application, {
:coder => Class.new {
def encode(str); str.reverse; end
def decode(str); str.reverse; end
}.new
})