NAME
Mojolicious::Sessions - Signed cookie based sessions
SYNOPSIS
use Mojolicious::Sessions;
DESCRIPTION
Mojolicious::Sessions is a very simple signed cookie based session implementation. All data gets serialized with Mojo::JSON and stored on the client side, but is protected from unwanted changes with a signature.
ATTRIBUTES
Mojolicious::Sessions implements the following attributes.
cookie_domain
my $domain = $session->cookie_domain;
$session = $session->cookie_domain('.example.com');
Domain for session cookie, not defined by default.
cookie_name
my $name = $session->cookie_name;
$session = $session->cookie_name('session');
Name of the signed cookie used to store session data, defaults to mojolicious
.
cookie_path
my $path = $session->cookie_path;
$session = $session->cookie_path('/foo');
Path for session cookie, defaults to /
.
default_expiration
my $time = $session->default_expiration;
$session = $session->default_expiration(3600);
Time for the session to expire in seconds from now, defaults to 3600
. The expiration timeout gets refreshed for every request. For more control you can also use the expires
session value to set the expiration date to a specific time in epoch seconds.
# Expire a week from now
$c->session(expires => time + 604800);
# Expire a long long time ago
$c->session(expires => 1);
secure
my $secure = $session->secure;
$session = $session->secure(1);
Set the secure flag on all session cookies, so that browsers send them only over HTTPS connections.
METHODS
Mojolicious::Sessions inherits all methods from Mojo::Base and implements the following ones.
load
$session->load($c);
Load session data from signed cookie.
store
$session->store($c);
Store session data in signed cookie.