【发布时间】:2019-11-20 12:52:50
【问题描述】:
我创建了一个 Django 应用程序,我希望能够通过检查用户名和密码以及相关模型中的特定字段来验证用户身份。我想POST到端点的自定义请求正文是:
payload = { 'username': user, 'password': password, 'app_id': uuid4}
我正在使用djangorestframework-simplejwt 模块获取访问令牌。
models.py
class Application(models.Model):
app_name = models.CharField(max_length=300)
app_id = models.UUIDField(default=uuid.uuid4, editable=False)
def __str__(self):
return self.app_name
class ProfileApp(models.Model):
user = models.OneToOneField(User, on_delete=models.CASCADE)
app = models.ForeignKey(Application, on_delete=models.CASCADE)
expires_on = models.DateTimeField(default=datetime.now() + timedelta(days=15))
def __str__(self):
return self.app.app_name + " | " + self.user.username
是否可以从 rest_framework_simplejwt 覆盖 TokenObtainPairView 以仅在 expires_on 日期仍未过期时验证用户?或者这样做是否存在架构问题?
【问题讨论】:
-
您的 urls 文件目前是否只使用默认的
TokenObtainPairView.as_view()? -
是的,只是使用默认的
TokenObtainPairView.as_view()
标签: python django django-rest-framework django-rest-framework-simplejwt