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

(-)a/installer/data/mysql/atomicupdate/bug_28772_api_keys.perl (-1 / +29 lines)
Line 0 Link Here
0
- 
1
$DBversion = 'XXX';
2
if( CheckVersion( $DBversion ) ) {
3
4
    use Koha::AuthUtils qw(hash_password);
5
6
    my $sth = $dbh->prepare(q{
7
        SELECT client_id, secret
8
        FROM api_keys
9
    });
10
    $sth->execute;
11
    my $results = $sth->fetchall_arrayref({});
12
13
    $sth = $dbh->prepare(q{
14
        UPDATE api_keys
15
        SET
16
            secret = ?
17
        WHERE
18
            client_id = ?
19
    });
20
21
    foreach my $api_key (@$results) {
22
        unless ( $api_key->{secret} =~ m/^\$2a\$08\$/ ) {
23
            my $digest = Koha::AuthUtils::hash_password( $api_key->{secret} );
24
            $sth->execute( $digest, $api_key->{client_id} );
25
        }
26
    }
27
28
    NewVersion( $DBversion, 28772, "Store hashed API key secrets" );
29
}

Return to bug 28772