Koha-clms/installer/data/mysql/db_revs/210600026.pl

35 lines
868 B
Perl
Executable File

use Modern::Perl;
return {
bug_number => "28772",
description => "Store hashed API key secrets",
up => sub {
my ($args) = @_;
my ($dbh) = @$args{qw(dbh)};
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} );
}
}
},
}