问题标签 [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.
python - Django Rest Framework - 使用会话和令牌认证
我试图让这个工作,但不知道这是否可能。它应该这样做。
Django
我使用++开发了一个 Web 应用程序Rest-Framework
,jQuery
并且我希望有一个外部应用程序来使用相同的REST
API,JWT Tokens
用于身份验证。
我现在的配置是这样的。
设置.py
视图.py
棘手的部分是当我使用时:
我可以执行ajax
来自外部应用程序的调用(使用有效的JWT
令牌),但jQuery
来自应用程序内部的调用(使用经过身份验证的用户)失败并显示:
另一方面,如果我使用autentication_classes
而不是permission_classes
:
我可以使用从 Web 应用程序中执行 ajax 调用jQuery
,但外部调用失败并出现相同的403
错误。
我尝试像这样使用两者:
但外部呼叫也被拒绝。
是否可以让这两种类型Auth
在同一个class
视图中一起工作,或者我应该分成两个端点?
编辑
来自应用程序内部的示例调用jQuery
:
VBA
并通过代码在外部:
python - Django Simple JWT non_field_errors":["没有找到具有给定凭据的活动帐户]
与django rest framework
我django-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
我遵循了指南中提到的内容,但我仍然无法弄清楚出了什么问题。
django - JWT认证的设计?
我正在使用 https://github.com/davesque/django-rest-framework-simplejwt 上的 DjangoRest Framework simple-jwt包。
这提供了两个 api 端点来获取访问令牌和刷新令牌。目前我将访问令牌存储在浏览器的 localStorage 中。这是存储它的最佳位置,还是 sessionStorage 更好?
当我因为当前访问令牌过期而需要新的访问令牌时,是否应该在 POST 请求中传递刷新令牌(存储在 localStorage 中)?这是最好的实现吗?将这个关键的刷新令牌字符串存储在浏览器中似乎不安全。
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"
我的所有用户都处于活动状态的错误。我不知道如何解决这个问题,我需要帮助。在此先感谢。
django - Django 使用 otp(One Time Password) 代替密码登录
我正在使用 django-rest-framework 为 Web 应用程序创建登录名(前端在 React 中),但我只需要使用电话号码和 otp 进行登录,无需密码。otp 被发送到用户的电话号码。我正在使用自定义用户模型。我只是不知道如何覆盖内置的登录视图。我也在尝试使用 djangorestframework-simplejwt 来使用 jwt 令牌身份验证。
请帮我写这个。模型.py
管理者.py
python - 如何解决 - 显示临时标题?
如何解决 - 显示临时标题?
我有一个使用 rest_framework、简单 JWT 和 corsheaders 的 Django 应用程序。
GET 请求完美运行,但是 POST 我得到一个 200 代码,但有限制。显示临时标题
身份验证工作完美,但是我在请求中遇到问题。
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 天,它应该是有效的,所以我不确定是什么问题。
关于问题可能是什么的任何想法?非常感谢你。
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?
python - 如何在 django-rest-framework-simple-jwt 中使用自定义模型用户
simple-jwt 目前使用超级用户发布令牌,但我想使用我的自定义用户模型。(我定义了自定义用户模型如下。)
我的问题是我可以在 simple-jwt 使用自定义用户模型接收令牌吗?
如果 simple-jwt 使用自定义用户模型,请告诉我如何使用自定义用户模型。
django-rest-framework - Django csrf_cookie_not_set
我目前正在开发一个项目,其中后端由 Django 处理,前端由 ReactJS 处理。
以前的开发人员(他们不再在组织中)已经手动开发了所有 API。我猜他们不知道 DjangoRestFramework。我现在的工作是REST-ify
50 多个目前正在运行的 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_FRAMEWORK
DRF 文档相同。
谢谢。非常感谢指导。