Perl Authen :: SERMENT et Google Authenticator - incompatibles?
-
26-10-2019 - |
Question
Si je comprends bien (ce qui peut évidemment se tromper) est que le le module de Authen :: SERMENT est compatible avec les codes TOTP générés par l'application Google Authenticator. Mais ça ne marche pas pour moi, alors qu'un peu similaire de code Ruby fait. Nous sommes un magasin de perl ici et il serait utile si quelqu'un pouvait me diriger dans la bonne direction pour me sauver de creuser à travers les deux ligne par ligne des bibliothèques.
Ce rubis fonctionne compatiblement:
require 'rubygems'
require 'rotp'
secret = "bqagf6ohx4rp3a67"
puts ROTP::TOTP.new(secret).now.to_s
perl n'a pas:
use Authen::OATH;
my $oath = Authen::OATH->new();
my $totp = $oath->totp(" bqagf6ohx4rp3a67" );
print "$totp\n";
La solution
Il est pas très clair de la documentation, mais Authen::OATH
attend les mots de passe non codés à totp
et hotp
. Si ce n'est pas une option, vous pouvez essayer de decode_base32
Convert :: Base32
use Convert::Base32;
use Authen::OATH;
my $oath = Authen::OATH->new();
my $totp = $oath->totp( decode_base32( "bqagf6ohx4rp3a67" ) );
print "$totp\n";
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow