View | Details | Raw Unified | Return to bug 34755
Collapse All | Expand All

(-)a/Koha/Token.pm (-5 / +12 lines)
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
- 

Return to bug 34755