如何在 Django 中通过手机号码重置密码?

How to Reset a Password through mobile number in Django?

这是我的models.py。我想通过手机号码重置用户的密码。还找不到答案。有人可以帮忙推荐任何方法吗?提前致谢。

from django.db import models
from django.contrib.auth.models import User




class UserProfile(models.Model):
   user = models.OneToOneField(User,null=True, on_delete=models.CASCADE)
   mobile = models.CharField(max_length=15, blank=True, null=True)

   def __str__(self):
      return self.user.username

当用户请求重设密码时,您的服务器必须生成一个唯一的令牌(创建一个用于存储令牌的模型),然后将其发送到他们的 phone 号码。客户端将令牌与新密码一起发送回服务器,如果令牌有效则更改密码,否则令牌无效。令牌必须有一个到期日期(例如生成后 3 分钟)并且每个用户只能有一个有效令牌。您可以使用 AWS Pinpoint(使用 boto3)或 Twilio 等第三方服务来发送短信。