Django: Забыли пароль, используя номер телефона

Я разработал приложение на React в качестве frontend и Django в качестве backend.

В моем приложении я использую только номер телефона в качестве ввода для регистрации пользователя. Я могу успешно регистрировать пользователей, но проблема заключается в разделе "Забыли пароль".

На данный момент я смог реализовать эту часть только через Email, а также через комбинацию Email и номера телефона (используя Djoser).

В Serializers.py

from djoser.serializers import SendEmailResetSerializer

class CustomSendEmailResetSerializer(SendEmailResetSerializer):
        phone = serializers.CharField(required=True)
    
        def get_user(self, is_active=True):
            # Retrieving user here.
            try:
                user = User.objects.get(
                    phone=self.data['phone']
                )
                if is_active:
                    return user
                else:
                    return None
            except User.DoesNotExist:
                raise serializers.ValidationError("No user found")

В settings.py

DJOSER = {
    'SERIALIZERS': {
        'password_reset': 'serializers.CustomSendEmailResetSerializer',
    },
}

Но не только через номер телефона. Есть предложения, как это сделать.

Вернуться на верх