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

NAME

MKDoc::Auth - Authentication framework for MKDoc::Core

INSTALLATION

See MKDoc::Setup::Auth.

Once you're done with the install go to http://<yoursite>/.signup.html to see how it works.

INTERFACE

Whenever a user authenticates, the framework will set a user object which can be accessed in $::MKD_USER.

The $::MKD_USER object MUST have the following methods:

$object->login() - the login of the user.
$object->email() - the email address of the user.
$object->full_name() - the full name of the user.

The $::MKD_USER variable can be undefined.

That's it. MKDoc::Auth does not make any other guarantees. Any piece of code which uses MKDoc::Auth through this interface should be able to use any other authentication layer provided they implement the simple $::MKD_USER object described above.

FUNCTIONALITY

Installing this product on an MKDoc::Core site will provide the following services:

/.signup.html

Open a new account - send a confirmation email

/.confirm.html?<confirm_id>

Activate / confirm a new account.

/.login.html

Login / logout / log as someone else.

/~<login>/.edit.html

Edit user account information.

/~<login>/.remove.html

Remove user account.

/.login-recover.html

Recover lost login information - sends an email

/.password-recover.html

Recover lost password for a given login - sends an email.

SPECIAL TRICKS

MKDoc::Auth does not use sessions or cookies. It uses plain simple HTTP authentication.

MKDoc::Auth implement a few tricks to make HTTP authentication possible, including optional authentication and logout mechanisms. Those tricks are explained in this paper:

    http://wiki.slugbug.org.uk/HTTP_Authentication

ADMINISTATION & SECURITY

I have plans to build an autorization framework, MKDoc::Authz, which will be working independently of MKDoc::Auth.

Since there is no autorization mechanisms in place at the moment, there is currently no administration interface to manage users. Admin interface would mean user privileges, user privileges would mean authorization layer.

However, once MKDoc::Authz is done, I plan to release MKDoc::Auth::Admin which will depend on MKDoc::Authz for privileges management.

Meanwhile, MKDoc::Auth implements a very, very simple policy: a given user can only modify or delete his own account.

AUTHOR

Copyright 2003 - MKDoc Holdings Ltd.

Author: Jean-Michel Hiver <jhiver@mkdoc.com>

This module is free software and is distributed under the same license as Perl itself. Use it at your own risk.

SEE ALSO

MKDoc::Auth::User, MKDoc::Auth::TempUser, MKDoc::Auth::Handler::AuthenticateOpt, MKDoc::Auth::Handler::Authenticate, MKDoc::Auth::Plugin::Signup, MKDoc::Auth::Plugin::Confirm, MKDoc::Auth::Plugin::Login, MKDoc::Auth::Plugin::Edit, MKDoc::Auth::Plugin::Recover_Login, MKDoc::Auth::Plugin::Recover_Password, MKDoc::Auth::Plugin::Delete, MKDoc::Core

Help us open-source MKDoc. Join the mkdoc-modules mailing list:

  mkdoc-modules@lists.webarch.co.uk