From dd69956a7c29e203f3cd768f69736577436fee6d Mon Sep 17 00:00:00 2001 From: Andrew Williams Date: Tue, 15 Jun 2010 15:01:50 +0100 Subject: [PATCH] Switch to use simple hashed passwords instead of per-user salt --- api/handlers.py | 10 ++++++++-- settings.py | 5 +++++ sso/backends.py | 2 +- 3 files changed, 14 insertions(+), 3 deletions(-) diff --git a/api/handlers.py b/api/handlers.py index 63b9a33..beaaa67 100644 --- a/api/handlers.py +++ b/api/handlers.py @@ -56,6 +56,12 @@ class LoginHandler(BaseHandler): except User.DoesNotExist: return rc.NOT_HERE - d = { 'id': u.id, 'username': u.username, 'password': u.password, 'email': u.email, 'groups': u.groups.all() } - return d + d = { 'auth': 'ok', 'id': u.id, 'username': u.username, + 'password': u.password, 'email': u.email, 'groups': u.groups.all(), + 'characters': EVEPlayerCharacter.objects.filter(eveaccount__user=u) } + + if request.GET['pass'] == user.password: + return d + + return { 'auth': 'failed' } diff --git a/settings.py b/settings.py index c40f001..4a63f6c 100644 --- a/settings.py +++ b/settings.py @@ -98,6 +98,11 @@ DISABLE_SERVICES = False # Services API generates a new password for the user GENERATE_SERVICE_PASSWORD = False +AUTHENTICATION_BACKENDS = ( + 'sso.backends.SimpleHashModelBackend', +) + + AUTH_PROFILE_MODULE = 'sso.SSOUser' LOGIN_REDIRECT_URL = "/profile" LOGIN_URL = "/login" diff --git a/sso/backends.py b/sso/backends.py index c538c9c..5fb04f1 100644 --- a/sso/backends.py +++ b/sso/backends.py @@ -12,7 +12,7 @@ class SimpleHashModelBackend(ModelBackend): return None if '$' in user.password: - if user.check_password(password) + if user.check_password(password): user.password = sha1(password).hexdigest() user.save() return user