django restframework中用于身份验证的自定义模型,而不是默认用户模型
我想做一些自定义身份验证为我的用户与用户名或电子邮件与密码。在首次使用电子邮件和密码登录时,api应将相应的用户令牌返回给我。对于使用api的所有其他操作,我需要使用在登录时获得的令牌 我需要一个自定义模型来存储所有用户信息,如用户名、密码、电话、电子邮件、令牌等 如何在django restframework中实现这一点django restframework中用于身份验证的自定义模型,而不是默认用户模型,django,rest,authentication,frameworks,Django,Rest,Authentication,Frameworks,我想做一些自定义身份验证为我的用户与用户名或电子邮件与密码。在首次使用电子邮件和密码登录时,api应将相应的用户令牌返回给我。对于使用api的所有其他操作,我需要使用在登录时获得的令牌 我需要一个自定义模型来存储所有用户信息,如用户名、密码、电话、电子邮件、令牌等 如何在django restframework中实现这一点 请引导我实现这一目标。提前感谢。Django rest框架有一个内置的令牌系统,可用于分发和验证令牌。下面是如何使用它的示例 创建令牌 from rest_framework
请引导我实现这一目标。提前感谢。Django rest框架有一个内置的令牌系统,可用于分发和验证令牌。下面是如何使用它的示例 创建令牌
from rest_framework.authtoken.models import Token
user = User.objects.get(pk=some_pk)
token = Token.objects.create(user=user)
验证令牌
if Token.ojects.get(key=token) # token is sent by client side
# do some task as auth is successful
如果要扩展默认用户模型,请创建一个新模型,并在自定义模型中放置一个引用默认用户模型的onetoone字段
class AppUserProfile(models.Model):
user = models.OneToOneField(User)
... # add other custom fields like address or phone
尝试django自定义身份验证谢谢您的回答Arpit Solanki。