From: Bill Erickson Date: Mon, 19 Aug 2013 13:24:17 +0000 (-0400) Subject: Safe auth token activity logging X-Git-Url: https://old-git.evergreen-ils.org/?a=commitdiff_plain;h=b11e14c0c5901f6826277bdd56704a42d9f18581;p=evergreen%2Fpines.git Safe auth token activity logging Expand safe token generation to include user user ID in the cached data, which can be retrieved later for activity logging. Add activity logging directly to the open-ils.actor.safe_token.home_lib.shortname API. --- diff --git a/Open-ILS/src/perlmods/lib/OpenILS/Application/Actor.pm b/Open-ILS/src/perlmods/lib/OpenILS/Application/Actor.pm index be97787a27..442c1248e7 100644 --- a/Open-ILS/src/perlmods/lib/OpenILS/Application/Actor.pm +++ b/Open-ILS/src/perlmods/lib/OpenILS/Application/Actor.pm @@ -2824,12 +2824,13 @@ sub session_safe_token { $cache ||= OpenSRF::Utils::Cache->new("global", 0); - # Add more like the following if needed... + # add more user fields as needed $cache->put_cache( - "safe-token-home_lib-shortname-$safe_token", - $e->retrieve_actor_org_unit( - $e->requestor->home_ou - )->shortname, + "safe-token-user-$safe_token", { + id => $e->requestor->id, + home_ou_shortname => $e->retrieve_actor_org_unit( + $e->requestor->home_ou)->shortname, + }, 60 * 60 ); @@ -2849,10 +2850,14 @@ __PACKAGE__->register_method( ); sub safe_token_home_lib { - my( $self, $conn, $safe_token ) = @_; - + my( $self, $conn, $safe_token, $who ) = @_; $cache ||= OpenSRF::Utils::Cache->new("global", 0); - return $cache->get_cache( 'safe-token-home_lib-shortname-'. $safe_token ); + + my $blob = $cache->get_cache("safe-token-user-$safe_token"); + return unless $blob; + + $U->log_user_activity($blob->{id}, $who, 'verify'); + return $blob->{home_ou_shortname}; }