The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

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 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 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/

FURTHER READING

Here are some related, useful or interesting links:

How do I get an API-Key for YubiKey development?
Validation Protocol Version 2.0

AUTHOR

Chisel <chisel@chizography.net>

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.