问题标签 [django-rest-framework-simplejwt]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
11079 浏览

python - Django Rest Framework - 使用会话和令牌认证

我试图让这个工作,但不知道这是否可能。它应该这样做。

Django我使用++开发了一个 Web 应用程序Rest-FrameworkjQuery并且我希望有一个外部应用程序来使用相同的RESTAPI,JWT Tokens用于身份验证。

我现在的配置是这样的。

设置.py

视图.py

棘手的部分是当我使用时:

我可以执行ajax来自外部应用程序的调用(使用有效的JWT令牌),但jQuery来自应用程序内部的调用(使用经过身份验证的用户)失败并显示:

另一方面,如果我使用autentication_classes而不是permission_classes

我可以使用从 Web 应用程序中执行 ajax 调用jQuery,但外部调用失败并出现相同的403错误。

我尝试像这样使用两者:

但外部呼叫也被拒绝。

是否可以让这两种类型Auth在同一个class视图中一起工作,或者我应该分成两个端点?

编辑

来自应用程序内部的示例调用jQuery

VBA并通过代码在外部:

0 投票
2 回答
1323 浏览

python - Django Simple JWT non_field_errors":["没有找到具有给定凭据的活动帐户]

django rest frameworkdjango-rest-framework-simplejwt这里使用的。

根据给出的指导方针,我的settings.py REST_FRAMERWORK应该是这样的:

/api/token/现在,当我在这样的帮助下调用 api时CURL

我收到以下错误:

curl -X POST -H "Content-Type: application/json" -d '{"username": "aami", "password": "ooma"}' http://127.0.0.1:8000/api/token/

服务器端的日志是:

错误请求:/api/token/ [12/Apr/2019 15:01:02] "POST /api/token/ HTTP/1.1" 400 75

我遵循了指南中提到的内容,但我仍然无法弄清楚出了什么问题。

0 投票
1 回答
78 浏览

django - JWT认证的设计?

我正在使用 https://github.com/davesque/django-rest-framework-simplejwt 上的 DjangoRest Framework simple-jwt

这提供了两个 api 端点来获取访问令牌和刷新令牌。目前我将访问令牌存储在浏览器的 localStorage 中。这是存储它的最佳位置,还是 sessionStorage 更好?

当我因为当前访问令牌过期而需要新的访问令牌时,是否应该在 POST 请求中传递刷新令牌(存储在 localStorage 中)?这是最好的实现吗?将这个关键的刷新令牌字符串存储在浏览器中似乎不安全。

0 投票
8 回答
10078 浏览

django - Django drf simple-jwt authentication“detail”:“没有找到具有给定凭据的活动帐户”

我正在使用自定义用户 My models.py 使用 django-rest_framework_simple-jwt 实现用户身份验证:

所以我正在实现restframework simple-jwt身份验证,我的设置.py如下:

我的 urls.py:

在登录过程中,它返回"detail": "No active account found with the given credentials"我的所有用户都处于活动状态的错误。我不知道如何解决这个问题,我需要帮助。在此先感谢。

0 投票
0 回答
926 浏览

django - Django 使用 otp(One Time Password) 代替密码登录

我正在使用 django-rest-framework 为 Web 应用程序创建登录名(前端在 React 中),但我只需要使用电话号码和 otp 进行登录,无需密码。otp 被发送到用户的电话号码。我正在使用自定义用户模型。我只是不知道如何覆盖内置的登录视图。我也在尝试使用 djangorestframework-simplejwt 来使用 jwt 令牌身份验证。

请帮我写这个。模型.py

管理者.py

0 投票
1 回答
306 浏览

python - 如何解决 - 显示临时标题?

如何解决 - 显示临时标题?

我有一个使用 rest_framework、简单 JWT 和 corsheaders 的 Django 应用程序。

GET 请求完美运行,但是 POST 我得到一个 200 代码,但有限制。显示临时标题

身份验证工作完美,但是我在请求中遇到问题。

0 投票
1 回答
1895 浏览

python - Django rest_framework_simplejwt 令牌过期太快

使用 Django,我使用 rest_framework_simplejwt 应用程序设置了 JWT 身份验证。

我相信访问令牌的默认超时为 1 天,即使在 settings.py 中明确将其配置为 1 天后,该令牌在约 10 分钟后也不再起作用,并且服务器返回 401 响应。

设置.py:

我在想 Django 中的时间设置可能有问题,所以在 settings.py 中打印了 datetime.datetime.now(),奇怪的是在 startapp 期间调用了两次,时差为 2 小时。尽管如此,如果令牌生命周期应该是 1 天,它应该是有效的,所以我不确定是什么问题。

关于问题可能是什么的任何想法?非常感谢你。

0 投票
1 回答
5947 浏览

python - Django Rest Framework Custom JWT authentication

I created a Django app in which I want to be able to authenticate users by checking not only the username and password, but also a specific field in a related model. The custom request body I want to POST to the endpoint is:

I am using djangorestframework-simplejwt module to get the access token.

models.py

Is it possible to override the TokenObtainPairView from rest_framework_simplejwt to only authenticate an user if the expires_on date is still not expired? Or is there an architecture problem by doing it like this?

0 投票
1 回答
953 浏览

python - 如何在 django-rest-framework-simple-jwt 中使用自定义模型用户

simple-jwt 目前使用超级用户发布令牌,但我想使用我的自定义用户模型。(我定义了自定义用户模型如下。)

我的问题是我可以在 simple-jwt 使用自定义用户模型接收令牌吗?

如果 simple-jwt 使用自定义用户模型,请告诉我如何使用自定义用户模型。

0 投票
1 回答
83 浏览

django-rest-framework - Django csrf_cookie_not_set

我目前正在开发一个项目,其中后端由 Django 处理,前端由 ReactJS 处理。

以前的开发人员(他们不再在组织中)已经手动开发了所有 API。我猜他们不知道 DjangoRestFramework。我现在的工作是REST-ify50 多个目前正在运行的 API。

我正在使用DRF通用视图(列表、创建、检索...等)。

我还被分配了实现DRFSimpleJWT的任务。以前的开发人员手动编写了所有用于创建令牌的函数,他们称之为custom authentication.

我已经开始创建 API,我的 List 和 Retrieve API 工作正常,但是每当前端开发人员在 a 上执行 POST 请求时CreateAPIView,他都会收到带有 description 的 403 错误csrf cookie not set

我的 runserver 日志文件也出现 403 错误。

我尝试禁用(评论)permission_classes并将其更改为AllowAny.

然后我开始禁用authentication_classes或删除session_authentication

在某些情况下,数据甚至没有通过并OPTIONS出现在我的服务器日志中。

我检查了settings.py文件,发现它csrfmiddleware被禁用了。启用它会给所有请求带来 csrf 错误。我用谷歌搜索并使用了 cors 设置和 django 设置。没有任何效果。

我的看法很简单:

我需要有关使 POST 请求正常工作的帮助。另外,当我开始使用 SimpleJWT 时,是否需要authentication_classes在我的视图中指定?这与cors有关吗?

settings.py REST_FRAMEWORKDRF 文档相同。

谢谢。非常感谢指导。