=head1 NAME

Mozilla::Persona::Validate - validate the existence of the user

=head1 INHERITANCE

 Mozilla::Persona::Validate is extended by
   Mozilla::Persona::Validate::Htpasswd
   Mozilla::Persona::Validate::IMAPTalk
   Mozilla::Persona::Validate::Table

=head1 SYNOPSIS

  # add to the configation of $domain.json
  { ...
    "validate" : {
      "class" : "Mozilla::Persona::Validate::Table"
      ...options for new()...
    },
    ...
  }

=head1 DESCRIPTION

The validator object must ensure that the user/password combination
is valid.  Various approaches are possible, but only a few implemented.
Please contribute.

Ideas/implementations for validators:

=over 4

=item * Mozilla::Persona::Validate::Table

Maintained is a table of username/password combinations (passwords are
always kept encrypted).

=item * L<Mozilla::Persona::Validate::IMAPTalk|Mozilla::Persona::Validate::IMAPTalk>

The Mail::IMAPTalk implementation is used to contact an IMAP4 server
with the username/password.  When login for that server is successful,
then the user is valid, access is granted.

=item * Mozilla::Persona::Validate::HtAccess>

Use htaccess format files, which simplifies integration with websites.

=item * Mozilla::Persona::Validate::IMAPClient>

(To be implemented) Use the more popular Mail::IMAPClient to validate.

=back

=head1 METHODS

=head2 Constructors

=over 4

=item Mozilla::Persona::Validate-E<gt>B<new>(OPTIONS)

=back

=head2 Validation

=over 4

=item $obj-E<gt>B<isValid>(USER, PASSWORD)

=back

=head1 SEE ALSO

This module is part of Mozilla-Persona distribution version 0.12,
built on November 22, 2012. Website: F<http://perl.overmeer.net>.  The code is based on the MulkyID code by
Matthias Benkard.

Persona is described at F<http://www.mozilla.org/persona/>

=head1 COPYRIGHTS

Copyrights of the perl code and the related documentation by
2012 by [Mark Overmeer]. For other contributors see ChangeLog.

This program is free software; you can redistribute it and/or modify it
under the same terms as Perl itself.
See F<http://www.perl.com/perl/misc/Artistic.html>

