# NAME
Auth::YubiKey::Client::Web - Authenticate using the Yubico Web API
# VERSION
version 0.0.2
# SYNOPSIS
use Auth::YubiKey::Client::Web;
my $yubiauth = Auth::YubiKey::Client::Web->new(
id => $id,
api_key => $apikey,
);
my $result = $yubiauth->verify_otp($input);
if ($result->is_success) {
say 'Good to go';
say 'user-id: ' . $result->public_id;
}
else {
say 'Oh dear: ' . $result->status;
}
# CLASS ATTRIBUTES
## id
## api\_key
## verify\_url
## ua
# METHODS
## nonce()
This function returns a
[nonce](
http://en.wikipedia.org/wiki/Cryptographic_nonce) for use in the
validation step,
my $nonce = nonce();
## verify\_otp($self, $otp)
Given an OTP make a call to the remote service and validate the value
provided.
This method returns an [Auth::YubiKey::Client::Web::Response](
https://metacpan.org/pod/Auth::YubiKey::Client::Web::Response) object which
can be queried for the validity of the request.
my $response = $self->verify_otp( $otp );
if ($response->is_success) {
# yay!
}
else {
# boo!
}
# API KEY
To use this module you will require an API key from Yubico. You can
get a key by visiting the following page and entering the required
information:
- [
https://upgrade.yubico.com/getapikey/](
https://upgrade.yubico.com/getapikey/)
# FURTHER READING
Here are some related, useful or interesting links:
- [How do I get an API-Key for YubiKey development?](
https://www.yubico.com/faq/api-key-yubikey-development/)
- [Validation Protocol Version 2.0](
https://github.com/Yubico/yubikey-val/wiki/ValidationProtocolV20)
# AUTHOR
Chisel <
[email protected]>
# COPYRIGHT AND LICENSE
This software is copyright (c) 2013 by Chisel Wright.
This is free software; you can redistribute it and/or modify it under
the same terms as the Perl 5 programming language system itself.