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

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 回答
4388 浏览

django - JWT token expire_delta 和 JWT Refresh Expiration Delta django jwt 的区别

我正在使用 django 休息框架 JWT 库

http://getblimp.github.io/django-rest-framework-jwt/

JWT令牌过期有两个设置

JWT_EXPIRATION_DELTA以秒为单位

上面的文档:

您可以通过将 JWT_VERIFY_EXPIRATION 设置为 False 来关闭过期时间验证。如果没有过期验证,JWT 将永远存在,这意味着攻击者可以无限期地使用泄露的令牌。这是 Python 的 datetime.timedelta 的一个实例。这将被添加到 datetime.utcnow() 以设置到期时间。

默认为 datetime.timedelta(seconds=300)(5 分钟)。

JWT_REFRESH_EXPIRATION_DELTA

文件:

mit on token refresh 是一个 datetime.timedelta 实例。这是可以刷新未来令牌的原始令牌之后的时间。

默认为 datetime.timedelta(days=7)(7 天)。

我不确定不同的用例。我将 jwt 令牌过期增量设置为 20 秒。

然后得到一个令牌将其保存到本地等待 20 秒关闭我的浏览器窗口并重新导航到该站点

期望不会登录,因为令牌会过期但我已登录。

那么JWT令牌过期增量有什么区别

和 JWT 刷新过期增量?

0 投票
1 回答
507 浏览

django-rest-framework - 尽管权限类 Angular 5,django rest 框架 JWT 返回匿名用户

我在前端使用 Angular 5。使用 HTTP 拦截器,如果客户端登录,它会发送一个令牌以及向我的服务器发出的任何 http 请求。我可以登录我的系统。所以 JWT 方案工作正常。

拦截器是这样的:我控制台记录令牌以确保它被添加,并且它在我的日志中正常工作。

令牌方案有效,我已经测试过了。

设置已正确设置。本指南中需要完成的几乎所有事情都已完成:

http://getblimp.github.io/django-rest-framework-jwt/

转到实际视图:

权限类:

错误:

如果 request.user['issuitssuperuser']: TypeError: 'AnonymousUser' 对象没有属性 ' getitem ' [10/May/2018 20:36:51] "OPTIONS /api/user/suits/HTTP/1.1" 500 21855 正在执行系统检查...

但为什么呢?这不酷。我做错了什么没有让这很酷?我希望它很酷。

0 投票
2 回答
3193 浏览

django-middleware - Django JWT 身份验证 - 用户在中间件中是匿名的

我正在使用 Django JWT 在我的项目中启动身份验证系统。另外,我有一个中间件,问题是在其中,用户由于某种原因是匿名的,而在视图中我可以通过request.user. 这个问题让我发疯,因为前段时间这段代码运行良好!这是 JWT 的错误还是我做错了什么?

相关 settings.py 模块:

我也遇到了帮助我检索实际用户的资源,但是!我仍然无法设置时区(timezone.activate(pytz.timezone(tzname))似乎被忽略了。

0 投票
1 回答
2267 浏览

django - 在 django 中用抽象用户覆盖用户模型的保存方法

具有多种两种用户类型的 Django 项目。我按照本教程为内置的用户模型提供了两种类型的标志。当我尝试登录到 django rest_framework_simple_jwt 的登录端点时,响应。覆盖保存方法是否有问题。

{ "non_field_errors": [ "没有找到具有给定凭据的活动帐户" ] }

0 投票
0 回答
241 浏览

python - DRF 向未激活的注册用户发送新的激活码

这是 django rest 框架项目。这次我想将帐户激活码重新发送给注册用户(目前未激活)我写了这样的视图,但我得到服务器响应说:用户帐户被禁用......我知道用户现在被禁用但我想根据他/她的电子邮件和 ID 向他发送新的激活码..

注意:我在我的应用程序中使用 jwt 进行身份验证

这是我的观点:

对我解决这个问题有什么建议吗?关于我的观点是正确的方法吗?

这是相关模型:(这是与用户表相关的配置文件模型,并且有activation_code字段来存储代码)

服务器响应:

0 投票
1 回答
1634 浏览

php - Lumen 5.6:会话的替代方案

我正在尝试为我的小应用程序构建安全登录,所以我决定通过使用 JWT firebase 库来使用 JWT 方法,我发现除了一些动态数据(如会话)之外,我无法撤销我的令牌。并且 Lumen 从 lumen 5.2 开始就停止提供 session 包,我知道他们停止支持 session 可能是有原因的。
我有 Tymon JWT 包,但它不适用于 lumen 5.6。这就是我使用 Firebase JWT-PHP 作为替代方案
的原因

0 投票
1 回答
2477 浏览

django - 用于通道 websocket 身份验证的 Django jwt 中间件

我正在尝试为 django 频道设置身份验证中间件。我希望这个中间件只对 websocket 请求有效。

似乎在这种情况下我没有获得完整的中间件功能。例如我无法response = self.get_response(scope)工作:

现在这个中间件一切正常(它只为 websocket 请求激活,而不是在 中注册settings.py),除了我需要一种方法来修改响应状态代码(阻止匿名用户并设置错误代码ExpiredSignatureError)。任何帮助表示赞赏。我使用 Django2.0.6和频道2.1.1。jwt 身份验证通过djangorestframework-jwt

中间件:

路由.py

0 投票
1 回答
139 浏览

django-rest-framework - restframework-jwt 如何处理有效负载?

我使用 Django restframework 来实现 api 服务器。

我还使用 djangorestframework-jwt 进行令牌身份验证。

[urls.py]

一切正常。但我想知道如何从令牌中提取有效负载?

例如,有文章表。

[/article/serializers.py]

[模型.py]

[视图.py]

在这种情况下,我只想返回正确的响应 payload['userid'] == article's userid。

如何从 jwt 令牌中提取用户名?

以前,我只是使用jwt而不是djangorestframework-jwt,所以只是解码请求数据并使用它。

但是现在我使用djangorestframework-jwt,我很困惑我该怎么做。

有什么解决办法吗?

谢谢。

0 投票
1 回答
370 浏览

django-rest-framework - Django REST框架与多个应用程序一起工作

我的目标是使用生成的 JWT 令牌(第二个应用程序)授权可浏览的 API(第一个应用程序)。我创建了两个应用程序,1. API - 拥有所有数据 2. 身份验证 - 验证用户后生成 JWT 令牌。

现在,当我在生成它说的令牌后尝试访问 API 时,没有提供身份验证凭据。

尝试访问 API(传递承载whatevertoken)

我的意思是,有没有办法使用 JWT 令牌对 Browsable API 进行身份验证?而不是创建用户会话。

0 投票
1 回答
453 浏览

python - 在 Django 中将 JWT 与自定义用户模型一起使用时遇到问题

我已经开始了一个新的 Django 项目,并且像文档建议的那样,我创建了一个自定义用户模型以防万一,并确保在设置AUTH_USER_MODEL中进行设置。

我注意到当你这样做时你不能运行python manage.py makemigrations你实际上必须指定自定义用户模型所在的应用程序python manage.py makemigrations <appname>。一旦我这样做了,我就可以启动服务器了。

我按照这篇文章将 JWT 集成到我的新项目中:Django React JWT

如果没有自定义用户模型,帖子效果很好,但是一旦我添加了自定义用户模型,我就会开始收到这些错误:

似乎 ti 与序列化程序有关,因为我使用 pdb 进行跟踪并且正在生成令牌,但传回的用户对象没有被正确序列化......