Warning: Can't synchronize with repository "(default)" (Unsupported version control system "svn": No module named svn). Look in the Trac log for more information.

Ticket #133 (closed defect: fixed)

Opened 14 years ago

Last modified 12 years ago

Provide more hooks in Identity code for user customization

Reported by: seancazzell@… Owned by: Jeff Watkins
Priority: normal Milestone: 0.9
Component: Identity Version:
Severity: normal Keywords:
Cc:

Description

Currently, too much functionality is hard coded in the identity code making it hard to do simple things with authentication (for example, add a "remember login" checkbox to your login form that affects the expiration of cookies).

We are never going to cover 100% of what people need in authentication, so we should cover the basics and provide good defaults but let the user take over whatever aspects they need. As Kevin Dangoor said at the 0.9 IRC meeting "...auth/auth is an insane topic, which is why I'm most keen on having enough plug points rather than trying to accommodate everything".

One thing we could do to start with is let users specify their own IdentityFilter? class (which may subclass IdentityFilter?) so they can customize the login form / cookie handling. Others have also mentioned integrating the new form stuff into Identity which could give added flexibility, but that should be a separate ticket.

Change History

comment:1 Changed 14 years ago by jeff@…

  • Status changed from new to assigned

Can you provide a few more details about what you mean by "more hooks". The only thing that currently can't be replaced is the Filter, and it wouldn't be hard to permit that.

You can already customise which fields the Filter is looking for.

Perhaps the form handling and cookie handling should be pushed off to the Provider. This would basically make the Filter pretty dumb.

comment:2 Changed 14 years ago by anonymous

  • Status changed from assigned to new
  • Owner changed from anonymous to Jeff Watkins

comment:3 Changed 14 years ago by jeff@…

  • Status changed from new to closed
  • Resolution set to fixed

You won't have to touch the filter unless you're looking to add HTTPAuth and AtomAuth?. The IdentityProvider? class now handles almost everything. And you can install your own using the config file.

Note: See TracTickets for help on using tickets.