From 56f4197ede96f6ba043bdf80d8047cd2c7f2f87f Mon Sep 17 00:00:00 2001 From: Tomas Cohen Arazi Date: Mon, 30 Aug 2021 11:08:30 -0300 Subject: [PATCH] Bug 28772: Update existing keys [STABLE] Signed-off-by: Tomas Cohen Arazi Signed-off-by: Martin Renvoize --- .../atomicupdate/bug_28772_api_keys.perl | 29 +++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100755 installer/data/mysql/atomicupdate/bug_28772_api_keys.perl diff --git a/installer/data/mysql/atomicupdate/bug_28772_api_keys.perl b/installer/data/mysql/atomicupdate/bug_28772_api_keys.perl new file mode 100755 index 0000000000..6265944586 --- /dev/null +++ b/installer/data/mysql/atomicupdate/bug_28772_api_keys.perl @@ -0,0 +1,29 @@ +$DBversion = 'XXX'; +if( CheckVersion( $DBversion ) ) { + + use Koha::AuthUtils qw(hash_password); + + my $sth = $dbh->prepare(q{ + SELECT client_id, secret + FROM api_keys + }); + $sth->execute; + my $results = $sth->fetchall_arrayref({}); + + $sth = $dbh->prepare(q{ + UPDATE api_keys + SET + secret = ? + WHERE + client_id = ? + }); + + foreach my $api_key (@$results) { + unless ( $api_key->{secret} =~ m/^\$2a\$08\$/ ) { + my $digest = Koha::AuthUtils::hash_password( $api_key->{secret} ); + $sth->execute( $digest, $api_key->{client_id} ); + } + } + + NewVersion( $DBversion, 28772, "Store hashed API key secrets" ); +} -- 2.33.0