totp 502 B

12345678910111213141516171819202122
  1. #!/usr/bin/env perl
  2. use strict;
  3. use warnings;
  4. use FindBin::libs;
  5. use Trog::Auth;
  6. my $user = shift @ARGV;
  7. my $domain = shift @ARGV;
  8. die "Must provide a user" unless $user;
  9. die "Must provide a domain" unless $domain;
  10. my $dbh = Trog::Auth::_dbh();
  11. my $rows = $dbh->selectall_arrayref( "SELECT name, totp_secret FROM user WHERE name = ?", { Slice => {} }, $user );
  12. die "no such user" unless @$rows;
  13. my $secret = $rows->[0]->{totp_secret};
  14. print Trog::Auth::expected_totp_code(undef, $secret)."\n";