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

NAME

Dancer::Plugin::reCAPTCHA - Easily integrate reCAPTCHA into your Dancer applications

VERSION

version 0.4

METHODS

recaptcha_display( )

Generates the HTML needed to display the CAPTCHA. This HTML is returned as a scalar value, and can easily be plugged into the template system of your choice.

Using Template Toolkit as an example, this might look like:

    # Code
    return template 'accounts/create', { 
        recaptcha => recaptcha_display(),
    };

    # In your accounts/create template
    [% recaptcha %]

recaptcha_check( $$ )

Verify that the value the user entered matches what's in the CAPTCHA. This methods takes two arguments: the challenge string and the response string. These are returned to your Dancer application as two parameters: recaptcha_challenge_field and recaptcha_response_field .

For example:

    my $challenge = param( 'recaptcha_challenge_field' );
    my $response  = param( 'recaptcha_response_field' );
    my $result    = recaptcha_check(
        $challenge, 
        $response,
    );
    die "User didn't match the CAPTCHA" unless $result->{ is_valid };

See Captcha::reCAPTCHA for a description of the result hash.

SYNOPSIS # In your config.yml plugins: reCAPTCHA: public_key: "public key goes here" private_key: "private key goes here" theme: "clean" use_ssl: 0

    # In your application
    use Dancer::Plugin::reCAPTCHA;

    # In your form display....
    return template 'accounts/create', { 
        recaptcha => recaptcha_display(),
    };

    # In your template (TT2)
    [% recaptcha %]

    # In your validation code....
    my $challenge = param( 'recaptcha_challenge_field' );
    my $response  = param( 'recaptcha_response_field' );
    my $result    = recaptcha_check(
        $challenge, 
        $response,
    );
    die "User didn't match the CAPTCHA" unless $result->{ is_valid };

TODO

Add a real test suite.

SEE ALSO

AUTHOR

Jason A. Crome <cromedome@gmail.com>

COPYRIGHT AND LICENSE

This software is copyright (c) 2014 by Jason A. Crome.

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