Perl Authieren :: Eid und Google Authenticator - unvereinbar?
-
26-10-2019 - |
Frage
Mein Verständnis (was offensichtlich falsch sein kann) ist, dass die Authieren :: Eid Das Modul ist mit den von der Google Authenticator -App generierten TOTP -Codes kompatibel. Aber es funktioniert bei mir nicht, während ein ähnliches Rubincode dies tut. Wir sind hier ein Perl -Shop und es würde helfen, wenn mich jemand in die richtige Richtung verweisen könnte, um mich daran zu hindern, beide Bibliothekenzeilen nach Zeile durchzugraben.
Dieser Rubin funktioniert kompatibel:
require 'rubygems'
require 'rotp'
secret = "bqagf6ohx4rp3a67"
puts ROTP::TOTP.new(secret).now.to_s
Diese Perl nicht:
use Authen::OATH;
my $oath = Authen::OATH->new();
my $totp = $oath->totp(" bqagf6ohx4rp3a67" );
print "$totp\n";
Lösung
Aus der Dokumentation ist es nicht sehr klar, aber Authen::OATH
erwartet die unversehrten Passwörter zu totp
und hotp
. Wenn dies keine Option ist, können Sie es versuchen decode_base32
aus Convert :: Base32
use Convert::Base32;
use Authen::OATH;
my $oath = Authen::OATH->new();
my $totp = $oath->totp( decode_base32( "bqagf6ohx4rp3a67" ) );
print "$totp\n";
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow