[Repoze-checkins] r790 - repoze.pam/tags/0.5

Chris McDonough chrism at agendaless.com
Sun Mar 9 14:25:08 UTC 2008


Author: Chris McDonough <chrism at agendaless.com>
Date: Sun Mar  9 09:25:07 2008
New Revision: 790

Log:
0.5 (2008-03-09)

 - Allow "remote user key" (default: REMOTE_USER) to be overridden
   (pass in remote_user_key to middleware constructor).

 - Allow form plugin to override the default form.

 - API change: IIdentifiers are no longer required to put both 'login'
   and 'password' in a returned identity dictionary.  Instead, an
   IIdentifier can place arbitrary key/value pairs in the identity
   dictionary (or return an empty dictionary).

 - API return value change: the "failure" identity which IIdentifiers
   return is now None rather than an empty dictionary.

 - The IAuthenticator interface now specifies that IAuthenticators
   must not raise an exception when evaluating an identity that does
   not have "expected" key/value pairs (e.g. when an IAuthenticator
   that expects login and password inspects an identity returned by an
   IP-based auth system which only puts the IP address in the
   identity); instead they fail gracefully by returning None.

 - Add (cookie) "auth_tkt" identification plugin.

 - Stamp identity dictionaries with a userid by placing a key named
   'repoze.pam.userid' into the identity for each authenticated
   identity.

 - If an IIdentifier plugin inserts a 'repoze.pam.userid' key into the
   identity dictionary, consider this identity "preauthenticated".  No
   authenticator plugins will be asked to authenticate this identity.
   This is designed for things like the recently added auth_tkt
   plugin, which embeds the user id into the ticket.  This effectively
   alllows an IIdentifier plugin to become an IAuthenticator plugin
   when breaking apart the responsibility into two separate plugins is
   "make-work".  Preauthenticated identities will be selected first
   when deciding which identity to use for any given request.

 - Insert a 'repoze.pam.identity' key into the WSGI environment on
   ingress if an identity is found.  Its value will be the identity
   dictionary related to the identity selected by repoze.pam on
   ingress.  Downstream consumers are allowed to mutate this
   dictionary; this value is passed to "remember" and "forget", so its
   main use is to do a "credentials reset"; e.g. a user has changed
   his username or password within the application, but we don't want
   to force him to log in again after he does so.



Added:
   repoze.pam/tags/0.5/
      - copied from r789, /repoze.pam/trunk/


More information about the Repoze-checkins mailing list