Mercurial > hg > bitsyauth
comparison bitsyauth/factory.py @ 9:73b2b5bccd52
* allow logout to pass through instead of failing
* add a basic filter factory for single-user bitsyauth wrapper which reads bitsyblog users directory as format (this needs to be factored apart later)
author | egj@socialplanning.org |
---|---|
date | Mon, 04 Jan 2010 03:14:01 +0000 |
parents | c958eb9300da |
children |
comparison
equal
deleted
inserted
replaced
8:c958eb9300da | 9:73b2b5bccd52 |
---|---|
1 from bitsyauth import BitsyAuth | 1 from bitsyauth import BitsyAuth |
2 from paste.auth import digest | 2 from paste.auth import digest |
3 | 3 |
4 def passworder_factory(username, password): | 4 def passworder_factory(username, database): |
5 def passwords(): | 5 def passwords(): |
6 passwords = database.passwords() | |
7 password = passwords[username] | |
6 return {username: password} | 8 return {username: password} |
7 return passwords | 9 return passwords |
8 | 10 |
9 def filter_factory(global_conf, **app_conf): | 11 def filter_factory(global_conf, **app_conf): |
10 | 12 |
11 user = app_conf['user'] | 13 user = app_conf['user'] |
12 site = app_conf.get('site', 'bitsyauth') | 14 site = app_conf.get('site', 'bitsyauth') |
13 secret = app_conf.get('secret', 'secret') | 15 secret = app_conf.get('secret', 'secret') |
14 password = app_conf['password'] | 16 |
15 password = digest.digest_password(site, user, password) | 17 from bitsyblog.user import FilespaceUsers |
16 passwords = passworder_factory(user, password) | 18 |
19 users_directory = FilespaceUsers( | |
20 app_conf['users_directory']) | |
21 | |
22 passwords = passworder_factory(user, users_directory) | |
17 | 23 |
18 def filter(app): | 24 def filter(app): |
19 return BitsyAuth( | 25 ret = BitsyAuth( |
20 app, | 26 app, |
21 global_conf, | 27 global_conf, |
22 passwords, | 28 passwords, |
23 newuser=None, | 29 newuser=None, |
24 site=site, | 30 site=site, |
25 secret=secret) | 31 secret=secret) |
32 return ret | |
26 return filter | 33 return filter |