【问题标题】:Django rest framework json web token logout functiondjango rest框架json web token注销功能
【发布时间】:2018-04-18 04:19:54
【问题描述】:

首先,我对 django rest framework jwt 还是新手,所以如果我错了,请原谅我的愚蠢。

我想知道如何为 jwt 创建注销功能,因为当用户想要注销并切换帐户时,他们将需要此功能。

根据我在许多其他注销帖子中看到的内容, - 不需要注销功能,因为令牌未保存在服务器端,因此关闭和打开将导致必须再次登录。 - jwt 正在使用过期时间,因此它会在令牌过期时注销,前提是验证令牌设置为 True

但我想要的是有一个记住我的功能,用户在关闭并再次打开时将保持登录状态,因为其中一个建议是将验证令牌设置为 false 或将过期时间设置为几周。但是如果令牌过期时间还没有到达,那么用户如何注销呢?

由于我使用的是 jwt 和 djoser,djoser 的注销功能仅适用于 drf,不适用于 jwt。由于我也将 api 用于移动设备,因此用户在打开应用程序(假设他们第一次登录)时都会保持登录状态,例如 facebook 和许多其他应用程序。

请给我这方面的指导。谢谢

【问题讨论】:

标签: django api django-rest-framework token jwt


【解决方案1】:

理想情况下,您应该以无状态方式使用 JWT,这意味着没有会话(JWT 令牌有过期时间,过期后将失效,客户端需要实现一些机制来重新认证或扩展令牌)。鉴于此,您根本不需要注销。

【讨论】:

  • 如果用户想注销以登录另一个帐户怎么办?例如:在手机/移动设备上
  • @JinNiiSama 那么客户端应用程序应该丢弃JWT(注销)并通过登录为另一个帐户请求新的JWT。
  • 是的,@ARJMP 所说的
猜你喜欢
  • 2019-02-25
  • 1970-01-01
  • 2015-08-24
  • 2016-03-23
  • 2017-08-19
  • 2018-10-04
  • 1970-01-01
  • 2020-10-21
  • 2019-06-07
相关资源
最近更新 更多