From 1bfa7cb92f2370c56e85b301af6b2f120835b4ee Mon Sep 17 00:00:00 2001 From: Andrew Williams Date: Mon, 14 Jun 2010 13:13:21 +0100 Subject: [PATCH] Added Simple Hash backend for use with external tools --- sso/backends.py | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 sso/backends.py diff --git a/sso/backends.py b/sso/backends.py new file mode 100644 index 0000000..c538c9c --- /dev/null +++ b/sso/backends.py @@ -0,0 +1,24 @@ +from django.contrib.auth.backends import ModelBackend +from django.contrib.auth.models import User +from hashlib import sha1 + + +class SimpleHashModelBackend(ModelBackend): + + def authenticate(self, username=None, password=None): + try: + user = User.objects.get(username=username) + except User.DoesNotExist: + return None + + if '$' in user.password: + if user.check_password(password) + user.password = sha1(password).hexdigest() + user.save() + return user + else: + if user.password == sha1(password).hexdigest(): + return user + + return None +