Remove deprecated base64url implementation

All our target distros now have base64url in Mime::Base64
This commit is contained in:
Maxime Besson 2021-03-03 09:51:19 +01:00
parent e3ecddb8c9
commit a70051e3fe
4 changed files with 7 additions and 46 deletions

View File

@ -4,6 +4,7 @@ package Lemonldap::NG::Portal::2F::Register::U2F;
use strict; use strict;
use Mouse; use Mouse;
use JSON qw(from_json to_json); use JSON qw(from_json to_json);
use MIME::Base64 qw(encode_base64url decode_base64url);
our $VERSION = '2.0.10'; our $VERSION = '2.0.10';
@ -141,7 +142,7 @@ sub run {
{ {
type => 'U2F', type => 'U2F',
name => $keyName, name => $keyName,
_userKey => $self->encode_base64url( $userKey, '' ), _userKey => encode_base64url( $userKey, '' ),
_keyHandle => $keyHandle, _keyHandle => $keyHandle,
epoch => $epoch epoch => $epoch
}; };
@ -347,7 +348,7 @@ sub loadUser {
. $_->{_userKey} . $_->{_userKey}
. "/ _keyHandle = " . "/ _keyHandle = "
. $_->{_keyHandle} ); . $_->{_keyHandle} );
$_->{_userKey} = $self->decode_base64url( $_->{_userKey} ); $_->{_userKey} = decode_base64url( $_->{_userKey} );
push @u2fs, $_; push @u2fs, $_;
} }
} }

View File

@ -7,6 +7,7 @@ package Lemonldap::NG::Portal::2F::U2F;
use strict; use strict;
use Mouse; use Mouse;
use JSON qw(from_json to_json); use JSON qw(from_json to_json);
use MIME::Base64 qw(decode_base64url);
use Lemonldap::NG::Portal::Main::Constants qw( use Lemonldap::NG::Portal::Main::Constants qw(
PE_OK PE_OK
PE_ERROR PE_ERROR
@ -224,7 +225,7 @@ sub loadUser {
. $_->{_userKey} . $_->{_userKey}
. " / _keyHandle = " . " / _keyHandle = "
. $_->{_keyHandle} ); . $_->{_keyHandle} );
$_->{_userKey} = $self->decode_base64url( $_->{_userKey} ); $_->{_userKey} = decode_base64url( $_->{_userKey} );
push @u2fs, $_; push @u2fs, $_;
} }
} }

View File

@ -16,7 +16,8 @@ use Lemonldap::NG::Common::FormEncode;
use Lemonldap::NG::Common::UserAgent; use Lemonldap::NG::Common::UserAgent;
use Lemonldap::NG::Common::JWT use Lemonldap::NG::Common::JWT
qw(getAccessTokenSessionId getJWTPayload getJWTHeader getJWTSignature getJWTSignedData); qw(getAccessTokenSessionId getJWTPayload getJWTHeader getJWTSignature getJWTSignedData);
use MIME::Base64 qw/encode_base64 decode_base64/; use MIME::Base64
qw/encode_base64 decode_base64 encode_base64url decode_base64url/;
use Mouse; use Mouse;
use Lemonldap::NG::Portal::Main::Constants qw(PE_OK PE_REDIRECT); use Lemonldap::NG::Portal::Main::Constants qw(PE_OK PE_REDIRECT);
@ -1880,31 +1881,6 @@ sub getRequestJWT {
return $response->decoded_content; return $response->decoded_content;
} }
### Import encode_base64url and decode_base64url from recent MIME::Base64 module:
sub encode_base64url {
my $e = encode_base64( shift, '' );
$e =~ s/=+\z//;
$e =~ tr[+/][-_];
return $e;
}
sub decode_base64url {
my $s = shift;
$s =~ tr[-_][+/];
$s .= '=' while length($s) % 4;
return decode_base64($s);
}
sub encodeBase64url {
my ( $self, $value ) = @_;
return encode_base64url($value);
}
sub decodeBase64url {
my ( $self, $value ) = @_;
return decode_base64url($value);
}
sub addRouteFromConf { sub addRouteFromConf {
my ( $self, $type, %subs ) = @_; my ( $self, $type, %subs ) = @_;
my $adder = "add${type}Route"; my $adder = "add${type}Route";

View File

@ -2,7 +2,6 @@ package Lemonldap::NG::Portal::Lib::U2F;
use strict; use strict;
use Mouse; use Mouse;
use MIME::Base64 qw(encode_base64 decode_base64);
our $VERSION = '2.0.0'; our $VERSION = '2.0.0';
@ -44,20 +43,4 @@ sub crypter {
); );
} }
sub encode_base64url {
shift;
my $e = encode_base64( shift, '' );
$e =~ s/=+\z//;
$e =~ tr[+/][-_];
return $e;
}
sub decode_base64url {
shift;
my $s = shift;
$s =~ tr[-_][+/];
$s .= '=' while length($s) % 4;
return decode_base64($s);
}
1; 1;