changeset 13:b6d63e78d396

Remove minimal-auth filter (moved it to bitsyblog.auth_factory)
author ejucovy@socialplanning
date Tue, 19 Jan 2010 14:52:04 -0500
parents 2efb1b30da4a
children 372a913c1051
files bitsyauth/minimal.py
diffstat 1 files changed, 0 insertions(+), 69 deletions(-) [+]
line wrap: on
line diff
--- a/bitsyauth/minimal.py	Tue Jan 05 18:18:35 2010 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,69 +0,0 @@
-from webob import Request
-
-import os
-
-def getpw(basedir, user):
-    file = os.path.join(basedir, user, '.password')
-
-    try:
-        fp = open(file)
-    except IOError:
-        return None
-
-    pw = fp.read().strip()
-    fp.close()
-    return pw
-
-# from paste.auth.digest
-try:
-    from hashlib import md5
-except ImportError:
-    from md5 import md5
-def hash(user, pw, realm):
-    return md5("%s:%s:%s" % (user, realm, pw)).hexdigest()
-
-class BitsyblogFilespaceAuth(object):
-    def __init__(self, realm, basedir):
-        self.realm = realm
-        self.basedir = basedir
-    def __call__(self, user, pw):
-        stored = getpw(self.basedir, user)
-        if stored is None:
-            return False
-        return hash(user, pw, self.realm) == stored
-
-def filter_factory(global_conf, realm=None, basedir=None):
-    #from paste.util.import_string import eval_import
-    #authfunc = eval_import(authfunc)
-
-    authfunc = BitsyblogFilespaceAuth(realm, basedir)
-
-    def filter(app):        
-        return BasicAuthMiddleware(app, realm, authfunc)
-    return filter
-
-class BasicAuthMiddleware(object):
-    def __init__(self, app, realm, auth_checker):
-        self.app = app
-        self.realm = realm
-        self.auth_checker = auth_checker
-
-    def __call__(self, environ, start_response):
-        req = Request(environ)
-
-        header = req.authorization
-        if not header:
-            return self.app(environ, start_response)
-
-        (method, auth) = header.split(' ', 1)
-        if method.lower() != 'basic':
-            return self.app(environ, start_response)
-
-        auth = auth.strip().decode('base64')
-        
-        username, password = auth.split(':', 1)
-
-        if self.auth_checker(username, password):
-            environ['REMOTE_USER'] = username
-        
-        return self.app(environ, start_response)