问题标签 [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.
django-rest-framework - 用于 REST API 密码重置的 Django 表单
我的情况:
Django 应用程序 + 移动应用程序,使用 Django REST api 和 rest-auth。我想实现密码重置交易,在移动应用程序上启动。
我遵循的工作流程是:
1)从手机执行密码重置请求-> OK,没问题
2) Django 向用户发送电子邮件 -> 好的,没问题
3) 转到电子邮件链接页面并创建新密码 -> 好的,没问题 但是创建新密码的表单是 REST framework API 表单
问题
1) 我可以自定义这个表格吗?我不知道该怎么做,因为这个 URL 是可变的(带有 UID 和令牌)。有什么建议么?
2) 此工作流程是否合适,或者是否有更好的方法来管理重置密码工作流程?
在我的 URL 文件中,我有:
我应该在这里创建一个自定义视图吗?
在 Django REST 文档中,它说 REST 框架适用于返回 API 样式响应和常规 HTML 页面。但我找不到一个合适的例子来帮助我解决我的问题。
django - DRF 如何为基于 JWT 的身份验证关闭 CSRF-token 检查?
我正在使用带有JWT 的 Django Rest Framework 作为身份验证机制。据我了解,只要令牌未存储在 cookie 中,使用 JWT 身份验证就不需要进行 CSRF 令牌检查。
但是,检查django-rest-framework-jwt
代码和 DjangoCsrfViewMiddleware
我不明白代码的哪一部分关闭了基于 JWT 的身份验证的 CSRF 令牌检查。
有人知道并且可以指出代码的相关部分吗?
django - 如何使用 django rest_auth 获得像 xyz.com/template.html/?token=&uid=/ 这样的 url 格式
我正在制作程序,每当用户忘记密码时,他会在输入电子邮件 ID 后收到一封电子邮件。这件事正在奏效。它甚至在邮件中发送 url,一切正常。但目前我在电子邮件中的网址是这样的。
http://127.0.0.1:8000/account/reset/MTg/4z1-d4e4774f2d5b3cad07a9/
但我希望我的网址采用格式。
http://127.0.0.1:8000/account/reset/?uid=xyz&token=bdfjkdbfkjdbf。
这只是一个示例:我可以将该帐户/重置更改为我的模板。那将完成。但我想要的是它的格式应该是这样的。这只是一个粗略的想法。最重要的事情之一,我只想使用 django-rest-auth。我没有使用其他任何东西。
django - 使用 Django REST JWT 登录
我有两个应用程序的 Django 项目。第一个应用程序是基于默认 Django 身份验证机制的简单登录/注册应用程序。它有两种形式,成功登录或注册后将被重定向到我的第二个应用程序。所以,我的第二个应用是基于 Vue.js 的单页应用。
我还使用了 djangorestframework 和 djangorestframework-jwt 包。
我了解 JWT 是如何工作的,但我不明白如何将它实施到我的项目中。例如,这是在我的视图中从登录表单发出 POST 请求后执行的代码的一部分:
所以,我得到了下一个问题:
- 成功登录后(重定向前)我应该怎么做才能制作令牌并发送响应
djangorestframework-jwt 提供包含在 url 中的视图
那么,我应该在哪里调用 gain_jwt_token?成功登录后在 SPA 中?
- 为了使用 JWT,我应该为用户模型创建序列化程序吗?
- 在没有 RESTful 支持的情况下使用 *rest-jwt 是否正确?
django - Django Rest Framework JWT 未提供身份验证凭据
我在带有 Typscript 前端的 Django rest 框架中使用 JWT 实现令牌身份验证时遇到问题。我越来越
{详细信息:“未提供身份验证凭据。”}
通过 Typescript 调用我的 API,即:
登录工作正常。当我尝试加载我遇到问题的项目时。
这是我的 Django 代码:
视图.py
项目/urls.py
项目/urls.py
设置.py
我认为问题必须与 Django 相关,但我能够得到我所期望的
如果我的后端设置不正确,这将无法正常工作。所以它一定是我的前端代码。
django - 注销 Django Rest 框架 JWT
我想问一下在我使用 JWT 时注销是否是个好主意。为了登录,我发送一个带有用户名和密码的 post 请求以获取所需的令牌(保存到 localStorage),这将允许我向需要令牌的视图发送进一步的请求,当然。
但我不确定我应该如何注销用户。我可以清除 localStorage,但令牌仍然可用。
所以,我想问我是否应该使用刷新令牌,因为我无法禁用它。
vue.js - Handling CSRF token when working with Django Rest Framework JWT
Having the JWT token required for every request to the API, should I keep CSRF protection? Considering no one has access to other's jwtoken, of course.
If yes, how could I get the csrf token since I don't use django templates (I'm using Vue separately).
If not, is it ok to completely delete the CSRF middleware from settings?
Thanks in advance.
django - Django REST JSONWebTokenAuthentication + Angular(未提供授权细节)
几天来,我一直试图让这个相当简单的身份验证设置工作。
我正在使用 Django REST 插件“django-rest-framework-jwt”进行 JSON Web 令牌身份验证。
卷曲 API 时,它按预期工作。
但是,当通过我的 Angular 应用程序发出请求时;我经常收到未经授权的错误,其中包含“未提供授权详细信息”的详细信息。但是,在抓取请求时,可以清楚地看到它存在(请求中的令牌是有效的,因为我在 CURL 中使用了它:
我正在通过我编写的拦截器注入身份验证标头;看起来像这样:
此外,JWT_AUTH 设置的设置定义如下:
框架设置如下:
对此有何建议?我不确定这里发生了什么。
编辑
网络选项卡中的请求/响应标头:
django - Django 用户名/密码和 api 密钥 JWT 身份验证
我有一些要求,我需要能够使用username/password
或使用 an对用户进行身份验证,api_key
并为这两种情况返回 JWT 令牌。
我使用用户名/密码的方法:
其中jwt_payload_handler
实现为:
我的问题之一是关键字 username 是否需要在有效负载中才能使令牌有效?
考虑到密钥与用户无关,在 api_key 的情况下,一个好的方法是什么?
如果提供的 api_key 正确,我应该创建一个将在有效负载中使用的默认用户吗?
有什么建议么?
python - 使用 django 和 JWT 在 N 分钟后重新登录
场景:我希望用户在N分钟后通过安全敏感区域时重新登录,例如当用户即将支付订单时,但他在1小时前登录,我想确定是他。这通过使用rest_framework_jwt
.
详细描述:
我最近一直在测试django
现代 Web 开发(所以,后端使用 rest-api)。但是,我遇到了一个尚未找到解决方案的问题。
在rest_framework_jwt
您设置身份验证类如下。
这将为通用目的做一个伟大的工作。但是,我希望用户在登录后 10 分钟进入带有敏感信息的区域时重新识别(重新登录),例如敏感信息可以是支付区域。因此,我想向 Authentication 类发送一个参数,告诉用户在一个合理的区域。
我认为可能的解决方案,但我还不知道该怎么做,是: The在使用 option 时rest_framework_jwt
创建变量。我可以向身份验证类发送一个标志来告诉当前视图是否是敏感区域,如果是这样并且用户在 10 多分钟前登录,我可以发送一条消息说用户需要重新登录才能继续.orig_iat
JWT_ALLOW_REFRESH
我不介意分叉rest_framework_jwt
项目并根据我的目的对其进行调整,但是我想知道如何将参数从视图发送到身份验证类(在本例中为:)rest_framework_jwt.authentication.JSONWebTokenAuthentication
。
另外,如果已经rest_framework_jwt
为这种情况做了一些事情,我想避免重新发明轮子。