NAME
Catalyst::TraitFor::Controller::reCAPTCHA - authenticate people and read books!
VERSION
version 2.00
SYNOPSIS
In your controller
package MyApp::Controller::Comment;
use Moose;
use namespace::autoclean;
BEGIN { extends 'Catalyst::Controller' }
with 'Catalyst::TraitFor::Controller::reCAPTCHA';
sub example : Local {
my ( $self, $c ) = @;
# validate received form
if ( $c->forward('captcha_check') ) {
$c->detach('my_form_is_ok');
}
# Set reCAPTCHA html code
$c->forward('captcha_get');
}
1;
SUMMARY
Catalyst::Controller role around Captcha::reCAPTCHA. Provides a number of Private
methods that deal with the recaptcha.
This module is based/copied from Catalyst::Controller::reCAPTCHA, it just adds support for option passing and automatically sets ssl when used on a secure request.
If you are using Catalyst::Controller::reCAPTCHA and want to move to this role, you only need to stop extending Catalyst::Controller and apply this role as shown in the SYNOPSIS.
CONFIGURATION
In MyApp.pm (or equivalent in config file):
__PACKAGE__->config->{recaptcha} = {
pub_key => '6LcsbAAAAAAAAPDSlBaVGXjMo1kJHwUiHzO2TDze',
priv_key => '6LcsbAAAAAAAANQQGqwsnkrTd7QTGRBKQQZwBH-L',
options => { theme => 'white' },
version => 'v2' ## reCaptcha version default (v1)
};
(the two keys above work for http://localhost unless someone hammers the reCAPTCHA server with failures, in which case the API keys get a temporary ban).
METHODS
captcha_get : Private
Sets $c->stash->{recaptcha} to be the html form for the http://recaptcha.net/ reCAPTCHA service which can be included in your HTML form.
captcha_check : Private
Validates the reCaptcha using Captcha::reCAPTCHA. sets $c->stash->{recaptcha_ok} which will be 1 on success. The action also returns true if there is success. This means you can do:
if ( $c->forward(captcha_check) ) {
# do something based on the reCAPTCHA passing
}
or alternatively:
$c->forward(captcha_check);
if ( $c->stash->{recaptcha_ok} ) {
# do something based on the reCAPTCHA passing
}
If there's an error, $c->stash->{recaptcha_error} is set with the error string provided by Captcha::reCAPTCHA.
SEE ALSO
ACKNOWLEDGEMENTS
This module is almost copied from Kieren Diment Catalyst::Controller::reCAPTCHA.
AUTHOR
Diego Kuperman <diego@freekeylabs.com>
COPYRIGHT AND LICENSE
This software is copyright (c) 2017 by Diego Kuperman.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.