【问题标题】:use rest_framework_simplejwt with Django 1.11.x and Python 3.6.2将 rest_framework_simplejwt 与 Django 1.11.x 和 Python 3.6.2 一起使用
【发布时间】:2021-09-05 05:02:39
【问题描述】:

我有一个使用 Django 1.9.2 和 python 2.7 的应用程序。现在我想在 REST API 上使用简单的 JWT 解决方案,并开始将应用程序升级到 Django 1.11.29 和 Python 3.6.2。我无法以合理的成本升级到 Django 2.x ;-)

当我使用访问令牌的 url 时,我正确地得到了我的一对访问令牌和一个刷新令牌。

但是当我使用刷新令牌网址时

  -X POST \
  -H "Content-Type: application/json" \
  -d '{"refresh":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VyX3BrIjoxLCJ0b2tlbl90eXBlIjoicmVmcmVzaCIsImNvbGRfc3R1ZmYiOiLimIMiLCJleHAiOjIzNDU2NywianRpIjoiZGUxMmY0ZTY3MDY4NDI3ODg5ZjE1YWMyNzcwZGEwNTEifQ.aEoAYkSJjoWH1boshQAaTkf8G3yn0kapko6HFRt7Rh4"}' \
  http://localhost:8000/api/token/refresh/

我应该取回我的访问令牌,例如

    "access": "eyJ0eXAiOiJ.........."
}

但我得到了类似的回应

{
    "username": [
        "this field is required"
    ],
    "password": [
        "this field is required"
    ]
}

我模拟了另一个在 Django 2.2.2 下运行的超级受限的 Django 应用程序,其行为符合要求。

谁能帮我解决这个问题?

【问题讨论】:

    标签: django django-rest-framework jwt


    【解决方案1】:

    我假设您使用的是最新版本的 simple jwt,它至少需要 django 2.2。

    考虑使用支持 django 1.11 的旧版本,例如 https://pypi.org/project/djangorestframework-simplejwt/4.3.0/

    pip install djangorestframework-simplejwt==4.3.0
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-07-13
      • 1970-01-01
      • 1970-01-01
      • 2023-03-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多