CatalystX::SimpleLogin::Form::LoginOpenID - OpenID validation role for the login form


CatalystX-SimpleLogin documentation Contained in the CatalystX-SimpleLogin distribution.

Index


Code Index:

NAME

Top

CatalystX::SimpleLogin::Form::LoginOpenID - OpenID validation role for the login form

DESCRIPTION

Top

A HTML::FormHandler role form for the login form.

FIELDS

Top

openid_identifier
openid-check
openid_error_message

METHODS

Top

add_auth_errors

SEE ALSO

Top

CatalystX::SimpleLogin::ControllerRole::Login

AUTHORS

Top

See CatalystX::SimpleLogin for authors.

LICENSE

Top

See CatalystX::SimpleLogin for license.


CatalystX-SimpleLogin documentation Contained in the CatalystX-SimpleLogin distribution.

package CatalystX::SimpleLogin::Form::LoginOpenID;
use HTML::FormHandler::Moose::Role;

use MooseX::Types::Common::String qw/ NonEmptySimpleStr /;

BEGIN {
    unless (
        eval { require Crypt::DH } &&
        eval { require Catalyst::Authentication::Credential::OpenID; }
    ) {
        warn("Cannot load " . __PACKAGE__ . " - Catalyst OpenID authentication credential not installed\n");
        exit 1;
    }
}

has_field 'openid_identifier' => ( type => 'Text' );
has_field 'openid-check' => ( widget => 'no_render' );

has 'openid_error_message' => (
    is => 'ro',
    isa => NonEmptySimpleStr,
    required => 1,
    default => 'Invalid OpenID',
);

after 'add_auth_errors' => sub {
    my $self = shift;
    $self->field( 'openid_identifier' )->add_error( $self->openid_error_message ) 
      if $self->field( 'openid-check' )->value or defined $self->field( 'openid_identifier' )->value;
};

1;