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',
},
}
Но не только через номер телефона. Есть предложения, как это сделать.