Python 使用电话号码对Django中的用户进行身份验证

Python 使用电话号码对Django中的用户进行身份验证,python,django,Python,Django,在Django中,是否有一种方法可以正确使用用户的电话号码作为登录/身份验证机制?到目前为止,我一直使用Django的内置身份验证系统,所以我从未遇到过这样的需求 然而,现在我已经做到了,除了在注册时必须使用一次性密码机制进行身份验证之外,我似乎无法取得任何进展。只需实现一个自定义的身份验证后端。Django有一个使用email字段的示例。只需对电话号码字段执行相同操作。您可以自定义用户模型,并指定一个不同的字段用作用户名。这在以下章节中提到: 用户名\u字段 描述用户模型上用作唯一标识符的字段

在Django中,是否有一种方法可以正确使用用户的电话号码作为登录/身份验证机制?到目前为止,我一直使用Django的内置身份验证系统,所以我从未遇到过这样的需求


然而,现在我已经做到了,除了在注册时必须使用一次性密码机制进行身份验证之外,我似乎无法取得任何进展。

只需实现一个自定义的身份验证后端。Django有一个使用email字段的示例。只需对电话号码字段执行相同操作。

您可以自定义
用户
模型,并指定一个不同的字段用作用户名。这在以下章节中提到:

用户名\u字段

描述用户模型上用作唯一标识符的字段名称的字符串。这通常是某种用户名,但也可以是电子邮件地址或任何其他唯一标识符。字段必须是唯一的(即在其定义中设置了unique=True)

比如:

class MyUser(AbstractBaseUser):
    phone_number = models.RegexField(...)
    ...
    USERNAME_FIELD = 'phone_number'

您应该仔细阅读身份验证文档,特别是

尝试使用用户名进行身份验证,并将电话号码放在其中。您的意思是,像使用1次初始密码向电话号码发送短信吗?@mfcovington,是的。Django正在后端用于电话应用程序。因此,客户端只需要通过电话进行身份验证。我首先要查看以下链接:@mfcovington,我想要的是通过电话号码识别用户。没有其他的原因。不完全是发送短信,而是实际识别/登录/注册一个电话号码。每次你说“只要”两倍的费用和三倍的时间。