NAME

Authen::OATH::KeyURI - Key URI generator for mobile multi factor authenticator app

SYNOPSIS

use Authen::OATH::KeyURI;

# constructor
my $keyURI = Authen::OATH::KeyURI->new(
    ## required params
    accountname => q{alice@gmail.com},
    secret       => q{example secret}, # raw secret
    issuer      => q{Example},
    ## optional params
    # scheme      => q{otpauth},
    # type        => q{totp},
    # algorithm   => q{SHA1},
    # digits      => 6,
    # counter     => 1,
    # period      => 30,
);

# output
# format : otpauth://TYPE/LABEL?PARAMETERS
print $keyURI->as_string();
# otpauth://totp/Example:alice@google.com?secret=mv4gc3lqnrssa43fmnzgk5a&issuer=Example

# constructor with encoded secret
my $keyURI = Authen::OATH::KeyURI->new(
    ## required params
    accountname => q{alice@gmail.com},
    secret       => q{mv4gc3lqnrssa43fmnzgk5a}, # base32 encoded secret
    issuer      => q{Example},
    is_encoded  => 1,
);

# output
# format : otpauth://TYPE/LABEL?PARAMETERS
print $keyURI->as_string();
# otpauth://totp/Example:alice@google.com?secret=mv4gc3lqnrssa43fmnzgk5a&issuer=Example

DESCRIPTION

Authen::OATH::KeyURI generates a setting URL for software OTP authenticator.

Please refer to a document of Google for the details of parameter.

https://code.google.com/p/google-authenticator/wiki/KeyUriFormat

LICENSE

Copyright (C) ritou.

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

AUTHOR

ritou <ritou.06@gmail.com>