gpt4 book ai didi

django - django restframework 中用于身份验证的自定义模型而不是默认用户模型

转载 作者:行者123 更新时间:2023-12-05 05:20:19 24 4
gpt4 key购买 nike

我想为我的用户使用用户名或电子邮件和密码进行一些自定义身份验证。在第一次使用电子邮件和密码登录时,api 应该返回相应的用户 token 。对于 api 的所有其他操作,我需要使用 token ,这是我在登录时获得的。

我需要一个自定义模型来存储所有用户信息,如用户名、密码、电话、电子邮件、 token 等。

如何在 django restframework 中实现这一点。

请指导我实现这一目标。提前致谢。

最佳答案

Django rest-framework 有一个内置的 token 系统,可用于分发和验证 token 。以下是如何使用它的示例。

创建 token

from rest_framework.authtoken.models import Token
user = User.objects.get(pk=some_pk)
token = Token.objects.create(user=user)

验证 token

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 - django restframework 中用于身份验证的自定义模型而不是默认用户模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44712455/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com