NAME
Catalyst::Plugin::Session::State::Header - Manipulate session IDs by auth headers.
SYNOPSIS
use Catalyst qw/Session Session::State::Header Session::Store::Foo/;
...;
__PACKAGE__->config('Plugin::Session' => {
auth_header => 'x-auth',
allowed_uri => '^/api/',
});
DESCRIPTION
In order for Catalyst::Plugin::Session to work the session data needs to be stored on the server. To link session on server with client we need to pass somehow session_id to the server, and server should accept it.
This plugin accepts session_id using headers. It is usable for APIs, when we need to path auth information in the headers, for example, in x-auth header.
CONFIGURATION
- auth_header
-
Header name, in which authentication info should be passed. For example, x-auth.
- allowed_uri
-
Regexp for URI validation. If specified, this plugin will be enabled only for paths matched by regexp that was provided. Otherwise, all URIs will be affected.
METHODS
- extend_session_id
- set_session_id
- get_session_id
- delete_session_id
- uni_path
-
Returns unified catalyst path with heading and ending slashes and withoud slash repetitions. Catalyst path ($c->request->path()) returns controller path as is, so, it path could be: api///login/ api/login api/login///
But for catalyst these paths are the same, so, this method will return /api/login/ for each of them.
SEE ALSO
Catalyst Catalyst::Plugin::Session Catalyst::Plugin::Session::State::Cookie Catalyst::Plugin::Session::State::URI
LICENSE
This program is free software, you can redistribute it and/or modify it under the same terms as Perl itself.