NAME
Developer::Dashboard::SessionStore - file-backed browser sessions
SYNOPSIS
my $sessions = Developer::Dashboard::SessionStore->new(paths => $paths);
my $session = $sessions->create(username => 'mvu');
DESCRIPTION
This module stores helper login sessions on disk so the web application can persist authenticated helper access between requests.
METHODS
new, create, get, delete, from_cookie
Construct and manage session records.
PURPOSE
This module stores helper login sessions with remote-address binding and expiry metadata. It is the persistence layer behind helper login cookies and the helper-only browser access model.
WHY IT EXISTS
It exists because helper authentication needs durable session state with explicit security rules. By keeping that state in one store, login, logout, and request-auth checks all validate the same session contract.
WHEN TO USE
Use this file when changing helper session lifetime, binding rules, or the stored session record shape.
HOW TO USE
Construct it with the active path registry and use its session create/load/delete methods from the auth-aware web routes instead of reading session files directly.
WHAT USES IT
It is used by the web app login/logout flow, by auth tests that verify expiry and remote binding, and by helper-access integration smoke.
EXAMPLES
Example 1:
perl -Ilib -MDeveloper::Dashboard::SessionStore -e 1
Do a direct compile-and-load check against the module from a source checkout.
Example 2:
prove -lv t/03-web-app.t t/08-web-update-coverage.t
Run the focused regression tests that most directly exercise this module's behavior.
Example 3:
HARNESS_PERL_SWITCHES=-MDevel::Cover prove -lr t
Recheck the module under the repository coverage gate rather than relying on a load-only probe.
Example 4:
prove -lr t
Put any module-level change back through the entire repository suite before release.