# 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 # 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.