跳到主要内容

refresh-token-auto-login

刷新token实现自动登录​

在上一节课中,我们介绍了如何获取用户的登录状态以及如何处理Token的过期失效。默认情况下,我们使用的是access Token,并将其过期时间设置为5分钟。然而,如果用户在使用网站时每隔5分钟就需要重新登录一次,这对用户体验来说是非常糟糕的。因此,我们可以通过另一种方式实现自动登录,即使用Refresh Token来刷新Token的过期时间。

Refresh Token的默认过期时间是一天。当access token过期时,我们可以通过发送一个刷新请求来获取新的Token。在登录成功之后,我们将此刷新令牌存储在本地(例如localStorage)中。当access Token过期时,我们取出这个刷新令牌,并使用axios发送一个刷新请求,请求的数据中包含这个刷新令牌。如果刷新请求成功,我们将得到一个新的access token,将新的Token存储在本地,并更新Token的过期时间。如果刷新请求失败(例如刷新令牌过期),则用户需要重新登录。

我们可以根据需求来配置Token的过期时间和刷新令牌的过期时间。在项目的设置中,我们可以通过以下步骤进行配置:

  1. 打开项目的Settings文件。
  2. 定义两个参数:Token的过期时间和刷新令牌的过期时间。通常我们使用datetime.timedelta来定义时间间隔。
  3. 将Token的过期时间和刷新令牌的过期时间设置为合适的值。
🔒 试读结束

继续阅读完整内容

以上为免费预览。前往「Django + Vue 全栈课程」,查看后续完整讲解、案例演示和配套资料。

查看课程详情