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 +