django-rest-framework 令牌认证和注销

     2023-02-24     90

关键词:

【中文标题】django-rest-framework 令牌认证和注销【英文标题】:django-rest-framework Token Auth and logout 【发布时间】:2015-03-07 07:21:07 【问题描述】:

据了解,obtain_auth_token 视图用作登录功能。您提供凭据并取回令牌。什么会注销?我应该在注销时删除令牌吗?最佳做法是什么?

如果删除没问题,那么如何同时处理多个客户端。比如说,用户从移动设备上注销,但想在网络上保持登录状态。 Token 模型当前与 User 具有 OneToOne 关系。

请给我一些建议。谢谢

【问题讨论】:

【参考方案1】:

Django REST 框架提供的TokenAuthentication 旨在用作非常简单的令牌 身份验证。我的意思是,你得到了

将 API 使用者与用户联系起来的简单令牌 ...那个doesn't rotate by default ...那个doesn't expire by default ...在 API 使用者之间共享(单个令牌)

如果您正在寻找比这更高级的东西,您通常必须寻找不同的令牌身份验证方法。这可以像继承标准TokenAuthentication 类和视图(如链接)一样简单,但Token 模型不容易交换。这意味着将user 字段更改为ForeignKey,允许您为一个用户拥有多个令牌,并不容易实现。

幸运的是,Django REST framework does support other authentication methods,例如 OAuth 和 JSON Web Tokens,它们都支持用户的多个令牌。可以找到常见的认证类比较at this Stack Overflow answer。

【讨论】:

谢谢。最初我正在考虑扩展令牌,但现在你说这不是微不足道的,我会试试django-rest-framework-jwt。看起来很有希望。

Django-Rest-Framework 系统检查自定义 HTTP 标头(应用程序 - 令牌)

】Django-Rest-Framework系统检查自定义HTTP标头(应用程序-令牌)【英文标题】:Django-Rest-FrameworksystemtocheckcustomHTTPheader(application-token)【发布时间】:2020-04-1707:05:30【问题描述】:我使用Django和Django-rest-framework。我必须检查一个自定... 查看详情

如何使 DRF ( Django-REST-Framework) 令牌保持不变,使其在每次页面刷新后不会丢失?

】如何使DRF(Django-REST-Framework)令牌保持不变,使其在每次页面刷新后不会丢失?【英文标题】:HowtomaketheDRF(Django-REST-Framework)Tokenpersistsothatitdoesnotgetlostaftereachpagerefresh?【发布时间】:2019-12-2820:31:36【问题描述】:注意——我没有... 查看详情

如何在 django-rest-framework 中为 API 使用 TokenAuthentication

】如何在django-rest-framework中为API使用TokenAuthentication【英文标题】:HowtouseTokenAuthenticationforAPIindjango-rest-framework【发布时间】:2013-07-0718:26:11【问题描述】:我有一个django项目,使用django-rest-framework来创建api。想要使用基于令牌的... 查看详情

在视图集中创建的 Django-rest-framework 权限

】在视图集中创建的Django-rest-framework权限【英文标题】:Django-rest-frameworkpermissionsforcreateinviewset【发布时间】:2014-05-1017:03:02【问题描述】:我正在尝试创建一个RESTAPI并且卡在用户注册上:基本上我需要在注册之前获得访问令牌... 查看详情

RESTful API 的令牌认证:是不是应该定期更改令牌?

...时间】:2013-01-1202:51:36【问题描述】:我正在使用Django和django-rest-framework构建一个RESTfulAPI。作为身份验证机制 查看详情

如何保护刷新令牌?

】如何保护刷新令牌?【英文标题】:Howtosecurearefreshtoken?【发布时间】:2019-08-2411:05:47【问题描述】:我正在使用JWT对我的应用的用户进行身份验证。当用户登录时,他们会获得一个访问令牌和一个刷新令牌。为了保证刷新令... 查看详情

令牌的有效期是多久? Django REST 框架

...述】:我正在使用DjangoRestFramework令牌认证机制。http://www.django-rest-framework.org/api-guide/authentication#tokenauthentication它创建带有字段 查看详情

如何在传入的http请求标头中添加授权令牌[关闭]

...布时间】:2018-12-1806:44:24【问题描述】:我正在通过DRF(Django-rest-framework)实现令牌身份验证。到目前为止,我已经了解到,在令牌身份验证中,您将凭证与服务器已经为每个用户生成的令牌交换。然后,您将该令牌放 查看详情

CSRF 失败:CSRF 令牌丢失或不正确

...间】:2014-12-2516:16:10【问题描述】:我正在使用Django1.7和django-rest-framework。我创建了一个API,它返回一些JSON数据,并将其放入我的settings.pyREST_FRAMEWORK=\'DEFAULT_PERMISSION_CLASSES\': 查看详情

drf django rest auth 如何过期或删除令牌?

...布时间】:2016-10-1105:28:39【问题描述】:我正在尝试使用django-rest-framework和django-rest-authbytivix(linktodocumentation)实现身份验证。我使用djangoshell创建了一个用户,例如:fromdj 查看详情

在 VueJS 中存储身份验证令牌的最佳实践?

...发布时间】:2018-01-0503:41:25【问题描述】:我的后端是由Django-Rest-Framework提供的RESTAPI。我在前端使用VueJS,并试图找出进行身份验证/登录的最佳实践。这可能是很糟糕的代码,但它可以工作(在一个名为Login.vue的组件中):metho... 查看详情

在视图或消费者中使用 jwt 令牌验证并获取用户

...rconsumer【发布时间】:2018-02-2403:20:21【问题描述】:我将django-rest-framework用于RESTAPI。此外,对于JSONWeb令牌身份验证,我使用的是django-rest-framework-jwt。成功登录后,用户将获得一个令牌。我 查看详情

如何在 django 通道上使用令牌认证来认证 websocket?

...ngo-channels,但我们也需要进行身份验证。我们有一个使用django-rest-framework运行的r 查看详情

Django Rest 框架中的基于会话的与令牌身份验证

...时间】:2021-05-1023:02:03【问题描述】:DRF文档(https://www.django-rest-framework.org/api-guide/authentication/#authentication)指出令牌身份验证适用于客户端- 查看详情

使用身份验证令牌的 Axios 请求有时会在 Safari 中失败

...9.0)单页应用程序。axios请求使用令牌身份验证来访问运行django-rest-framework(3.6.4)和d 查看详情

jwt 令牌授权无法与自定义角色一起正常工作

...【发布时间】:2020-11-1711:27:04【问题描述】:我正在使用django-rest-framework和Django的默认auth_user表,我创建新表来管理新的user_role,并使用auth_user扩展它。id来管理更多角色,例如(teacher, 查看详情

断言错误:Django-rest-Framework

】断言错误:Django-rest-Framework【英文标题】:Assertionerrorat:Django-rest-Framework【发布时间】:2015-02-1313:36:02【问题描述】:我正在使用python3.4、Django1.7.1(书中考虑的版本)、Postgres9.3,我的IDE是Eclipse。我一直在研究“轻量级Django-E... 查看详情

记录对 django-rest-framework 的请求

】记录对django-rest-framework的请求【英文标题】:Loggingrequeststodjango-rest-framework【发布时间】:2013-03-1219:37:12【问题描述】:出于调试目的,我想使用Django的日志记录机制来记录每个“到达”django-rest-framework门口的传入请求。Djagno... 查看详情