NAME
Catalyst::Authentication::RedmineCookie - Decode the redmine cookie _redmine_session
SYNOPSIS
package
TestApp;
__PACKAGE__->config(
'Plugin::Authentication'
=> {
default_realm
=>
'redmine_cookie'
,
realms
=> {
redmine_cookie
=> {
credential
=> {
class
=>
'RedmineCookie'
,
# examples
cmd
=> [
qw(ssh redmine.server rails4_cookie_to_json.rb)
],
cmd
=> [
qw(sudo jexec redmine rails4_cookie_to_json.rb)
],
},
# It does not specify a store, it works with NullStore.
store
=> {
class
=>
'DBIx::Class'
,
user_model
=>
'DBIC::Users'
,
}
},
},
},
# Not required for NullStore.
'Model::DBIC'
=> {
schema_class
=>
"Catalyst::Authentication::RedmineCookie::Schema"
,
compose_namespaces
=> 0,
connect_info
=> [
"DBI:mysql:database=redmine"
,
'user'
,
'pass'
,
{
RaiseError
=> 1,
PrintError
=> 0,
AutoCommit
=> 1,
pg_enable_utf8
=> 1,
# for pg
mysql_enable_utf8
=> 1,
# for mysql
quote_names
=> 1,
}
],
},
);
__PACKAGE__->setup(
'Authentication'
,
);
package
TestApp::Controller::Root;
sub
index
:Path(
'/'
) {
my
(
$self
,
$c
) =
@_
;
$c
->authenticate;
# If the store is Null
if
(
$c
->user) {
ref
$c
->user;
# Catalyst::Authentication::User::Hash
ref
YAML::Syck::Dump(
$c
->user);
# --- !!perl/hash:Catalyst::Authentication::User::Hash
# _redmine_cookie:
# _csrf_token: 7fwDk6DF6aCWepctbBGvawotX2tQBDSXZJ7CXcUtD7o=
# session_id: 422c2d4f6ad5ee804d54c73946d35802
# sudo_timestamp: '1578451011'
# tk: addd76728a211c7124e4f4bf90455ecfa6b039e6
# user_id: 1
# auth_realm: redmine_cookie
# id: 1
}
# If the store is DBIx::Class
if
(
$c
->user) {
ref
$c
->user;
# Catalyst::Authentication::Store::DBIx::Class::User
ref
$c
->user->get_object;
# TestApp::Model::DBIC::Users
}
}
1;
AUTHOR
Tomohiro Hosaka, <bokutin@bokut.in>
COPYRIGHT AND LICENSE
The Catalyst::Authentication::RedmineCookie module is
Copyright (C) 2020 by Tomohiro Hosaka
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself, either Perl version 5.8.0 or, at your option, any later version of Perl 5 you may have available.