Lines 57-62
use Digest::MD5 qw( md5_base64 );
Link Here
|
57 |
use Encode; |
57 |
use Encode; |
58 |
use C4::Context; |
58 |
use C4::Context; |
59 |
use Koha::Exceptions::Token; |
59 |
use Koha::Exceptions::Token; |
|
|
60 |
use Koha::Session; |
61 |
|
60 |
use base qw(Class::Accessor); |
62 |
use base qw(Class::Accessor); |
61 |
use constant HMAC_SHA1_LENGTH => 20; |
63 |
use constant HMAC_SHA1_LENGTH => 20; |
62 |
use constant CSRF_EXPIRY_HOURS => 8; # 8 hours instead of 7 days.. |
64 |
use constant CSRF_EXPIRY_HOURS => 8; # 8 hours instead of 7 days.. |
Lines 215-225
sub decode_jwt {
Link Here
|
215 |
sub _add_default_csrf_params { |
217 |
sub _add_default_csrf_params { |
216 |
my ( $params ) = @_; |
218 |
my ( $params ) = @_; |
217 |
$params->{session_id} //= DEFA_SESSION_ID; |
219 |
$params->{session_id} //= DEFA_SESSION_ID; |
218 |
my $userenv = C4::Context->userenv; |
220 |
|
219 |
if ( ( !$userenv ) || !$userenv->{id} ) { |
221 |
my $id; |
220 |
$userenv = { id => DEFA_SESSION_USERID }; |
222 |
my $session = Koha::Session->get_session( { sessionID => $params->{session_id} } ); |
|
|
223 |
if ($session) { |
224 |
$id = $session->param('id'); |
221 |
} |
225 |
} |
222 |
$params->{id} //= Encode::encode( 'UTF-8', $userenv->{id} ); |
226 |
if ( !$id ) { |
|
|
227 |
$id = DEFA_SESSION_USERID; |
228 |
} |
229 |
|
230 |
$params->{id} //= Encode::encode( 'UTF-8', $id ); |
223 |
$params->{id} .= '_' . $params->{session_id}; |
231 |
$params->{id} .= '_' . $params->{session_id}; |
224 |
|
232 |
|
225 |
my $pw = C4::Context->config('pass'); |
233 |
my $pw = C4::Context->config('pass'); |
226 |
- |
|
|