@@ -, +, @@ --- Koha/Template/Plugin/Koha.pm | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) --- a/Koha/Template/Plugin/Koha.pm +++ a/Koha/Template/Plugin/Koha.pm @@ -24,6 +24,7 @@ use base qw( Template::Plugin ); use C4::Context; use Koha::Token; use Koha; +use Koha::Cache::Memory::Lite; =head1 NAME @@ -107,8 +108,16 @@ Generate a new CSRF token. sub GenerateCSRF { my ($self) = @_; + + my $memory_cache = Koha::Cache::Memory::Lite->get_instance; + my $cache_key = "CSRF_TOKEN"; + my $cached = $memory_cache->get_from_cache($cache_key); + return $cached if $cached; + my $session_id = $self->{_CONTEXT}->stash->{sessionID}; - return Koha::Token->new->generate_csrf( { session_id => scalar $session_id } ); + my $csrf_token = Koha::Token->new->generate_csrf( { session_id => scalar $session_id } ); + $memory_cache->set_in_cache( $cache_key, $csrf_token ); + return $csrf_token; } 1; --