<?xml version="1.0" encoding="UTF-8" ?>
<rdf:RDF xmlns="http://usefulinc.com/ns/doap#" xmlns:foaf="http://xmlns.com/foaf/0.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"><Project><name>AuthKit</name>
<shortdesc>An authentication and authorization toolkit for WSGI applications and frameworks</shortdesc>
<description>AuthKit
+++++++

.. contents ::

Summary
=======

*   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 &lt;http://pylonshq.com&gt;`_ web framework
    
There is also a `development version
&lt;http://authkit.org/svn/AuthKit/trunk#egg=AuthKit-dev&gt;`_.

Get Started
===========

* `Download and Installation &lt;http://python.org/pypi/AuthKit/0.4.0&gt;`_
* `Pylons Book &lt;http://pylonsbook.com&gt;`_ (the two chapters on *Authentication and
  Authorization* and *Advanced AuthKit* form the AuthKit 0.4 documentation)
* `Module Reference &lt;http://authkit.org/docs/0.4/module-index.html&gt;`_
* `AuthKit Cookbook &lt;http://wiki.pylonshq.com/display/authkitcookbook/Home&gt;`_
* `Trac &lt;http://authkit.org/trac&gt;`_ - Tickets, Wiki, Subversion
* `Examples &lt;http://authkit.org/trac/browser/AuthKit/trunk/examples&gt;`_

Author
======

`James Gardner &lt;http://jimmyg.org/&gt;`_ james at pythonweb dot org 

Development sponsored by `3aims &lt;http://3aims.com/&gt;`_ and
`Prometheus Research &lt;http://www.prometheusresearch.com/&gt;`_.


Changes
=======

0.4.3

* 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 blogger.com
* 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 session.save()
* The multi handler now handles WSGI applications implemented as iterators,
  it already supported generators. The multi2.py 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
  responses
* Trigger an error when trying to use server-side password encryption with 
  digest authentication

0.4.2

* 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
   
0.4.1 

* 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 disables  authorisation         
  checks (reported by Rick Flosi)                                              

* Applied patch from Pawel Niewiadomski to fix #53
* Changed the import of the openid.sreg module to openid.extensions.sreg
* Fixed the encoding of the form.py file
* Updated the examples to use the latest syntax
* Updated the tests for the new SQLAlchemy drivers
* Added Daniel Pronych's SQLAlchemy drivers but with significant changes
* Fixed a bug due to a change in the latest version of Python OpenID
  so that AuthKit OpenID works with Yahoo sign-ins. Phil Kershaw #50
* Updated the user/database example, it now works #43
* Updated user tokens code to fix #17
* Updated authkit.authenticate.multi so that it should fix #41 and pass
  the WSGI writable from start_response() correctly.
* Added a form.method option so you can choose GET authentication for
  cases when another piece of middleware has already parsed the form 
  variables (eg with repoze?).
* Fixed bug in form action generation for non-standard ports
* Fixed bug reported by Sam Gentle where remote addr is obtained from 
  X_FORWARDED_FOR after multiple proxies.
* AuthKit form authentication now picks up HTTP_X_FORWARDED_HOST and
  HTTP_X_FORWARDED_PORT when generating an action. This allows you to run
  an AuthKit app on port 80, proxied from 443 as long as you set up these
  two (slightly unstandard) variables.
* Fixed #38, cookie sign out path should match the path specified in 
  the config file.
* Fixed #37, missing import of sys in digest authentication
* Updated SQLAlchemy code to use SQLAlchemyManager. Needs installing 
  manually with ``easy_install SQLAlchemyManager``.
* Added a user management api_version attribute and changed the API so that
  the users object is set up on each request and recieves an environ
  argument.
* OpenID middleware now no longer sets up beaker middleware itself. This 
  should now be done manually in the middleware stack. See the example in 
  examples/docs/open_id.py
* OpenID support now upgraded to use 2.0 (from Dalius Dobravolskas)
* Fixed encrypt typo with postgres users driver
* The cookie middleware now has a nouserincookie option which forces the 
  middleware to store the username in a Beaker session rather than in plain
  text in the cookie. See examples/docs/form_no_user_in_cookie.py for an
  example of its use.
* Form authentication method now defaults to 200 OK rather than 401 when 
  the sign in form is displayed so that it works with Safari 3 Beta. 
* The cookie middleware Bad Ticket page now also uses 200 OK, also to 
  support Safari 3 Beta.
* The cookie middleware bad ticket now logs to debug rather than error to 
  avoid the ``No handlers could be found for logger 
  "authkit.authenticate.cookie"`` message you get with a bad cookie if no
  error logging is specifically set up.
* Added a user management api_version attribute and changed the API so that
  the users object is set up on each request and recieves an environ
  argument.
* Fixed encrypt typo with postgres users driver
* Renamed the config_paste option to app_conf in authenticate middleware. If 
  you get an "No authkit.setup.method was specified" error when you are sure
  it is specified, this might be why.



License
=======

Copyright (c) Copyright 2005-2007 James Gardner &lt;james at pythonweb dot org&gt;

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.


Download
========</description>
<homepage rdf:resource="http://authkit.org/" />
<maintainer><foaf:Person><foaf:name>James Gardner</foaf:name>
<foaf:mbox_sha1sum>2c957714293529cd7baee30b164584441a8115cb</foaf:mbox_sha1sum></foaf:Person></maintainer>
<release><Version><revision>0.4.3</revision></Version></release>
</Project></rdf:RDF>