Author: James Gardner



.. contents ::


*   Built for WSGI applications and middleware
*   Sophisticated and extensible permissions system
*   Built in support for HTTP basic, HTTP digest, form, cookie and OpenID
    authentication methods plus others
*   Easily define users, passwords and roles
*   Designed to be totally extensible so you can use the components to integrate
    with a database, LDAP connection or your own custom system
*   Plays nicely with the `Pylons <>`_ web framework
There is also a `development version <>`_
which you can clone using Mercurial with this command: ``hg clone``.

Get Started

* `Pylons Book <>`_ (the two chapters on *Authentication and
  Authorization* and *Advanced AuthKit* form the AuthKit 0.4 documentation)
* `Module Reference <>`_
* `AuthKit Cookbook <>`_
* `Trac <>`_ - Tickets, Wiki [Note: subversion is out of 
* `Examples <>`_ 
  (click the files link).


`James Gardner <>`_ james at pythonweb dot org 

Development sponsored by `3aims <>`_ and
`Prometheus Research <>`_.



* Bumped SQLAlchemy version to 0.5
* Fixed ticket 67 to add Python 2.4 support, patch by Kumar McMillan

**NOTE**: The old trac system is no longer used. Any outstanding bugs should be
submitted **with patches and tests** to the AuthKit mailing list.


* Added patch by Phil Kershaw for Attribute exhange in OpenID
* Added patch by Phil Kershaw for hiding the continue button during
  OpenID redirection
* Changed cookie handling so that if nouserincookie is set, the user data as
  well as the username is stored in the session rather than the cookie
* Added a user_data function to the form method so you can set arbitrary
  user data messages via the same mechanism as other options


* Updated authkit.authenticate.form to handle the suggest change in #61
* Added powerpack adaptors
* Changed the multi middleware to return the WSGI response rather than
  iterating over it and yielding results.
* Fixed #50 OpenID problem and tested on
* Added the ability to pass the environ dictionary to render() functions
* Added bad cookie customisation options to fix #65 but also to allow
  bad cookie template customisation. See the docstring of the 
  authkit.authenticate.cookie module.
* Added a new algorithm based on ideas from #61 to guess the correct action
  for the form produced by the form middleware but also added support for
  an authkit.form.action option which allows you to manually override 
  AuthKit's guess. (The OpenID middleware calls this baseurl)
* Added user_set_password() methods to users API. Fixes #64.
* Removed arabic letters from the form handler. Fixes #40.
* Added headers to the form handling for IE. Fixes #54.
* Adding SQLAlchemy 0.5 support, uses session.add() instead of
* The multi handler now handles WSGI applications implemented as iterators,
  it already supported generators. The example demonstrates this.
* Set the pylons.status_code_redirect environment variable on all redirected 
  AuthKit responses
* Set the pylons.error_call environment variable on all redirected AuthKit
* Trigger an error when trying to use server-side password encryption with 
  digest authentication


* Applied most of #59 and tested the two OpenID examples
* Added support for WebOb HTTPExceptions to remove a deprecation warning in 
  Pylons 0.9.7
* Fixed a missing md5 import in the cookie module
* Applied patch in ticket #52

* Added ``setup.fakeuser`` option which automatically sets the REMOTE_USER
  so that it appears someone has signed in. Useful with setup.enable = False

* The ``setup.enable = false`` option now also dis