=head1 NAME

Mozilla::Persona - Mozilla's Persona framework

=head1 SYNOPSIS

  # See Mozilla::Persona::Server

=head1 DESCRIPTION

B<Warning! this is very new code>, and is not yet in a production
environment (as far as I know)  Please help me improve and extend it!
I promise to respond quickly on reported bugs.

Persona allows you to sign-in to web-sites proving your identity via your
personal domain.  No-one can spoof your account name (email address)
and you only type-in your password once after starting the browser,
reusing it for multiple websites.

Your identity is represented by your email address, for example
C<joe@example.com>, which should also be (one of) your public e-mail
addresses. You have to put some configuration files on the secure
webserver (C<https://example.com>) of that domain.

=head2 Client-side (website to log-in to)

See F<http://www.mozilla.org/en-US/persona/> about the protocol
and the (javascript) client implementation.

=head2 Server implementation

This distribution on CPAN implements the server side, your identity.
Every domain needs to implement this code.  It is not easy and you
need to have an https server running.

=head3 installation

You may have multiple domains on your system.  Each can run a
separate persona service.  This distribution contains a script
named 'persona', to help you configure domains correctly.

   # initialize persona service
   persona setup \
      --domain  example.com \
      --docroot /var/srv/html/ \
      --secrets /etc/persona        # default

   # shorter, minimal
   # persona setup -d example.com -r /var/srv/html

Then

   persona check joe@example.com

The checking helps you through the first configuration problems.

=head3 running a CMS

When you run a CMS, you may need to implement some (Apache) configuration
tricks.  Use a pseudo docroot outside your website.  Configure a rewrite
for C</.browserid/> and C</persona/> to the pseudo docroot.

(B<Who> contributes me with a working example?)

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

