问题标签 [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 投票
0 回答
104 浏览

django - 在 django 的 GET 路由的请求头中设置授权令牌

我正在尝试使用受 Django_restframework_simplejwt 保护的 HTTPResponseRedirect 访问以下 URL。注册成功后,我想重定向到以下 URL,以进行电子邮件和移动验证。

http://base_url/acc_verification

假设,我确实有一个访问令牌,现在,我如何在请求标头中设置授权令牌以加载上述页面。

授权:令牌

Python - 3.6.8 Django - 2.2.3 djangorestframework_simplejwt - 最新

0 投票
1 回答
266 浏览

django - django视图中的django,jwt身份验证,而不仅仅是DRF

我想将 jwt 与 django 一起使用(可能是https://github.com/davesque/django-rest-framework-simplejwt

jwt 上的库文档和大多数网络博客都讨论了在 DRF 身份验证上使用 jwt。

但是我们有不基于 DRF 的 Django 常规视图。

我仍然可以为 DRF 和常规 django 视图使用一个 jwt 身份验证后端吗?

0 投票
2 回答
1658 浏览

django - django-axes 没有得到请求参数

我最近添加django-axes到我的 Django 项目中。假设可以使用django-restframework. 但是,我django-rest-framework-simplejwt用来处理身份验证。但它仍然可以解决问题,因为唯一需要的django-axes是将 Django 的身份验证方法传递给它在源代码中执行的请求对象(第 39 和 43 行)。

当我尝试进行身份验证时,我从以下位置收到此错误django-axes

axes.exceptions.AxesBackendRequestParameterRequired:AxesBackend 需要请求作为参数来进行身份验证

0 投票
1 回答
1090 浏览

python - 如何在没有数据库的情况下使用 JWTTokenUserAuthentication 进行身份验证

天哪!

应用部门:

djangorestframework-simplejwt==4.3.0, djangorestframework==3.10.3

我正在尝试在UserJWTTokenUserAuthentication使用数据库的情况下使用 shared进行身份验证SECRET_KEY

在我的设置中,我有:

对于我使用的视图rest_framework_simplejwt.views.TokenObtainPairView。在我的应用程序的网址中:

因此,我正在发出发布请求,并为其提供承载令牌和凭据username以及password. 但我收到消息:

我应该怎么做才能正确进行身份验证?

0 投票
1 回答
598 浏览

django - 匿名用户在使用 simplejwt 访问 rest-api 时遇到

我能够使用 SimpleJWT 获取访问和刷新令牌。我有一个自定义装饰器,它试图从用户配置文件中识别用户类型。代码在这里失败,因为它找不到经过身份验证的用户。

我曾多次尝试通过 VS Code 中的调试模式获取用户,但没有成功。

这是我的settings.py

这是用户模型

这是我要访问的视图

这是令人不安的自定义装饰器

我可以使用http://127.0.0.1:8000/api/token/从 simplejwt 获取访问/刷新令牌对,并提供用户名和密码。但是当我尝试使用带有 accesstoken 的http://127.0.0.1:8000/core/hello/(核心是应用程序名称)访问 HelloView 时(当然,使用 Authorisation: Bearer......),装饰器进来了图片。现在这个装饰器需要 request.user 来验证用户是否是'GEM'。问题是没有用户登录,因此系统给了我“匿名”用户没有属性“个人资料”的错误。即使,我作为先决条件登录,也会面临同样的错误。我是 Django 的新手。

如何解决?任何替代建议?

0 投票
1 回答
206 浏览

django-rest-framework - 一个用户登录和另一个用户的访问令牌

我已经为基于令牌的身份验证实现了 simpleJWT。我创建了一个简单的 hello world 测试 API。

在测试时,我正在使用 /rest-auth/login/ 进行日志记录并用于生成使用 /api/token/ - 两者都可以正常工作。

现在进行测试,我使用用户 XYZ(拥有 helloworld api 的访问权限)登录并使用另一个用户 ABC(没有 helloworld api 的访问权限)生成令牌。

所以现在用户 XYZ 已通过身份验证(好的),但我有用户 ABC 的令牌(好的)。

现在,当我使用为使用 ABC 生成的令牌调用 API 时,即使用户 ABC 对 API 没有权限,我也可以访问 helloworld api!因为拥有权限的用户 XYZ 已经登录。

问题是当多个用户将使用该站点时,总是会出现这种情况。如何解决?下面还介绍了一些代码片段:

我的 settings.py 被剪断了

代码基本上是一个为用户进行身份验证的装饰器如下

在这种情况下我的策略应该是什么?

编辑 如下修改了我的装饰器,它正在工作。如果我做错了什么,请有人评论

0 投票
1 回答
7765 浏览

python - 使用 JWT 令牌对 Django Rest Framework 中的 POST 请求进行未经授权的响应

我正在使用 Django Rest Framework 构建一个 REST API。我目前有一个问题,我的一些端点返回 HTTP 401 Unauthorized,而我的绝大多数端点返回正确的响应。对于身份验证,我将 JWT 令牌与 djangorestframework-simplejwt 一起使用。

我已将 Django 配置为将令牌身份验证与 djangorestframework-simplejwt 一起使用。

当我在请求中传递有效的访问令牌时,我的绝大多数端点都会返回有效数据。如果我没有发送有效的令牌,我会收到 HTTP 403。

另一方面,我有一些自定义 API 视图,无论我是否传递了有效令牌,它们都会返回 HTTP 401。

我已将代码包含在下面的一个有问题的视图中。

这是我用来测试我的 API 的脚本

期望的行为是,如果我向这个端点发送一个带有有效令牌的 POST 请求,它将授权我并继续它的一天。如果没有提供具有有效访问令牌的授权标头,那么我希望它拒绝该请求。


更新


热心的马丁请指出

覆盖了我的设置文件中的默认值。我不知道就 Django 而言,TokenAuthentication 和 JWTAuthentication 的处理方式不同。现在我知道了。

从我的观点中删除后authentication_classess = [TokenAuthentication],这些观点正在按应有的方式工作。

0 投票
1 回答
271 浏览

django - 如何为未经授权的用户提供对我的 React/Django 应用程序的只读访问权限?

我有一个社交媒体类型的网络应用程序,即使用户未登录,我也希望拥有一些只读访问权限。例如,如果用户在投票中投票,我不希望发生任何事情,但用户仍然应该是能够看到它。我正在使用令牌授权。我想知道,我是否应该以某种方式在前端进行检查以查看用户是否已登录(也许检查本地存储中是否存在令牌)并且如果没有则不执行提取?还是我应该在前端以某种方式处理从后端接收 401 响应以尝试访问受保护的资源?或者我应该在后端处理它并发回 200 响应并让前端处理接收不同版本的 200 响应?

我正在使用 Django 和 React

0 投票
1 回答
762 浏览

django - 如何将 simplejwt 令牌存储到数据库中

我正在使用 django-rest-framework-simplejwt 进行用户注册。

按照本教程在此处输入链接描述

我的代码如下:

鉴于:

问题是每次我创建一个用户时,我都可以获得 2 两个令牌的返回,但是在数据库中我找不到令牌。

所以我想我没有存储它们,所以我应该存储令牌吗?

0 投票
1 回答
1331 浏览

reactjs - 检查 Jwt 令牌过期反应 drf

对不起,如果我问错地方了。我正在将 Django drf 用于 api,并在我的应用程序中从 react 提供前端服务。我正在使用 simplejwt 进行身份验证,我想检查访问权限的过期并刷新令牌,以便在过期时生成访问令牌。有什么更好的建议?