From b5fcc2c9cdb243de7b7f36250d2ded3cd3a7386f Mon Sep 17 00:00:00 2001 From: Aaron Date: Sat, 13 Jun 2020 04:25:54 -0700 Subject: [PATCH] case-insensitive aliases --- drfpasswordless/__init__.py | 2 +- drfpasswordless/__version__.py | 2 +- drfpasswordless/serializers.py | 14 +++++++------- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/drfpasswordless/__init__.py b/drfpasswordless/__init__.py index 5237066..95981a0 100644 --- a/drfpasswordless/__init__.py +++ b/drfpasswordless/__init__.py @@ -1,7 +1,7 @@ # -*- coding: utf-8 -*- __title__ = 'drfpasswordless' -__version__ = '1.5.3' +__version__ = '1.5.4' __author__ = 'Aaron Ng' __license__ = 'MIT' __copyright__ = 'Copyright 2020 Aaron Ng' diff --git a/drfpasswordless/__version__.py b/drfpasswordless/__version__.py index dbaae47..ecfbcc9 100644 --- a/drfpasswordless/__version__.py +++ b/drfpasswordless/__version__.py @@ -1,3 +1,3 @@ -VERSION = (1, 5, 3) +VERSION = (1, 5, 4) __version__ = '.'.join(map(str, VERSION)) diff --git a/drfpasswordless/serializers.py b/drfpasswordless/serializers.py index 7ffd179..73f99b9 100644 --- a/drfpasswordless/serializers.py +++ b/drfpasswordless/serializers.py @@ -43,16 +43,16 @@ def validate(self, attrs): if api_settings.PASSWORDLESS_REGISTER_NEW_USERS is True: # If new aliases should register new users. - user, user_created = User.objects.get_or_create( - **{self.alias_type: alias}) - - if user_created: + try: + user = User.objects.get(**{self.alias_type+'__iexact': alias}) + except User.DoesNotExist: + user = User.objects.create(**{self.alias_type: alias}) user.set_unusable_password() user.save() else: # If new aliases should not register new users. try: - user = User.objects.get(**{self.alias_type: alias}) + user = User.objects.get(**{self.alias_type+'__iexact': alias}) except User.DoesNotExist: user = None @@ -202,7 +202,7 @@ def validate(self, attrs): try: alias_type, alias = self.validate_alias(attrs) callback_token = attrs.get('token', None) - user = User.objects.get(**{alias_type: alias}) + user = User.objects.get(**{alias_type+'__iexact': alias}) token = CallbackToken.objects.get(**{'user': user, 'key': callback_token, 'type': CallbackToken.TOKEN_TYPE_AUTH, @@ -252,7 +252,7 @@ def validate(self, attrs): try: alias_type, alias = self.validate_alias(attrs) user_id = self.context.get("user_id") - user = User.objects.get(**{'id': user_id, alias_type: alias}) + user = User.objects.get(**{'id': user_id, alias_type+'__iexact': alias}) callback_token = attrs.get('token', None) token = CallbackToken.objects.get(**{'user': user,